clifford icon indicating copy to clipboard operation
clifford copied to clipboard

Allow running without numba installed?

Open eric-wieser opened this issue 4 years ago • 2 comments

It seems we can't run on pyiodide with numba around: https://github.com/pygae/clifford/issues/96#issuecomment-555491381

eric-wieser avatar Nov 19 '19 12:11 eric-wieser

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

hugohadfield avatar Nov 19 '19 13:11 hugohadfield

Some progress made using NUMBA_DISABLE_JIT, which at least lets us run without actually using LLVM, in #256.

eric-wieser avatar Mar 06 '20 11:03 eric-wieser