Skip to content
Joe Savage edited this page Nov 9, 2016 · 6 revisions

Q: What is Ne10?

A: Ne10 is a library of common useful functions that have been heavily optimized for ARM-based CPUs. These functions provide a consistent well tested behavior that can be easily incorporated into applications enabling developers to make the most of the ARM Architecture. Ne10 is usable as a 'drop and go' pre-built library or as a set of modular functions that can be incorporated in a more modular "pick and mix" form where binary size might be an issue.


Q: What OS does Ne10 Target?

A: The primary OS targeted is Android, although the library is tested with Linaro Linux. As of June of 2013, an issue with the makefiles for iOS has been fixed.


Q: What is the primary language API for the Ne10?

A: The primary API provided at this time is C. Other language bindings such as C++ may become available too.


Q: Ne10 is Free Software?

A: Ne10 is free as in “Free Beer”: It is available to you for free. Ne10 is also free as in “Free Speech”: You may use the code, learn from the code, share the code, share your knowledge of what you have learned from the code and of course improve the code as you wish.


Q: What Open Source License applies to Ne10?

A: Ne10 is licensed under the BSD 3-clause


Q: What is the Project Ne10?

A: Project Ne10 is the Open Source Project that hosts development of the Ne10 Library. It is lives here on github. The project hosts contributions by ARM and anyone else who wishes to contribute.


Q: Where can I discuss Ne10, request new features or report a potential bug?

A: For any of these items please open an “issue” on the github.


Q: What additions does ARM have planned in the future for Ne10? Does it have a Roadmap?

A: Below are some of the areas the ARM guys are considering. If you think you can help with them please the ARM guys know. If you want to contribute code to cover other areas that’s good too. (See “Who can contribute?”)

  • Simple, common DSP operations and DSP routines

  • Media and data codec routines

  • Functions likely to be useful in support of 3D games

  • Patches to other libraries

  • Multi-core aware higher level wrappers

Suggestions and participation welcome!


Q: Who can contribute?

A: Anyone! Simply fork the repository, add your functions making sure to match the established coding style and then request a merge.


Q: How can I get help if I have problems about using NE10 library?

A: Please open an “issue” on the github requesting assistance and a member of the community may be able to help you.


Q: There aren’t many functions in Ne10 yet. When will more become available?

A: ARM wanted to launch Project Ne10 into the world as soon as there was something that developers could find useful. The ARM guys have more functions that they will add over the next few months. As the project evolves we hope to see requests for future functions and contributions from other members of Project Ne10.


Q: How do release version numbers work?

A: We are using X.Y.Z (major.minor.fix) release numbers.

  1. If we add a new functionality or fix a serious bug, the "fix" will bump. e.g. “0.0.1”.
  2. If we add some meaningful APIs, such as float/int32/int16 FFT or new image processing, pysics or math APIs, the version will be changed to “0.2.0”.
  3. If we add a new meaningful module such as BLAS, the version will be changed to “1.0.0”.