Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
1.5
Description
Numba is a jit compiler for numerical Python code which uses LLVM (Apple - sponsored compiler infrastructure, also used by Julia) to provide native speed for naïve for loop numerical operations on arrays.
The performance is competitive with hand written C++ while being written (and debuggable) in Python. Being able to use Numba would likely avoid the need for compiled extension codes to accelerate the simulator. Mihai 's history speedup for example would no longer require a Cython extension but instead Numba dep.
License is BSD.
The main issue is that the package is not trivial to install: while it's provided with conda, pip install requires llvm etc. It also adds LLVM shared libraries which are several MB or more.
The bottom line is that we could likely avoid c or c++ extensions with such a dependency with the added cost of larger distribution. If more specific benchmarking on performance and added library size would be useful, I can do that.
Gliffy Diagrams
Attachments
Issue Links
- relates to
-
TVB-2074 Upgrade TVB Python & 3rd party libs
-
- Closed
-