pyopencl icon indicating copy to clipboard operation
pyopencl copied to clipboard

Switch from pybind11 to nanobind

Open inducer opened this issue 3 years ago • 1 comments

Surprisingly, this is mostly working now. :)

To do/Needs:

  • [x] ~~Pass location of numpy headers to CMake~~ (found via CMake now)
  • [x] ~~Pass OpenCL config info to CMake~~ (found via CMake now)
  • [x] Actually fix the wrapper :slightly_smiling_face:
    • [x] pycl test_wrapper.py 'test_mempool(cl._csc)' crashes
    • [x] PYOPENCL_TEST=port python test_array.py "test_mem_pool_with_arrays(cl._csc)" crashes
    • [x] Doesn't make it through the meshmode test suite
  • [x] https://github.com/wjakob/nanobind/pull/38
  • [x] ~~https://github.com/wjakob/nanobind/pull/23~~
  • [x] ~~https://github.com/wjakob/nanobind/pull/24~~
  • [x] ~~See if the _enqueue trampoline can be avoided~~ (doesn't matter for loopy enqueues, that goes straight to enqueue_nd_range_kernel)
  • [x] ~~https://github.com/wjakob/nanobind/pull/71~~
  • [ ] Expose SVM-as-buffer
  • [ ] Investigate reference leaks after tests
  • [ ] Pass CI
  • [ ] Check loopy CI. Currently, it requires weak references to cl.Context, which nanobind doesn't currently allow.
  • [ ] Work around https://github.com/wjakob/nanobind/pull/72

inducer avatar Mar 29 '22 17:03 inducer

The infinite recursions appear to be https://github.com/wjakob/nanobind/pull/72.

inducer avatar Oct 02 '22 14:10 inducer