clifford
clifford copied to clipboard
Allow running without numba installed?
It seems we can't run on pyiodide with numba around: https://github.com/pygae/clifford/issues/96#issuecomment-555491381
I think we should allow running without numba installed It would put us in a much better way to do several things we cannot currently do (just some vague ideas):
- Use clifford with pypy
- Use clifford with autodiff libraries
- Use clifford in the browser with pyiodide
- Mix symbolic and numerical code more easily
- Swap out numba for other jit compilers/other acceleration methods
- Try out cupy with clifford
Obviously, there are downsides:
- Unless clifford installs numba by default the user will have to do more steps to get fast code
- We may have some breaking changes to functionality where numba bakes captured context into closures and vanilla python does not
Overall I would say that it is worth doing, especially if we can come up with a way of having numba running by default and the user can choose to disable it. It would also be worth doing packages of the numba-free setup to allow it to get pulled more easily where needed
Some progress made using NUMBA_DISABLE_JIT
, which at least lets us run without actually using LLVM, in #256.