inducer / pyopencl

OpenCL integration for Python, plus shiny features
http://mathema.tician.de/software/pyopencl
Other
1.05k stars 240 forks source link

Setup build wheels using cibuildwheel for all systems #559

Closed Czaki closed 2 years ago

Czaki commented 2 years ago

Building wheel on Linux for manylinux and pypy. Configuration for muslinux is prepared, but not enabled because lack of OpenCL bindings in the stable channels (if there is a need for such wheels then I think it will be possible to build it from the source). Tests on Linux is disabled because of a lack of OpenCL compatible device on the host system.

For macOS, pypy wheels are disabled because of the problem with building NumPy from the source

For windows, only 64 bits wheels are built because 32 bits build wheels fail with linker errors. Tests are disabled, One needs to test weels manually on the device with openCL.

Building wheel procedure for MacOS and Windows is based on conda-forge one.

close #488

haesleinhuepf commented 2 years ago

Hi @Czaki, hi @inducer ,

I've just tested if the wheels in this artifact install and work on one of my Windows machines. I testet python 3.9 and 3.10: pyopencl-2022.1.3-cp39-cp39-win_amd64.whl pyopencl-2022.1.3-cp310-cp310-win_amd64.whl

Both work nicely. I'm so happy to see this happening here! It's a huge relief. Thanks so much for working on this!

Best, Robert

inducer commented 2 years ago

Tried a wheel, seems to work for me. I think this is a better way than what we had, with far better platform coverage. So let's go for it. Thanks @Czaki for working on this!

inducer commented 2 years ago

Quite possibly I should roll a release to try all this out, so let's do that. :)

inducer commented 2 years ago

https://github.com/inducer/pyopencl/releases/tag/v2022.1.4

inducer commented 2 years ago

Looks like that worked:

https://pypi.org/project/pyopencl/2022.1.4/#files

:tada: Thanks again!

haesleinhuepf commented 2 years ago

I also tried this morning and I'm super happy that this works now. Thanks everyone! 🥳