pyopencl
pyopencl copied to clipboard
Switch from pybind11 to nanobind
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]
- [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
_enqueuetrampoline can be avoided~~ (doesn't matter for loopy enqueues, that goes straight toenqueue_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
The infinite recursions appear to be https://github.com/wjakob/nanobind/pull/72.