pyopencl 2024.2.2__cp311-cp311-macosx_11_0_arm64.whl → 2024.2.4__cp311-cp311-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyopencl might be problematic. Click here for more details.

Files changed (102) hide show
  1. pyopencl/__init__.py +16 -4
  2. pyopencl/_cl.cpython-311-darwin.so +0 -0
  3. pyopencl/algorithm.py +3 -1
  4. pyopencl/bitonic_sort.py +2 -0
  5. pyopencl/characterize/__init__.py +23 -0
  6. pyopencl/compyte/.git +1 -0
  7. pyopencl/compyte/.github/workflows/autopush.yml +21 -0
  8. pyopencl/compyte/.github/workflows/ci.yml +30 -0
  9. pyopencl/compyte/.gitignore +21 -0
  10. pyopencl/compyte/ndarray/Makefile +31 -0
  11. pyopencl/compyte/ndarray/gpu_ndarray.h +35 -0
  12. pyopencl/compyte/ndarray/pygpu_language.h +207 -0
  13. pyopencl/compyte/ndarray/pygpu_language_cuda.cu +622 -0
  14. pyopencl/compyte/ndarray/pygpu_language_opencl.cpp +317 -0
  15. pyopencl/compyte/ndarray/pygpu_ndarray.cpp +1546 -0
  16. pyopencl/compyte/ndarray/pygpu_ndarray.h +71 -0
  17. pyopencl/compyte/ndarray/pygpu_ndarray_object.h +232 -0
  18. pyopencl/compyte/setup.cfg +9 -0
  19. pyopencl/tools.py +60 -56
  20. pyopencl/version.py +7 -3
  21. {pyopencl-2024.2.2.dist-info → pyopencl-2024.2.4.dist-info}/METADATA +14 -14
  22. pyopencl-2024.2.4.dist-info/RECORD +59 -0
  23. {pyopencl-2024.2.2.dist-info → pyopencl-2024.2.4.dist-info}/WHEEL +1 -1
  24. pyopencl-2024.2.2.data/data/CITATION.cff +0 -74
  25. pyopencl-2024.2.2.data/data/CMakeLists.txt +0 -83
  26. pyopencl-2024.2.2.data/data/Makefile.in +0 -21
  27. pyopencl-2024.2.2.data/data/README.rst +0 -70
  28. pyopencl-2024.2.2.data/data/README_SETUP.txt +0 -34
  29. pyopencl-2024.2.2.data/data/aksetup_helper.py +0 -1013
  30. pyopencl-2024.2.2.data/data/configure.py +0 -6
  31. pyopencl-2024.2.2.data/data/contrib/cldis.py +0 -91
  32. pyopencl-2024.2.2.data/data/contrib/fortran-to-opencl/README +0 -29
  33. pyopencl-2024.2.2.data/data/contrib/fortran-to-opencl/translate.py +0 -1441
  34. pyopencl-2024.2.2.data/data/contrib/pyopencl.vim +0 -84
  35. pyopencl-2024.2.2.data/data/doc/Makefile +0 -23
  36. pyopencl-2024.2.2.data/data/doc/algorithm.rst +0 -214
  37. pyopencl-2024.2.2.data/data/doc/array.rst +0 -305
  38. pyopencl-2024.2.2.data/data/doc/conf.py +0 -26
  39. pyopencl-2024.2.2.data/data/doc/howto.rst +0 -105
  40. pyopencl-2024.2.2.data/data/doc/index.rst +0 -137
  41. pyopencl-2024.2.2.data/data/doc/make_constants.py +0 -561
  42. pyopencl-2024.2.2.data/data/doc/misc.rst +0 -885
  43. pyopencl-2024.2.2.data/data/doc/runtime.rst +0 -51
  44. pyopencl-2024.2.2.data/data/doc/runtime_const.rst +0 -30
  45. pyopencl-2024.2.2.data/data/doc/runtime_gl.rst +0 -78
  46. pyopencl-2024.2.2.data/data/doc/runtime_memory.rst +0 -527
  47. pyopencl-2024.2.2.data/data/doc/runtime_platform.rst +0 -184
  48. pyopencl-2024.2.2.data/data/doc/runtime_program.rst +0 -364
  49. pyopencl-2024.2.2.data/data/doc/runtime_queue.rst +0 -182
  50. pyopencl-2024.2.2.data/data/doc/subst.rst +0 -36
  51. pyopencl-2024.2.2.data/data/doc/tools.rst +0 -4
  52. pyopencl-2024.2.2.data/data/doc/types.rst +0 -42
  53. pyopencl-2024.2.2.data/data/examples/black-hole-accretion.py +0 -2227
  54. pyopencl-2024.2.2.data/data/examples/demo-struct-reduce.py +0 -75
  55. pyopencl-2024.2.2.data/data/examples/demo.py +0 -39
  56. pyopencl-2024.2.2.data/data/examples/demo_array.py +0 -32
  57. pyopencl-2024.2.2.data/data/examples/demo_array_svm.py +0 -37
  58. pyopencl-2024.2.2.data/data/examples/demo_elementwise.py +0 -34
  59. pyopencl-2024.2.2.data/data/examples/demo_elementwise_complex.py +0 -53
  60. pyopencl-2024.2.2.data/data/examples/demo_mandelbrot.py +0 -183
  61. pyopencl-2024.2.2.data/data/examples/demo_meta_codepy.py +0 -56
  62. pyopencl-2024.2.2.data/data/examples/demo_meta_template.py +0 -55
  63. pyopencl-2024.2.2.data/data/examples/dump-performance.py +0 -38
  64. pyopencl-2024.2.2.data/data/examples/dump-properties.py +0 -86
  65. pyopencl-2024.2.2.data/data/examples/gl_interop_demo.py +0 -84
  66. pyopencl-2024.2.2.data/data/examples/gl_particle_animation.py +0 -218
  67. pyopencl-2024.2.2.data/data/examples/ipython-demo.ipynb +0 -203
  68. pyopencl-2024.2.2.data/data/examples/median-filter.py +0 -99
  69. pyopencl-2024.2.2.data/data/examples/n-body.py +0 -1070
  70. pyopencl-2024.2.2.data/data/examples/narray.py +0 -37
  71. pyopencl-2024.2.2.data/data/examples/noisyImage.jpg +0 -0
  72. pyopencl-2024.2.2.data/data/examples/pi-monte-carlo.py +0 -1166
  73. pyopencl-2024.2.2.data/data/examples/svm.py +0 -82
  74. pyopencl-2024.2.2.data/data/examples/transpose.py +0 -229
  75. pyopencl-2024.2.2.data/data/pytest.ini +0 -3
  76. pyopencl-2024.2.2.data/data/src/bitlog.cpp +0 -51
  77. pyopencl-2024.2.2.data/data/src/bitlog.hpp +0 -83
  78. pyopencl-2024.2.2.data/data/src/clinfo_ext.h +0 -134
  79. pyopencl-2024.2.2.data/data/src/mempool.hpp +0 -444
  80. pyopencl-2024.2.2.data/data/src/pyopencl_ext.h +0 -77
  81. pyopencl-2024.2.2.data/data/src/tools.hpp +0 -90
  82. pyopencl-2024.2.2.data/data/src/wrap_cl.cpp +0 -61
  83. pyopencl-2024.2.2.data/data/src/wrap_cl.hpp +0 -5853
  84. pyopencl-2024.2.2.data/data/src/wrap_cl_part_1.cpp +0 -369
  85. pyopencl-2024.2.2.data/data/src/wrap_cl_part_2.cpp +0 -702
  86. pyopencl-2024.2.2.data/data/src/wrap_constants.cpp +0 -1274
  87. pyopencl-2024.2.2.data/data/src/wrap_helpers.hpp +0 -213
  88. pyopencl-2024.2.2.data/data/src/wrap_mempool.cpp +0 -738
  89. pyopencl-2024.2.2.data/data/test/add-vectors-32.spv +0 -0
  90. pyopencl-2024.2.2.data/data/test/add-vectors-64.spv +0 -0
  91. pyopencl-2024.2.2.data/data/test/empty-header.h +0 -1
  92. pyopencl-2024.2.2.data/data/test/test_algorithm.py +0 -1180
  93. pyopencl-2024.2.2.data/data/test/test_array.py +0 -2392
  94. pyopencl-2024.2.2.data/data/test/test_arrays_in_structs.py +0 -100
  95. pyopencl-2024.2.2.data/data/test/test_clmath.py +0 -529
  96. pyopencl-2024.2.2.data/data/test/test_clrandom.py +0 -75
  97. pyopencl-2024.2.2.data/data/test/test_enqueue_copy.py +0 -271
  98. pyopencl-2024.2.2.data/data/test/test_wrapper.py +0 -1565
  99. pyopencl-2024.2.2.dist-info/LICENSE +0 -282
  100. pyopencl-2024.2.2.dist-info/RECORD +0 -123
  101. pyopencl-2024.2.2.dist-info/top_level.txt +0 -1
  102. {pyopencl-2024.2.2.data/data → pyopencl-2024.2.4.dist-info/licenses}/LICENSE +0 -0
@@ -1,74 +0,0 @@
1
- cff-version: 1.2.0
2
- message: "If you use this software, please cite it as below."
3
- authors:
4
- - family-names: "Kloeckner"
5
- given-names: "Andreas"
6
- orcid: "https://orcid.org/0000-0003-1228-519X"
7
- - family-names: "Yu"
8
- given-names: "Yichao"
9
- - family-names: "Wala"
10
- given-names: "Matt"
11
- - family-names: "Fernando"
12
- given-names: "Isuru"
13
- - family-names: "Bencun"
14
- given-names: "Marko"
15
- - family-names: "Kulkarni"
16
- given-names: "Kaushik"
17
- - family-names: "Diener"
18
- given-names: "Matthias"
19
- - family-names: "Gao"
20
- given-names: "Hao"
21
- - family-names: "Fikl"
22
- given-names: "Alex"
23
- - family-names: "Weiner"
24
- given-names: "Zach"
25
- - family-names: "Weigert"
26
- given-names: "Martin"
27
- - family-names: "Palmer"
28
- given-names: "Rebecca"
29
- - family-names: "Latham"
30
- given-names: "Shane"
31
- - family-names: "Magno"
32
- given-names: "Gonçalo"
33
- - family-names: "Fuller"
34
- given-names: "Henry"
35
- - family-names: "Mackenzie"
36
- given-names: "Jonathan"
37
- - family-names: "Niarchos"
38
- given-names: "Sotiris"
39
- - family-names: "Gill"
40
- given-names: "Shahzaib"
41
- - family-names: "Gohlke"
42
- given-names: "Christoph"
43
- - family-names: "Bhosale"
44
- given-names: "Aditya"
45
- - family-names: "Rothberg"
46
- given-names: "Alex"
47
- - family-names: "Ey"
48
- given-names: "Emanuel"
49
- - family-names: "Rapp"
50
- given-names: "Holger"
51
- - family-names: "van der Walt"
52
- given-names: "Stefan"
53
- # Removed pending resolution of https://github.com/zenodo/zenodo/issues/2343
54
- # - alias: "gw0"
55
- - family-names: "Thalhammer"
56
- given-names: "Gregor"
57
- - family-names: "Kieffer"
58
- given-names: "Jerome"
59
- - family-names: "Poliarnyi"
60
- given-names: "Nikolai"
61
- - family-names: "Bollinger"
62
- given-names: "Drew"
63
- - family-names: "Nitz"
64
- given-names: "Alex"
65
- - family-names: "Bokota"
66
- given-names: "Grzegorz"
67
- orcid: 'https://orcid.org/0000-0002-5470-1676'
68
-
69
- title: "PyOpenCL"
70
- version: 2022.1.3
71
- doi: 10.5281/zenodo.6533956
72
- date-released: 2022-03-10
73
- url: "https://github.com/inducer/pyopencl"
74
- license: MIT
@@ -1,83 +0,0 @@
1
- cmake_minimum_required(VERSION 3.17...3.22)
2
-
3
- project(pyopencl)
4
-
5
- if (NOT SKBUILD)
6
- message(FATAL_ERROR "This CMake file should be executed via scikit-build. "
7
- "Please run\n$ pip install .")
8
- endif()
9
-
10
- # {{{ Constrain FindPython to find the Python version used by scikit-build
11
-
12
- if (SKBUILD)
13
- message(STATUS "Python_VERSION ${PYTHON_VERSION_STRING}")
14
- message(STATUS "Python_EXECUTABLE ${PYTHON_EXECUTABLE}")
15
- message(STATUS "Python_INCLUDE_DIR ${PYTHON_INCLUDE_DIR}")
16
- message(STATUS "Python_LIBRARIES ${PYTHON_LIBRARY}")
17
- set(Python_VERSION "${PYTHON_VERSION_STRING}")
18
- set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}")
19
- set(Python_INCLUDE_DIR "${PYTHON_INCLUDE_DIR}")
20
- set(Python_LIBRARIES "${PYTHON_LIBRARY}")
21
- endif()
22
- find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
23
-
24
- # }}}
25
-
26
- # {{{ Detect nanobind and import it
27
-
28
- execute_process(
29
- COMMAND
30
- "${PYTHON_EXECUTABLE}" -c "import nanobind; print(nanobind.cmake_dir())"
31
- OUTPUT_VARIABLE _tmp_dir
32
- OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ECHO STDOUT)
33
- list(APPEND CMAKE_PREFIX_PATH "${_tmp_dir}")
34
-
35
- # }}}
36
-
37
- link_directories(${PYOPENCL_CL_LIB_DIRS})
38
-
39
- find_package(nanobind CONFIG REQUIRED)
40
- find_package(NumPy REQUIRED)
41
- find_package(OpenCL REQUIRED)
42
-
43
- include_directories(${OpenCL_INCLUDE_DIR} ${NumPy_INCLUDE_DIRS})
44
-
45
- nanobind_add_module(
46
- _cl
47
- NB_STATIC # Build static libnanobind (the extension module itself remains a shared library)
48
- src/wrap_constants.cpp
49
- src/wrap_cl.cpp
50
- src/wrap_cl_part_1.cpp
51
- src/wrap_cl_part_2.cpp
52
- src/wrap_mempool.cpp
53
- src/bitlog.cpp
54
- )
55
-
56
- target_link_libraries(_cl PRIVATE ${OpenCL_LIBRARY})
57
-
58
- target_compile_definitions(_cl
59
- PRIVATE
60
- PYGPU_PACKAGE=pyopencl
61
- PYGPU_PYOPENCL
62
- )
63
-
64
- if (PYOPENCL_PRETEND_CL_VERSION)
65
- target_compile_definitions(
66
- _cl PRIVATE PYOPENCL_PRETEND_CL_VERSION=${PYOPENCL_PRETEND_CL_VERSION})
67
- endif()
68
-
69
- if (PYOPENCL_ENABLE_GL)
70
- target_compile_definitions(_cl PRIVATE HAVE_GL=1)
71
- endif()
72
-
73
- if (PYOPENCL_TRACE)
74
- target_compile_definitions(_cl PRIVATE PYOPENCL_TRACE=1)
75
- endif()
76
-
77
- if (PYOPENCL_USE_SHIPPED_EXT)
78
- target_compile_definitions(_cl PRIVATE PYOPENCL_USE_SHIPPED_EXT=1)
79
- endif()
80
-
81
- install(TARGETS _cl LIBRARY DESTINATION .)
82
-
83
- # vim: foldmethod=marker:sw=2
@@ -1,21 +0,0 @@
1
- .PHONY : all install clean tags dist userdoc devdoc
2
-
3
- all: tags
4
- ${PYTHON_EXE} setup.py build
5
-
6
- dist:
7
- ${PYTHON_EXE} setup.py sdist
8
-
9
- install: tags
10
- ${PYTHON_EXE} setup.py install
11
-
12
- clean:
13
- rm -Rf build
14
- rm -f tags
15
-
16
- tags:
17
- ctags -R src || true
18
-
19
- tests:
20
- echo "running tests"
21
- find ./test -type f -name "*.py" -exec python {} \;
@@ -1,70 +0,0 @@
1
- PyOpenCL: Pythonic Access to OpenCL, with Arrays and Algorithms
2
- ===============================================================
3
-
4
- .. |badge-gitlab-ci| image:: https://gitlab.tiker.net/inducer/pyopencl/badges/main/pipeline.svg
5
- :alt: Gitlab Build Status
6
- :target: https://gitlab.tiker.net/inducer/pyopencl/commits/main
7
- .. |badge-github-ci| image:: https://github.com/inducer/pyopencl/workflows/CI/badge.svg?branch=main&event=push
8
- :alt: Github Build Status
9
- :target: https://github.com/inducer/pyopencl/actions?query=branch%3Amain+workflow%3ACI+event%3Apush
10
- .. |badge-pypi| image:: https://badge.fury.io/py/pyopencl.svg
11
- :alt: Python Package Index Release Page
12
- :target: https://pypi.org/project/pyopencl/
13
- .. |badge-zenodo| image:: https://zenodo.org/badge/1575307.svg
14
- :alt: Zenodo DOI for latest release
15
- :target: https://zenodo.org/badge/latestdoi/1575307
16
-
17
- |badge-gitlab-ci| |badge-github-ci| |badge-pypi| |badge-zenodo|
18
-
19
- PyOpenCL lets you access GPUs and other massively parallel compute
20
- devices from Python. It tries to offer computing goodness in the
21
- spirit of its sister project `PyCUDA <https://mathema.tician.de/software/pycuda>`__:
22
-
23
- * Object cleanup tied to lifetime of objects. This idiom, often
24
- called `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`__
25
- in C++, makes it much easier to write correct, leak- and
26
- crash-free code.
27
-
28
- * Completeness. PyOpenCL puts the full power of OpenCL's API at
29
- your disposal, if you wish. Every obscure ``get_info()`` query and
30
- all CL calls are accessible.
31
-
32
- * Automatic Error Checking. All CL errors are automatically
33
- translated into Python exceptions.
34
-
35
- * Speed. PyOpenCL's base layer is written in C++, so all the niceties
36
- above are virtually free.
37
-
38
- * Helpful and complete `Documentation <https://documen.tician.de/pyopencl>`__
39
- as well as a `Wiki <https://wiki.tiker.net/PyOpenCL>`__.
40
-
41
- * Liberal license. PyOpenCL is open-source under the
42
- `MIT license <https://en.wikipedia.org/wiki/MIT_License>`__
43
- and free for commercial, academic, and private use.
44
-
45
- * Broad support. PyOpenCL was tested and works with Apple's, AMD's, and Nvidia's
46
- CL implementations.
47
-
48
- Simple 4-step `install instructions <https://documen.tician.de/pyopencl/misc.html#installation>`__
49
- using Conda on Linux and macOS (that also install a working OpenCL implementation!)
50
- can be found in the `documentation <https://documen.tician.de/pyopencl/>`__.
51
-
52
- What you'll need if you do *not* want to use the convenient instructions above and
53
- instead build from source:
54
-
55
- * g++/clang new enough to be compatible with nanobind (specifically, full support of C++17 is needed)
56
- * `numpy <https://numpy.org>`__, and
57
- * an OpenCL implementation. (See this `howto <https://wiki.tiker.net/OpenCLHowTo>`__
58
- for how to get one.)
59
-
60
- Links
61
- -----
62
-
63
- * `Documentation <https://documen.tician.de/pyopencl>`__
64
- (read how things work)
65
- * `Python package index <https://pypi.python.org/pypi/pyopencl>`__
66
- (download releases, including binary wheels for Linux, macOS, Windows)
67
- * `Conda Forge <https://anaconda.org/conda-forge/pyopencl>`__
68
- (download binary packages for Linux, macOS, Windows)
69
- * `Github <https://github.com/inducer/pyopencl>`__
70
- (get latest source code, file bugs)
@@ -1,34 +0,0 @@
1
- Hi, welcome.
2
-
3
- This Python package uses aksetup for installation, which means that
4
- installation should be easy and quick.
5
-
6
- If you don't want to continue reading, just try the regular
7
-
8
- ./configure.py --help
9
- ./configure.py --some-options
10
- make
11
- sudo make install
12
-
13
- That should do the trick. (By the way: If a config option says "several ok",
14
- then you may specify several values, separated by commas.)
15
-
16
- aksetup also supports regular distutils installation, without using
17
- configure:
18
-
19
- python setup.py build
20
- sudo python setup.py install
21
-
22
- In this case, configuration is obtained from files in this order:
23
-
24
- /etc/aksetup-defaults.py
25
- $HOME/.aksetup-defaults.py
26
- $PACKAGEDIR/siteconf.py
27
-
28
- Once you've run configure, you can copy options from your siteconf.py file to
29
- one of these files, and you won't ever have to configure them again manually.
30
- In fact, you may pass the options "--update-user" and "--update-global" to
31
- configure, and it will automatically update these files for you.
32
-
33
- This is particularly handy if you want to perform an unattended or automatic
34
- installation via easy_install.