目次
PyOpenCL のインストール
ここでは、以下の CPU および GPU を使用してベンチマークを行った。
- AMD® GPU Radeon HD 5870
- AMD® CPU Phenom™ II X6 1100T Processor
- Intel® GPU HD Graphics 4000
- Intel® CPU Core™ i7-3517U CPU @ 1.90GHz
- NVIDIA® GPU GeForce GT 640M
- NVIDIA® Tesla® T4
本家: Home - pyopencl 2021.2.6 documentation
OpenCL本家: OpenCL - The Open Standard for Parallel Programming of Heterogeneous Systems
OpenCL 開発環境
OpenCL を利用するには OS プラットフォームに関係なく、OpenCL 開発環境構築 が必要である。
Windows
PyOpenCL をインストールするには、Microsoft Visual Studio、および、OpenCL 開発環境構築 が必要である。
PyOpenCL 仮想環境の作成を行う。(任意)
$ python -m venv py38opencl $ . py38opencl\Scripts\activate (py38opencl) $ python -m pip install --upgrade pip Collecting pip Downloading pip-20.2.3-py2.py3-none-any.whl (1.5 MB) |████████████████████████████████| 1.5 MB 656 kB/s Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 20.1.1 Uninstalling pip-20.1.1: Successfully uninstalled pip-20.1.1 Successfully installed pip-20.2.3
pybind11、Mako をインストールする。
> pip install pybind11 mako Collecting pybind11 Downloading pybind11-2.5.0-py2.py3-none-any.whl (296 kB) |████████████████████████████████| 296 kB 652 kB/s Collecting mako Downloading Mako-1.1.3-py2.py3-none-any.whl (75 kB) |████████████████████████████████| 75 kB 414 kB/s Collecting MarkupSafe>=0.9.2 Downloading MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl (16 kB) Installing collected packages: pybind11, MarkupSafe, mako Successfully installed MarkupSafe-1.1.1 mako-1.1.3 pybind11-2.5.0
PyOpenCL をインストールする。
> pip install pyopencl
Collecting pyopencl Downloading pyopencl-2020.2.2.tar.gz (352 kB) |████████████████████████████████| 352 kB 544 kB/s Collecting numpy Using cached numpy-1.19.2-cp38-cp38-win_amd64.whl (13.0 MB) Collecting pytools>=2017.6 Downloading pytools-2020.4.tar.gz (67 kB) |████████████████████████████████| 67 kB 828 kB/s Collecting decorator>=3.2.0 Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Collecting appdirs>=1.4.0 Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting six>=1.8.0 Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Using legacy 'setup.py install' for pyopencl, since package 'wheel' is not installed. Using legacy 'setup.py install' for pytools, since package 'wheel' is not installed. Installing collected packages: numpy, decorator, appdirs, six, pytools, pyopencl Running setup.py install for pytools ... done Running setup.py install for pyopencl ... done Successfully installed appdirs-1.4.4 decorator-4.4.2 numpy-1.19.2 pyopencl-2020.2.2 pytools-2020.4 six-1.15.0
OpenCL ベンチマーク
OpenCL のベンチマークには以下のプログラムを使用しました。
https://github.com/stefanv/PyOpenCL/blob/master/examples/benchmark-all.py
Python3 用に修正したもの
- benchmark-all.py
# example provided by Roger Pau Monn'e import pyopencl as cl import numpy import numpy.linalg as la import datetime from time import time a = numpy.random.rand(1000).astype(numpy.float32) b = numpy.random.rand(1000).astype(numpy.float32) c_result = numpy.empty_like(a) # Speed in normal CPU usage time1 = time() for i in range(1000): for j in range(1000): c_result[i] = a[i] + b[i] c_result[i] = c_result[i] * (a[i] + b[i]) c_result[i] = c_result[i] * (a[i] / 2.0) time2 = time() print("Execution time of test without OpenCL: ", time2 - time1, "s") for platform in cl.get_platforms(): for device in platform.get_devices(): print("===============================================================") print("Platform name:", platform.name) print("Platform profile:", platform.profile) print("Platform vendor:", platform.vendor) print("Platform version:", platform.version) print("---------------------------------------------------------------") print("Device name:", device.name) print("Device type:", cl.device_type.to_string(device.type)) print("Device memory: ", device.global_mem_size//1024//1024, 'MB') print("Device max clock speed:", device.max_clock_frequency, 'MHz') print("Device compute units:", device.max_compute_units) # Simnple speed test ctx = cl.Context([device]) queue = cl.CommandQueue(ctx, properties=cl.command_queue_properties.PROFILING_ENABLE) mf = cl.mem_flags a_buf = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=a) b_buf = cl.Buffer(ctx, mf.READ_ONLY | mf.COPY_HOST_PTR, hostbuf=b) dest_buf = cl.Buffer(ctx, mf.WRITE_ONLY, b.nbytes) prg = cl.Program(ctx, """ __kernel void sum(__global const float *a, __global const float *b, __global float *c) { int loop; int gid = get_global_id(0); for(loop=0; loop<1000;loop++) { c[gid] = a[gid] + b[gid]; c[gid] = c[gid] * (a[gid] + b[gid]); c[gid] = c[gid] * (a[gid] / 2.0); } } """).build() exec_evt = prg.sum(queue, a.shape, None, a_buf, b_buf, dest_buf) exec_evt.wait() elapsed = 1e-9*(exec_evt.profile.end - exec_evt.profile.start) #print("Execution time of test: %g s" % elapsed) print("Execution time of test: %.10f s" % elapsed) c = numpy.empty_like(a) #cl.enqueue_read_buffer(queue, dest_buf, c).wait() cl.enqueue_copy(queue, c, dest_buf) error = 0 for i in range(1000): if c[i] != c_result[i]: error = 1 if error: print("Results doesn't match!!") else: print("Results OK")
MGC 開発マシン
TDP: 188W FLOPS: 2.72 TFLOPS GPU Clock: 850 MHz Memory Clock: 1200 MHz Shading Units: 1400
AMD Phenom(™) II X6 1100T Processor, Black Edition 3.30GHz
TDP: 125W FLOPS: 79.2 GFLOPS CPU Clock: 3.30 GHz
※FLOPS は理論値(4 FLOPS/Clock × 3.3GHz × 6コア)
> python benchmark-all.py Execution time of test without OpenCL: 9.64494013786316 s =============================================================== Platform name: AMD Accelerated Parallel Processing Platform profile: FULL_PROFILE Platform vendor: Advanced Micro Devices, Inc. Platform version: OpenCL 2.0 AMD-APP (1800.11) --------------------------------------------------------------- Device name: Cypress Device type: GPU Device memory: 1024 MB Device max clock speed: 850 MHz Device compute units: 20 Execution time of test: 0.0000072220 s Results OK =============================================================== Platform name: AMD Accelerated Parallel Processing Platform profile: FULL_PROFILE Platform vendor: Advanced Micro Devices, Inc. Platform version: OpenCL 2.0 AMD-APP (1800.11) --------------------------------------------------------------- Device name: AMD Phenom(tm) II X6 1100T Processor Device type: CPU Device memory: 16382 MB Device max clock speed: 3311 MHz Device compute units: 6 Execution time of test: 0.0010633330 s Results OK
マウスコンピュータ LB-L561S
TDP: 32 W FLOPS: 480 GFLOPS GPU Clock: 625 MHz Memory Clock: 900 MHz 1800 MHz effective Shading Units: 384
TDP: 45W FLOPS: 217.6~332.8 GFLOPS GPU Clock: 350 MHz 1150 MHz(Boost) Memory Clock: System Shared Shading Units: 128
Intel® Core(™) i7-3517U CPU @ 1.90GHz
TDP: 17W FLOPS: 30.4 GFLOPS CPU Clock: 1.90 GHz
※FLOPS は理論値(8 FLOPS/Clock × 1.9GHz × 2コア)
Execution time of test without OpenCL: 10.292678594589233 s =============================================================== Platform name: NVIDIA CUDA Platform profile: FULL_PROFILE Platform vendor: NVIDIA Corporation Platform version: OpenCL 1.2 CUDA 10.1.131 --------------------------------------------------------------- Device name: GeForce GT 640M Device type: GPU Device memory: 1024 MB Device max clock speed: 708 MHz Device compute units: 2 Execution time of test: 0.0015742400 s Results OK =============================================================== Platform name: Intel(R) OpenCL Platform profile: FULL_PROFILE Platform vendor: Intel(R) Corporation Platform version: OpenCL 1.2 --------------------------------------------------------------- Device name: Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz Device type: CPU Device memory: 16263 MB Device max clock speed: 1900 MHz Device compute units: 4 C:\Python37\lib\site-packages\pyopencl\__init__.py:235: CompilerWarning: Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more. "to see more.", CompilerWarning) Execution time of test: 0.0011095000 s Results OK =============================================================== Platform name: Intel(R) OpenCL Platform profile: FULL_PROFILE Platform vendor: Intel(R) Corporation Platform version: OpenCL 1.2 --------------------------------------------------------------- Device name: Intel(R) HD Graphics 4000 Device type: GPU Device memory: 1400 MB Device max clock speed: 1150 MHz Device compute units: 16 Execution time of test: 0.0007947200 s Results OK
Google Colaboratory (略称: Colab)
CPU: Intel® Xeon® CPU @ 2.30GHz
GPU: NVIDIA® Tesla® T4
TDP: 70W FLOPS: 8.141 TFLOPS GPU Clock: 585 MHz 1590 MHz(Boost) Memory Clock: 1250 MHz Shading Units: 2560
Execution time of test without OpenCL: 5.938735008239746 s =============================================================== Platform name: NVIDIA CUDA Platform profile: FULL_PROFILE Platform vendor: NVIDIA Corporation Platform version: OpenCL 1.2 CUDA 10.1.152 --------------------------------------------------------------- Device name: Tesla P4 Device type: ALL | GPU Device memory: 7611 MB Device max clock speed: 1113 MHz Device compute units: 20 Execution time of test: 0.0010557440 s Results OK
トラブルシューティング
fatal error: CL/cl.h: No such file or directory が発生する...😢
DietPi で pyopencl をインストールすると CL/cl.h がないと言われる…🤔
$ pipx runpip jupyterlab4 install -v pyopencl
Using pip 24.0 from /home/dietpi/.local/pipx/shared/lib/python3.11/site-packages/pip (python 3.11) Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/ Collecting pyopencl Downloading pyopencl-2024.1.tar.gz (473 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 473.9/473.9 kB 380.3 kB/s eta 0:00:00 Running command pip subprocess to install build dependencies Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/, https://www.piwheels.org/simple/ Ignoring numpy: markers 'python_version >= "3.9" and platform_python_implementation == "PyPy"' don't match your environment Collecting setuptools>=42.0.0 Downloading https://www.piwheels.org/simple/setuptools/setuptools-69.5.1-py3-none-any.whl (894 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 894.6/894.6 kB 331.6 kB/s eta 0:00:00 Collecting wheel>=0.34.2 Downloading https://www.piwheels.org/simple/wheel/wheel-0.43.0-py3-none-any.whl (65 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 kB 236.9 kB/s eta 0:00:00 Collecting oldest-supported-numpy Downloading https://www.piwheels.org/simple/oldest-supported-numpy/oldest_supported_numpy-2023.12.21-py3-none-any.whl (4.9 kB) Collecting pybind11>=2.5.0 Downloading https://www.piwheels.org/simple/pybind11/pybind11-2.12.0-py3-none-any.whl (234 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 235.0/235.0 kB 95.3 kB/s eta 0:00:00 Collecting numpy==1.23.2 (from oldest-supported-numpy) WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/numpy/numpy-1.23.2-cp311-cp311-linux_armv6l.whl Downloading https://www.piwheels.org/simple/numpy/numpy-1.23.2-cp311-cp311-linux_armv6l.whl (12.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.4/12.4 MB 289.6 kB/s eta 0:00:00 Installing collected packages: wheel, setuptools, pybind11, numpy, oldest-supported-numpy Successfully installed numpy-1.23.2 oldest-supported-numpy-2023.12.21 pybind11-2.12.0 setuptools-69.5.1 wheel-0.43.0 Installing build dependencies ... done Running command Getting requirements to build wheel running egg_info writing pyopencl.egg-info/PKG-INFO writing dependency_links to pyopencl.egg-info/dependency_links.txt writing requirements to pyopencl.egg-info/requires.txt writing top-level names to pyopencl.egg-info/top_level.txt reading manifest file 'pyopencl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'experiments/*.py' warning: no previously-included files matching '*' found under directory '_skbuild' adding license file 'LICENSE' writing manifest file 'pyopencl.egg-info/SOURCES.txt' Getting requirements to build wheel ... done Running command Preparing metadata (pyproject.toml) running dist_info creating /var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info writing /var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/PKG-INFO writing dependency_links to /var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/dependency_links.txt writing requirements to /var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/requires.txt writing top-level names to /var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/top_level.txt writing manifest file '/var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/SOURCES.txt' reading manifest file '/var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'experiments/*.py' warning: no previously-included files matching '*' found under directory '_skbuild' adding license file 'LICENSE' writing manifest file '/var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl.egg-info/SOURCES.txt' creating '/var/tmp/pip-modern-metadata-pmpmdxy1/pyopencl-2024.1.dist-info' Preparing metadata (pyproject.toml) ... done Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/3a/be/650f9c091ef71cb01d735775d554e068752d3ff63d7943b26316dc401749/numpy-1.21.2.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/5f/d6/ad58ded26556eaeaa8c971e08b6466f17c4ac4d786cd3d800e26ce59cc01/numpy-1.21.3.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/fb/48/b0708ebd7718a8933f0d3937513ef8ef2f4f04529f1f66ca86d873043921/numpy-1.21.4.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/c2/a8/a924a09492bdfee8c2ec3094d0a13f2799800b4fdc9c890738aeeb12c72e/numpy-1.21.5.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/45/b7/de7b8e67f2232c26af57c205aaad29fe17754f793404f59c8a730c7a191a/numpy-1.21.6.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Collecting numpy (from pyopencl) Downloading https://www.piwheels.org/simple/numpy/numpy-1.26.4-cp311-cp311-linux_armv6l.whl (5.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 312.2 kB/s eta 0:00:00 Collecting pytools>=2021.2.7 (from pyopencl) Downloading https://www.piwheels.org/simple/pytools/pytools-2024.1.1-py2.py3-none-any.whl (85 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.1/85.1 kB 216.0 kB/s eta 0:00:00 Requirement already satisfied: platformdirs>=2.2.0 in ./.local/pipx/venvs/jupyterlab4/lib/python3.11/site-packages (from pyopencl) (4.2.0) Building wheels for collected packages: pyopencl Running command Building wheel for pyopencl (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib.linux-armv6l-cpython-311 creating build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/bitonic_sort_templates.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/elementwise.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/array.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/bitonic_sort.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/clmath.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/tools.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/cltypes.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/cache.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/_mymako.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/version.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/clrandom.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/reduction.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/invoker.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/algorithm.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/ipython_ext.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/_cluda.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/scan.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/capture_call.py -> build/lib.linux-armv6l-cpython-311/pyopencl creating build/lib.linux-armv6l-cpython-311/pyopencl/characterize copying pyopencl/characterize/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl/characterize copying pyopencl/characterize/performance.py -> build/lib.linux-armv6l-cpython-311/pyopencl/characterize creating build/lib.linux-armv6l-cpython-311/pyopencl/compyte copying pyopencl/compyte/array.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte copying pyopencl/compyte/dtypes.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte copying pyopencl/compyte/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte creating build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/gen_elemwise.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/test_gpu_ndarray.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/setup_opencl.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/gen_reduction.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/test_gpu_elemwise.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray running egg_info writing pyopencl.egg-info/PKG-INFO writing dependency_links to pyopencl.egg-info/dependency_links.txt writing requirements to pyopencl.egg-info/requires.txt writing top-level names to pyopencl.egg-info/top_level.txt reading manifest file 'pyopencl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'experiments/*.py' warning: no previously-included files matching '*' found under directory '_skbuild' adding license file 'LICENSE' writing manifest file 'pyopencl.egg-info/SOURCES.txt' /var/tmp/pip-build-env-ry89326d/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pyopencl.cl' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'pyopencl.cl' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'pyopencl.cl' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'pyopencl.cl' to be distributed and are already explicitly excluding 'pyopencl.cl' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) creating build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-airy.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-bessel-j-complex.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-bessel-j.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-bessel-y.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-complex.h -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-eval-tbl.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-hankel-complex.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-ranluxcl.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl creating build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/array.h -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/openclfeatures.h -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/philox.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/threefry.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 running build_ext creating var creating var/tmp arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c /var/tmp/tmpibr5rk4l.cpp -o var/tmp/tmpibr5rk4l.o -std=gnu++14 arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c /var/tmp/tmpt_mf4j7t.cpp -o var/tmp/tmpt_mf4j7t.o -fvisibility=hidden building 'pyopencl._cl' extension creating build/temp.linux-armv6l-cpython-311 creating build/temp.linux-armv6l-cpython-311/src arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-ry89326d/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-ry89326d/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/bitlog.cpp -o build/temp.linux-armv6l-cpython-311/src/bitlog.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden
arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-ry89326d/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-ry89326d/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/wrap_cl.cpp -o build/temp.linux-armv6l-cpython-311/src/wrap_cl.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden In file included from src/wrap_cl.cpp:29: src/wrap_cl.hpp:70:10: fatal error: CL/cl.h: No such file or directory 70 | #include <CL/cl.h> | ^~~~~~~~~ compilation terminated. error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1 error: subprocess-exited-with-error × Building wheel for pyopencl (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. full command: /home/dietpi/.local/pipx/venvs/jupyterlab4/bin/python /home/dietpi/.local/pipx/shared/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /var/tmp/tmpju1zw3xq cwd: /var/tmp/pip-install-ktrib8gc/pyopencl_d2eaf0ec32a6412abe8e66d854596fad Building wheel for pyopencl (pyproject.toml) ... error ERROR: Failed building wheel for pyopencl Failed to build pyopencl ERROR: Could not build wheels for pyopencl, which is required to install pyproject.toml-based projects '/home/dietpi/.local/pipx/venvs/jupyterlab4/bin/python -m pip install -v pyopencl' failed
不足している opencl-headers をインストールする…🤔
$ sudo apt install opencl-headers
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: opencl-c-headers opencl-clhpp-headers Suggested packages: opencl-clhpp-headers-doc The following NEW packages will be installed: opencl-c-headers opencl-clhpp-headers opencl-headers 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 90.9 kB of archives. After this operation, 742 kB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf opencl-c-headers all 3.0~2023.02.06-1 [43.6 kB] Get:2 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf opencl-clhpp-headers all 3.0~2023.02.06-1 [44.4 kB] Get:3 http://raspbian.raspberrypi.com/raspbian bookworm/main armhf opencl-headers all 3.0~2023.02.06-1 [2,984 B] Fetched 90.9 kB in 3s (28.1 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package opencl-c-headers. (Reading database ... 141224 files and directories currently installed.) Preparing to unpack .../opencl-c-headers_3.0~2023.02.06-1_all.deb ... Unpacking opencl-c-headers (3.0~2023.02.06-1) ... Selecting previously unselected package opencl-clhpp-headers. Preparing to unpack .../opencl-clhpp-headers_3.0~2023.02.06-1_all.deb ... Unpacking opencl-clhpp-headers (3.0~2023.02.06-1) ... Selecting previously unselected package opencl-headers. Preparing to unpack .../opencl-headers_3.0~2023.02.06-1_all.deb ... Unpacking opencl-headers (3.0~2023.02.06-1) ... Setting up opencl-c-headers (3.0~2023.02.06-1) ... Setting up opencl-clhpp-headers (3.0~2023.02.06-1) ... Setting up opencl-headers (3.0~2023.02.06-1) ...
/usr/bin/ld: cannot find -lOpenCL: No such file or directory と言われる…🤔
$ pipx runpip jupyterlab4 install -v pyopencl
Using pip 24.0 from /home/dietpi/.local/pipx/shared/lib/python3.11/site-packages/pip (python 3.11) Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/ Collecting pyopencl Downloading pyopencl-2024.1.tar.gz (473 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 473.9/473.9 kB 167.2 kB/s eta 0:00:00 Running command pip subprocess to install build dependencies ... arm-linux-gnueabihf-g++ -shared -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-armv6l-cpython-311/src/bitlog.o build/temp.linux-armv6l-cpython-311/src/wrap_cl.o build/temp.linux-armv6l-cpython-311/src/wrap_cl_part_1.o build/temp.linux-armv6l-cpython-311/src/wrap_cl_part_2.o build/temp.linux-armv6l-cpython-311/src/wrap_constants.o build/temp.linux-armv6l-cpython-311/src/wrap_mempool.o -L/usr/lib/arm-linux-gnueabihf -lOpenCL -o build/lib.linux-armv6l-cpython-311/pyopencl/_cl.cpython-311-arm-linux-gnueabihf.so -Wl,--no-as-needed /usr/bin/ld: cannot find -lOpenCL: No such file or directory collect2: error: ld returned 1 exit status error: command '/usr/bin/arm-linux-gnueabihf-g++' failed with exit code 1 error: subprocess-exited-with-error × Building wheel for pyopencl (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. full command: /home/dietpi/.local/pipx/venvs/jupyterlab4/bin/python /home/dietpi/.local/pipx/shared/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /var/tmp/tmpyzhsl8yg cwd: /var/tmp/pip-install-5l0xbf79/pyopencl_39664cd03bea4d028f8a73bd6abaf1aa Building wheel for pyopencl (pyproject.toml) ... error ERROR: Failed building wheel for pyopencl Failed to build pyopencl ERROR: Could not build wheels for pyopencl, which is required to install pyproject.toml-based projects '/home/dietpi/.local/pipx/venvs/jupyterlab4/bin/python -m pip install -v pyopencl' failed
不足している ocl-icd-opencl-dev ocl-icd-dev をインストールする…🤔
$ sudo apt install ocl-icd-opencl-dev ocl-icd-dev
Reading package lists... Done Building dependency tree... Done Reading state information... Done Recommended packages: libgl-dev The following NEW packages will be installed: ocl-icd-dev ocl-icd-opencl-dev 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 29.5 kB of archives. After this operation, 116 kB of additional disk space will be used. Get:1 http://ftp.udx.icscoe.jp/Linux/raspbian/raspbian bookworm/main armhf ocl-icd-dev armhf 2.3.1-1 [17.9 kB] Get:2 http://ftp.udx.icscoe.jp/Linux/raspbian/raspbian bookworm/main armhf ocl-icd-opencl-dev armhf 2.3.1-1 [11.6 kB] Fetched 29.5 kB in 2s (12.3 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package ocl-icd-dev:armhf. (Reading database ... 141263 files and directories currently installed.) Preparing to unpack .../ocl-icd-dev_2.3.1-1_armhf.deb ... Unpacking ocl-icd-dev:armhf (2.3.1-1) ... Selecting previously unselected package ocl-icd-opencl-dev:armhf. Preparing to unpack .../ocl-icd-opencl-dev_2.3.1-1_armhf.deb ... Unpacking ocl-icd-opencl-dev:armhf (2.3.1-1) ... Setting up ocl-icd-dev:armhf (2.3.1-1) ... Setting up ocl-icd-opencl-dev:armhf (2.3.1-1) ...
ビルド成功😍
$ sudo apt install ocl-icd-opencl-dev ocl-icd-dev
Using pip 24.0 from /home/dietpi/.local/pipx/shared/lib/python3.11/site-packages/pip (python 3.11) Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/ Collecting pyopencl Downloading pyopencl-2024.1.tar.gz (473 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 473.9/473.9 kB 261.0 kB/s eta 0:00:00 Running command pip subprocess to install build dependencies Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/, https://www.piwheels.org/simple/ Ignoring numpy: markers 'python_version >= "3.9" and platform_python_implementation == "PyPy"' don't match your environment Collecting setuptools>=42.0.0 Downloading https://www.piwheels.org/simple/setuptools/setuptools-69.5.1-py3-none-any.whl (894 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 894.6/894.6 kB 310.9 kB/s eta 0:00:00 Collecting wheel>=0.34.2 Downloading https://www.piwheels.org/simple/wheel/wheel-0.43.0-py3-none-any.whl (65 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.8/65.8 kB 382.3 kB/s eta 0:00:00 Collecting oldest-supported-numpy Downloading https://www.piwheels.org/simple/oldest-supported-numpy/oldest_supported_numpy-2023.12.21-py3-none-any.whl (4.9 kB) Collecting pybind11>=2.5.0 Downloading https://www.piwheels.org/simple/pybind11/pybind11-2.12.0-py3-none-any.whl (234 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 235.0/235.0 kB 262.0 kB/s eta 0:00:00 Collecting numpy==1.23.2 (from oldest-supported-numpy) Downloading https://www.piwheels.org/simple/numpy/numpy-1.23.2-cp311-cp311-linux_armv6l.whl (12.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.4/12.4 MB 404.2 kB/s eta 0:00:00 Installing collected packages: wheel, setuptools, pybind11, numpy, oldest-supported-numpy Successfully installed numpy-1.23.2 oldest-supported-numpy-2023.12.21 pybind11-2.12.0 setuptools-69.5.1 wheel-0.43.0 Installing build dependencies ... done Running command Getting requirements to build wheel running egg_info writing pyopencl.egg-info/PKG-INFO writing dependency_links to pyopencl.egg-info/dependency_links.txt writing requirements to pyopencl.egg-info/requires.txt writing top-level names to pyopencl.egg-info/top_level.txt reading manifest file 'pyopencl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'experiments/*.py' warning: no previously-included files matching '*' found under directory '_skbuild' adding license file 'LICENSE' writing manifest file 'pyopencl.egg-info/SOURCES.txt' Getting requirements to build wheel ... done Running command Preparing metadata (pyproject.toml) running dist_info creating /var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info writing /var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/PKG-INFO writing dependency_links to /var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/dependency_links.txt writing requirements to /var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/requires.txt writing top-level names to /var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/top_level.txt writing manifest file '/var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/SOURCES.txt' reading manifest file '/var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'experiments/*.py' warning: no previously-included files matching '*' found under directory '_skbuild' adding license file 'LICENSE' writing manifest file '/var/tmp/pip-modern-metadata-i083u3n_/pyopencl.egg-info/SOURCES.txt' creating '/var/tmp/pip-modern-metadata-i083u3n_/pyopencl-2024.1.dist-info' Preparing metadata (pyproject.toml) ... done Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/3a/be/650f9c091ef71cb01d735775d554e068752d3ff63d7943b26316dc401749/numpy-1.21.2.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/5f/d6/ad58ded26556eaeaa8c971e08b6466f17c4ac4d786cd3d800e26ce59cc01/numpy-1.21.3.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/fb/48/b0708ebd7718a8933f0d3937513ef8ef2f4f04529f1f66ca86d873043921/numpy-1.21.4.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/c2/a8/a924a09492bdfee8c2ec3094d0a13f2799800b4fdc9c890738aeeb12c72e/numpy-1.21.5.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Link requires a different Python (3.11.2 not in: '>=3.7,<3.11'): https://files.pythonhosted.org/packages/45/b7/de7b8e67f2232c26af57c205aaad29fe17754f793404f59c8a730c7a191a/numpy-1.21.6.zip (from https://pypi.org/simple/numpy/) (requires-python:>=3.7,<3.11) Collecting numpy (from pyopencl) WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/numpy/numpy-1.26.4-cp311-cp311-linux_armv6l.whl Downloading https://www.piwheels.org/simple/numpy/numpy-1.26.4-cp311-cp311-linux_armv6l.whl (5.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 393.0 kB/s eta 0:00:00 Collecting pytools>=2021.2.7 (from pyopencl) Downloading https://www.piwheels.org/simple/pytools/pytools-2024.1.1-py2.py3-none-any.whl (85 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.1/85.1 kB 169.0 kB/s eta 0:00:00 Requirement already satisfied: platformdirs>=2.2.0 in ./.local/pipx/venvs/jupyterlab4/lib/python3.11/site-packages (from pyopencl) (4.2.0) Building wheels for collected packages: pyopencl Running command Building wheel for pyopencl (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib.linux-armv6l-cpython-311 creating build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/bitonic_sort_templates.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/elementwise.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/array.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/bitonic_sort.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/clmath.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/tools.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/cltypes.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/cache.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/_mymako.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/version.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/clrandom.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/reduction.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/invoker.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/algorithm.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/ipython_ext.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/_cluda.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/scan.py -> build/lib.linux-armv6l-cpython-311/pyopencl copying pyopencl/capture_call.py -> build/lib.linux-armv6l-cpython-311/pyopencl creating build/lib.linux-armv6l-cpython-311/pyopencl/characterize copying pyopencl/characterize/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl/characterize copying pyopencl/characterize/performance.py -> build/lib.linux-armv6l-cpython-311/pyopencl/characterize creating build/lib.linux-armv6l-cpython-311/pyopencl/compyte copying pyopencl/compyte/array.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte copying pyopencl/compyte/dtypes.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte copying pyopencl/compyte/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte creating build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/gen_elemwise.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/test_gpu_ndarray.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/setup_opencl.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/__init__.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/gen_reduction.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray copying pyopencl/compyte/ndarray/test_gpu_elemwise.py -> build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray running egg_info writing pyopencl.egg-info/PKG-INFO writing dependency_links to pyopencl.egg-info/dependency_links.txt writing requirements to pyopencl.egg-info/requires.txt writing top-level names to pyopencl.egg-info/top_level.txt reading manifest file 'pyopencl.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'experiments/*.py' warning: no previously-included files matching '*' found under directory '_skbuild' adding license file 'LICENSE' writing manifest file 'pyopencl.egg-info/SOURCES.txt' /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'pyopencl.cl' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'pyopencl.cl' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'pyopencl.cl' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'pyopencl.cl' to be distributed and are already explicitly excluding 'pyopencl.cl' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) creating build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-airy.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-bessel-j-complex.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-bessel-j.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-bessel-y.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-complex.h -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-eval-tbl.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-hankel-complex.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl copying pyopencl/cl/pyopencl-ranluxcl.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl creating build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/array.h -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/openclfeatures.h -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/philox.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 copying pyopencl/cl/pyopencl-random123/threefry.cl -> build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123 running build_ext creating var creating var/tmp arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c /var/tmp/tmp8yqop67k.cpp -o var/tmp/tmp8yqop67k.o -std=gnu++14 arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c /var/tmp/tmpz4s1771z.cpp -o var/tmp/tmpz4s1771z.o -fvisibility=hidden building 'pyopencl._cl' extension creating build/temp.linux-armv6l-cpython-311 creating build/temp.linux-armv6l-cpython-311/src arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/bitlog.cpp -o build/temp.linux-armv6l-cpython-311/src/bitlog.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/wrap_cl.cpp -o build/temp.linux-armv6l-cpython-311/src/wrap_cl.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden In file included from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1948, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5, from src/wrap_cl.hpp:101, from src/wrap_cl.cpp:29: /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 17 | #warning "Using deprecated NumPy API, disable it with " \ | ^~~~~~~ arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/wrap_cl_part_1.cpp -o build/temp.linux-armv6l-cpython-311/src/wrap_cl_part_1.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden In file included from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1948, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5, from src/wrap_cl.hpp:101, from src/wrap_cl_part_1.cpp:30: /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 17 | #warning "Using deprecated NumPy API, disable it with " \ | ^~~~~~~ arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/wrap_cl_part_2.cpp -o build/temp.linux-armv6l-cpython-311/src/wrap_cl_part_2.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden In file included from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1948, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5, from src/wrap_cl.hpp:101, from src/wrap_cl_part_2.cpp:31: /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 17 | #warning "Using deprecated NumPy API, disable it with " \ | ^~~~~~~ src/wrap_cl.hpp: In function ‘pyopencl::event* pyopencl::enqueue_svm_map(command_queue&, cl_bool, cl_map_flags, svm_pointer&, pybind11::object, pybind11::object)’: src/wrap_cl.hpp:4025:34: warning: ‘size’ may be used uninitialized [-Wmaybe-uninitialized] 4025 | if (have_size && user_size > size) | ~~~~~~~~~~^~~~~~ src/wrap_cl.hpp:4015:12: note: ‘size’ was declared here 4015 | size_t size; | ^~~~ src/wrap_cl.hpp: In function ‘pyopencl::event* pyopencl::enqueue_svm_memfill(command_queue&, svm_pointer&, pybind11::object, pybind11::object, pybind11::object)’: src/wrap_cl.hpp:3970:34: warning: ‘size’ may be used uninitialized [-Wmaybe-uninitialized] 3970 | if (have_size && user_size > size) | ~~~~~~~~~~^~~~~~ src/wrap_cl.hpp:3960:12: note: ‘size’ was declared here 3960 | size_t size; | ^~~~ arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/wrap_constants.cpp -o build/temp.linux-armv6l-cpython-311/src/wrap_constants.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden In file included from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1948, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5, from src/wrap_cl.hpp:101, from src/wrap_constants.cpp:30: /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 17 | #warning "Using deprecated NumPy API, disable it with " \ | ^~~~~~~ arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/pybind11/include -I/var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include -I/home/dietpi/.local/pipx/venvs/jupyterlab4/include -I/usr/include/python3.11 -c -std=gnu++14 src/wrap_mempool.cpp -o build/temp.linux-armv6l-cpython-311/src/wrap_mempool.o -fvisibility=hidden -DVERSION_INFO=\"2024.1\" -fvisibility=hidden In file included from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarraytypes.h:1948, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/arrayobject.h:5, from src/wrap_cl.hpp:101, from src/wrap_mempool.cpp:37: /var/tmp/pip-build-env-qza3q78r/overlay/lib/python3.11/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp] 17 | #warning "Using deprecated NumPy API, disable it with " \ | ^~~~~~~ arm-linux-gnueabihf-g++ -shared -Wl,-Bsymbolic-functions -g -fwrapv -O2 build/temp.linux-armv6l-cpython-311/src/bitlog.o build/temp.linux-armv6l-cpython-311/src/wrap_cl.o build/temp.linux-armv6l-cpython-311/src/wrap_cl_part_1.o build/temp.linux-armv6l-cpython-311/src/wrap_cl_part_2.o build/temp.linux-armv6l-cpython-311/src/wrap_constants.o build/temp.linux-armv6l-cpython-311/src/wrap_mempool.o -L/usr/lib/arm-linux-gnueabihf -lOpenCL -o build/lib.linux-armv6l-cpython-311/pyopencl/_cl.cpython-311-arm-linux-gnueabihf.so -Wl,--no-as-needed installing to build/bdist.linux-armv6l/wheel running install running install_lib creating build/bdist.linux-armv6l creating build/bdist.linux-armv6l/wheel creating build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/bitonic_sort_templates.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/elementwise.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/array.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/bitonic_sort.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/_cl.cpython-311-arm-linux-gnueabihf.so -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/clmath.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/tools.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/cltypes.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/cache.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/_mymako.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/version.py -> build/bdist.linux-armv6l/wheel/pyopencl creating build/bdist.linux-armv6l/wheel/pyopencl/characterize copying build/lib.linux-armv6l-cpython-311/pyopencl/characterize/__init__.py -> build/bdist.linux-armv6l/wheel/pyopencl/characterize copying build/lib.linux-armv6l-cpython-311/pyopencl/characterize/performance.py -> build/bdist.linux-armv6l/wheel/pyopencl/characterize copying build/lib.linux-armv6l-cpython-311/pyopencl/__init__.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/clrandom.py -> build/bdist.linux-armv6l/wheel/pyopencl creating build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-bessel-y.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-eval-tbl.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-ranluxcl.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-hankel-complex.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-bessel-j-complex.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-bessel-j.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-complex.h -> build/bdist.linux-armv6l/wheel/pyopencl/cl copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-airy.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl creating build/bdist.linux-armv6l/wheel/pyopencl/cl/pyopencl-random123 copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123/openclfeatures.h -> build/bdist.linux-armv6l/wheel/pyopencl/cl/pyopencl-random123 copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123/philox.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl/pyopencl-random123 copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123/threefry.cl -> build/bdist.linux-armv6l/wheel/pyopencl/cl/pyopencl-random123 copying build/lib.linux-armv6l-cpython-311/pyopencl/cl/pyopencl-random123/array.h -> build/bdist.linux-armv6l/wheel/pyopencl/cl/pyopencl-random123 copying build/lib.linux-armv6l-cpython-311/pyopencl/reduction.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/invoker.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/algorithm.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/ipython_ext.py -> build/bdist.linux-armv6l/wheel/pyopencl creating build/bdist.linux-armv6l/wheel/pyopencl/compyte copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/array.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/dtypes.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte creating build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray/gen_elemwise.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray/test_gpu_ndarray.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray/setup_opencl.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray/__init__.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray/gen_reduction.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/ndarray/test_gpu_elemwise.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte/ndarray copying build/lib.linux-armv6l-cpython-311/pyopencl/compyte/__init__.py -> build/bdist.linux-armv6l/wheel/pyopencl/compyte copying build/lib.linux-armv6l-cpython-311/pyopencl/_cluda.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/scan.py -> build/bdist.linux-armv6l/wheel/pyopencl copying build/lib.linux-armv6l-cpython-311/pyopencl/capture_call.py -> build/bdist.linux-armv6l/wheel/pyopencl running install_egg_info Copying pyopencl.egg-info to build/bdist.linux-armv6l/wheel/pyopencl-2024.1-py3.11.egg-info running install_scripts creating build/bdist.linux-armv6l/wheel/pyopencl-2024.1.dist-info/WHEEL creating '/var/tmp/pip-wheel-kyepds47/.tmp-_dqcawc0/pyopencl-2024.1-cp311-cp311-linux_armv6l.whl' and adding 'build/bdist.linux-armv6l/wheel' to it adding 'pyopencl/__init__.py' adding 'pyopencl/_cl.cpython-311-arm-linux-gnueabihf.so' adding 'pyopencl/_cluda.py' adding 'pyopencl/_mymako.py' adding 'pyopencl/algorithm.py' adding 'pyopencl/array.py' adding 'pyopencl/bitonic_sort.py' adding 'pyopencl/bitonic_sort_templates.py' adding 'pyopencl/cache.py' adding 'pyopencl/capture_call.py' adding 'pyopencl/clmath.py' adding 'pyopencl/clrandom.py' adding 'pyopencl/cltypes.py' adding 'pyopencl/elementwise.py' adding 'pyopencl/invoker.py' adding 'pyopencl/ipython_ext.py' adding 'pyopencl/reduction.py' adding 'pyopencl/scan.py' adding 'pyopencl/tools.py' adding 'pyopencl/version.py' adding 'pyopencl/characterize/__init__.py' adding 'pyopencl/characterize/performance.py' adding 'pyopencl/cl/pyopencl-airy.cl' adding 'pyopencl/cl/pyopencl-bessel-j-complex.cl' adding 'pyopencl/cl/pyopencl-bessel-j.cl' adding 'pyopencl/cl/pyopencl-bessel-y.cl' adding 'pyopencl/cl/pyopencl-complex.h' adding 'pyopencl/cl/pyopencl-eval-tbl.cl' adding 'pyopencl/cl/pyopencl-hankel-complex.cl' adding 'pyopencl/cl/pyopencl-ranluxcl.cl' adding 'pyopencl/cl/pyopencl-random123/array.h' adding 'pyopencl/cl/pyopencl-random123/openclfeatures.h' adding 'pyopencl/cl/pyopencl-random123/philox.cl' adding 'pyopencl/cl/pyopencl-random123/threefry.cl' adding 'pyopencl/compyte/__init__.py' adding 'pyopencl/compyte/array.py' adding 'pyopencl/compyte/dtypes.py' adding 'pyopencl/compyte/ndarray/__init__.py' adding 'pyopencl/compyte/ndarray/gen_elemwise.py' adding 'pyopencl/compyte/ndarray/gen_reduction.py' adding 'pyopencl/compyte/ndarray/setup_opencl.py' adding 'pyopencl/compyte/ndarray/test_gpu_elemwise.py' adding 'pyopencl/compyte/ndarray/test_gpu_ndarray.py' adding 'pyopencl-2024.1.dist-info/LICENSE' adding 'pyopencl-2024.1.dist-info/METADATA' adding 'pyopencl-2024.1.dist-info/WHEEL' adding 'pyopencl-2024.1.dist-info/top_level.txt' adding 'pyopencl-2024.1.dist-info/RECORD' removing build/bdist.linux-armv6l/wheel Building wheel for pyopencl (pyproject.toml) ... done Created wheel for pyopencl: filename=pyopencl-2024.1-cp311-cp311-linux_armv6l.whl size=696905 sha256=058c3a76013776f403eb910c80dfd254da8b4fbda2c89b4b41e0e65877bf4ee7 Stored in directory: /var/tmp/pip-ephem-wheel-cache-9m5aar11/wheels/f1/81/49/101a6363839b8d96eb0932724c041725444b34c62f6b946591 Successfully built pyopencl Installing collected packages: pytools, numpy, pyopencl changing mode of /home/dietpi/.local/pipx/venvs/jupyterlab4/bin/f2py to 755 Successfully installed numpy-1.26.4 pyopencl-2024.1 pytools-2024.1.1
Pybind11 is not installed. と Mako is not installed. が発生する
> pip install pyopencl
Collecting pyopencl Using cached https://files.pythonhosted.org/packages/1b/0e/f49c0507610aae0bc2aba6ad1e79f87992d9e74e6ea55af23e436075502e/pyopencl-2019.1.tar.gz Requirement already satisfied: numpy in c:\python37\lib\site-packages (from pyopencl) (1.16.4) Requirement already satisfied: pytools>=2017.6 in c:\python37\lib\site-packages (from pyopencl) (2019.1.1) Requirement already satisfied: decorator>=3.2.0 in c:\python37\lib\site-packages (from pyopencl) (4.4.0) Requirement already satisfied: appdirs>=1.4.0 in c:\python37\lib\site-packages (from pyopencl) (1.4.3) Requirement already satisfied: six>=1.9.0 in c:\python37\lib\site-packages (from pyopencl) (1.12.0) Installing collected packages: pyopencl Running setup.py install for pyopencl ... error ERROR: Complete output from command 'c:\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-dtgmmbt_\\pyopencl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\tomoyan\AppData\Local\Temp\pip-record-ok7vcln_\install-record.txt' --single-version-externally-managed --compile: ERROR: --------------------------------------------------------------------------- Pybind11 is not installed. --------------------------------------------------------------------------- Very likely, the build process after this message will fail. Simply press Ctrl+C and type python -m pip install pybind11 to fix this. If you don't, the build will continue in a few seconds. [1] https://pybind11.readthedocs.io/en/stable/ --------------------------------------------------------------------------- Continuing in 1 seconds... --------------------------------------------------------------------------- Mako is not installed. --------------------------------------------------------------------------- That is not a problem, as most of PyOpenCL will be just fine without it. Some higher-level parts of pyopencl (such as pyopencl.reduction) will not function without the templating engine Mako [1] being installed. If you would like this functionality to work, you might want to install Mako after you finish installing PyOpenCL. Simply type python -m pip install mako either now or after the installation completes to fix this. [1] http://www.makotemplates.org/ --------------------------------------------------------------------------- Hit Ctrl-C now if you'd like to think about the situation. --------------------------------------------------------------------------- Continuing in 1 seconds... running install running build running build_py creating build creating build\lib.win-amd64-3.7 creating build\lib.win-amd64-3.7\pyopencl copying pyopencl\algorithm.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\array.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\bitonic_sort.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\bitonic_sort_templates.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\cache.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\capture_call.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\clmath.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\clrandom.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\cltypes.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\elementwise.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\invoker.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\ipython_ext.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\reduction.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\scan.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\tools.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\version.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\_buffers.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\_cluda.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\_mymako.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\__init__.py -> build\lib.win-amd64-3.7\pyopencl creating build\lib.win-amd64-3.7\pyopencl\characterize copying pyopencl\characterize\performance.py -> build\lib.win-amd64-3.7\pyopencl\characterize copying pyopencl\characterize\__init__.py -> build\lib.win-amd64-3.7\pyopencl\characterize creating build\lib.win-amd64-3.7\pyopencl\compyte copying pyopencl\compyte\array.py -> build\lib.win-amd64-3.7\pyopencl\compyte copying pyopencl\compyte\dtypes.py -> build\lib.win-amd64-3.7\pyopencl\compyte copying pyopencl\compyte\__init__.py -> build\lib.win-amd64-3.7\pyopencl\compyte creating build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\gen_elemwise.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\gen_reduction.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\setup_opencl.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\test_gpu_elemwise.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\test_gpu_ndarray.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\__init__.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray running egg_info writing pyopencl.egg-info\PKG-INFO writing dependency_links to pyopencl.egg-info\dependency_links.txt writing requirements to pyopencl.egg-info\requires.txt writing top-level names to pyopencl.egg-info\top_level.txt reading manifest file 'pyopencl.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.h' warning: no files found matching 'doc\_static\*.css' warning: no files found matching 'doc\_templates\*.html' warning: no files found matching '*.py.in' writing manifest file 'pyopencl.egg-info\SOURCES.txt' creating build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-airy.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-j-complex.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-j.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-y.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-complex.h -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-eval-tbl.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-hankel-complex.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-ranluxcl.cl -> build\lib.win-amd64-3.7\pyopencl\cl creating build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\array.h -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\openclfeatures.h -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\philox.cl -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\threefry.cl -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 running build_ext building 'pyopencl._cl' extension creating build\temp.win-amd64-3.7 creating build\temp.win-amd64-3.7\Release creating build\temp.win-amd64-3.7\Release\src C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -Ic:\python37\Include -IC:\Users\tomoyan\AppData\Roaming\Python\Python37\Include -Ic:\python37\lib\site-packages\numpy\core\include -Ic:\python37\include -Ic:\python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsrc/wrap_constants.cpp /Fobuild\temp.win-amd64-3.7\Release\src/wrap_constants.obj -fvisibility=hidden /EHsc /DVERSION_INFO=\"2019.1\" cl : コマンド ライン warning D9002 : 不明なオプション '-fvisibility=hidden' を無視します。 wrap_constants.cpp C:\Users\tomoyan\AppData\Local\Temp\pip-install-dtgmmbt_\pyopencl\src\wrap_cl.hpp(57): fatal error C1083: include ファイルを開けません。'CL/cl.h':No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.21.27702\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 ---------------------------------------- ERROR: Command "'c:\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-dtgmmbt_\\pyopencl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\tomoyan\AppData\Local\Temp\pip-record-ok7vcln_\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\tomoyan\AppData\Local\Temp\pip-install-dtgmmbt_\pyopencl\
Pybind11, Mako をインストールしてから PyOpenCL をインストールする。
> pip install pybind11 Mako
Collecting pybind11 Downloading https://files.pythonhosted.org/packages/5d/85/c7a8dffda52ce25a8bcfe9a28b6861bdd52da59ae001fdd4173e054b7d9b/pybind11-2.3.0-py2.py3-none-any.whl (147kB) |████████████████████████████████| 153kB 1.3MB/s Collecting Mako Downloading https://files.pythonhosted.org/packages/1b/a5/023aba3d69aacef6bfc13797bdc3dd03c6fb4ae2dcd2fde7dffc37233924/Mako-1.0.14.tar.gz (462kB) |████████████████████████████████| 471kB 3.3MB/s Collecting MarkupSafe>=0.9.2 (from Mako) Downloading https://files.pythonhosted.org/packages/65/c6/2399700d236d1dd681af8aebff1725558cddfd6e43d7a5184a675f4711f5/MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl Installing collected packages: pybind11, MarkupSafe, Mako Running setup.py install for Mako ... done Successfully installed Mako-1.0.14 MarkupSafe-1.1.1 pybind11-2.3.0
error: Microsoft Visual C++ 14.0 is required. が発生する
> pip install pyopencl
Collecting pyopencl Using cached pyopencl-2020.2.1.tar.gz (352 kB) Requirement already satisfied: numpy in c:\users\tomoyan\py38_opencl\lib\site-packages (from pyopencl) (1.19.1) Requirement already satisfied: pytools>=2017.6 in c:\users\tomoyan\py38_opencl\lib\site-packages (from pyopencl) (2020.4) Requirement already satisfied: decorator>=3.2.0 in c:\users\tomoyan\py38_opencl\lib\site-packages (from pyopencl) (4.4.2) Requirement already satisfied: appdirs>=1.4.0 in c:\users\tomoyan\py38_opencl\lib\site-packages (from pyopencl) (1.4.4) Requirement already satisfied: six>=1.9.0 in c:\users\tomoyan\py38_opencl\lib\site-packages (from pyopencl) (1.15.0) Using legacy setup.py install for pyopencl, since package 'wheel' is not installed. Installing collected packages: pyopencl Running setup.py install for pyopencl ... error ERROR: Command errored out with exit status 1: command: 'c:\users\tomoyan\py38_opencl\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-kysbgjhb\\pyopencl\\setup.py'"'"'; __file__='"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-kysbgjhb\\pyopencl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\tomoyan\AppData\Local\Temp\pip-record-u_d5qgvn\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\tomoyan\py38_opencl\include\site\python3.8\pyopencl' cwd: C:\Users\tomoyan\AppData\Local\Temp\pip-install-kysbgjhb\pyopencl\ Complete output (70 lines): running install running build running build_py creating build creating build\lib.win-amd64-3.8 creating build\lib.win-amd64-3.8\pyopencl copying pyopencl\algorithm.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\array.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\bitonic_sort.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\bitonic_sort_templates.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\cache.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\capture_call.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\clmath.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\clrandom.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\cltypes.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\elementwise.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\invoker.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\ipython_ext.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\reduction.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\scan.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\tools.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\version.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\_buffers.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\_cluda.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\_mymako.py -> build\lib.win-amd64-3.8\pyopencl copying pyopencl\__init__.py -> build\lib.win-amd64-3.8\pyopencl creating build\lib.win-amd64-3.8\pyopencl\characterize copying pyopencl\characterize\performance.py -> build\lib.win-amd64-3.8\pyopencl\characterize copying pyopencl\characterize\__init__.py -> build\lib.win-amd64-3.8\pyopencl\characterize creating build\lib.win-amd64-3.8\pyopencl\compyte copying pyopencl\compyte\array.py -> build\lib.win-amd64-3.8\pyopencl\compyte copying pyopencl\compyte\dtypes.py -> build\lib.win-amd64-3.8\pyopencl\compyte copying pyopencl\compyte\__init__.py -> build\lib.win-amd64-3.8\pyopencl\compyte creating build\lib.win-amd64-3.8\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\gen_elemwise.py -> build\lib.win-amd64-3.8\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\gen_reduction.py -> build\lib.win-amd64-3.8\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\setup_opencl.py -> build\lib.win-amd64-3.8\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\test_gpu_elemwise.py -> build\lib.win-amd64-3.8\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\test_gpu_ndarray.py -> build\lib.win-amd64-3.8\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\__init__.py -> build\lib.win-amd64-3.8\pyopencl\compyte\ndarray running egg_info writing pyopencl.egg-info\PKG-INFO writing dependency_links to pyopencl.egg-info\dependency_links.txt writing requirements to pyopencl.egg-info\requires.txt writing top-level names to pyopencl.egg-info\top_level.txt reading manifest file 'pyopencl.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.h' warning: no files found matching 'doc\_static\*.css' warning: no files found matching 'doc\_templates\*.html' warning: no files found matching '*.py.in' warning: no files found matching 'pyproject.toml' writing manifest file 'pyopencl.egg-info\SOURCES.txt' creating build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-airy.cl -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-j-complex.cl -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-j.cl -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-y.cl -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-complex.h -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-eval-tbl.cl -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-hankel-complex.cl -> build\lib.win-amd64-3.8\pyopencl\cl copying pyopencl\cl\pyopencl-ranluxcl.cl -> build\lib.win-amd64-3.8\pyopencl\cl creating build\lib.win-amd64-3.8\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\array.h -> build\lib.win-amd64-3.8\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\openclfeatures.h -> build\lib.win-amd64-3.8\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\philox.cl -> build\lib.win-amd64-3.8\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\threefry.cl -> build\lib.win-amd64-3.8\pyopencl\cl\pyopencl-random123 running build_ext building 'pyopencl._cl' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/ ---------------------------------------- ERROR: Command errored out with exit status 1: 'c:\users\tomoyan\py38_opencl\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-kysbgjhb\\pyopencl\\setup.py'"'"'; __file__='"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-kysbgjhb\\pyopencl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\tomoyan\AppData\Local\Temp\pip-record-u_d5qgvn\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\tomoyan\py38_opencl\include\site\python3.8\pyopencl' Check the logs for full command output.
手軽に済ませたい場合は Build Tools for Visual Studio をインストールする。
fatal error C1083: include ファイルを開けません。'CL/cl.h':No such file or directory が発生する
> pip install pyopencl
Collecting pyopencl Using cached https://files.pythonhosted.org/packages/1b/0e/f49c0507610aae0bc2aba6ad1e79f87992d9e74e6ea55af23e436075502e/pyopencl-2019.1.tar.gz Requirement already satisfied: numpy in c:\python37\lib\site-packages (from pyopencl) (1.16.4) Requirement already satisfied: pytools>=2017.6 in c:\python37\lib\site-packages (from pyopencl) (2019.1.1) Requirement already satisfied: decorator>=3.2.0 in c:\python37\lib\site-packages (from pyopencl) (4.4.0) Requirement already satisfied: appdirs>=1.4.0 in c:\python37\lib\site-packages (from pyopencl) (1.4.3) Requirement already satisfied: six>=1.9.0 in c:\python37\lib\site-packages (from pyopencl) (1.12.0) Installing collected packages: pyopencl Running setup.py install for pyopencl ... error ERROR: Complete output from command 'c:\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-wwvlcaj3\\pyopencl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\tomoyan\AppData\Local\Temp\pip-record-ne3hm7p_\install-record.txt' --single-version-externally-managed --compile: ERROR: running install running build running build_py creating build creating build\lib.win-amd64-3.7 creating build\lib.win-amd64-3.7\pyopencl copying pyopencl\algorithm.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\array.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\bitonic_sort.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\bitonic_sort_templates.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\cache.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\capture_call.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\clmath.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\clrandom.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\cltypes.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\elementwise.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\invoker.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\ipython_ext.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\reduction.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\scan.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\tools.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\version.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\_buffers.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\_cluda.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\_mymako.py -> build\lib.win-amd64-3.7\pyopencl copying pyopencl\__init__.py -> build\lib.win-amd64-3.7\pyopencl creating build\lib.win-amd64-3.7\pyopencl\characterize copying pyopencl\characterize\performance.py -> build\lib.win-amd64-3.7\pyopencl\characterize copying pyopencl\characterize\__init__.py -> build\lib.win-amd64-3.7\pyopencl\characterize creating build\lib.win-amd64-3.7\pyopencl\compyte copying pyopencl\compyte\array.py -> build\lib.win-amd64-3.7\pyopencl\compyte copying pyopencl\compyte\dtypes.py -> build\lib.win-amd64-3.7\pyopencl\compyte copying pyopencl\compyte\__init__.py -> build\lib.win-amd64-3.7\pyopencl\compyte creating build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\gen_elemwise.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\gen_reduction.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\setup_opencl.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\test_gpu_elemwise.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\test_gpu_ndarray.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray copying pyopencl\compyte\ndarray\__init__.py -> build\lib.win-amd64-3.7\pyopencl\compyte\ndarray running egg_info writing pyopencl.egg-info\PKG-INFO writing dependency_links to pyopencl.egg-info\dependency_links.txt writing requirements to pyopencl.egg-info\requires.txt writing top-level names to pyopencl.egg-info\top_level.txt reading manifest file 'pyopencl.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching '*.h' warning: no files found matching 'doc\_static\*.css' warning: no files found matching 'doc\_templates\*.html' warning: no files found matching '*.py.in' writing manifest file 'pyopencl.egg-info\SOURCES.txt' creating build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-airy.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-j-complex.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-j.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-bessel-y.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-complex.h -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-eval-tbl.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-hankel-complex.cl -> build\lib.win-amd64-3.7\pyopencl\cl copying pyopencl\cl\pyopencl-ranluxcl.cl -> build\lib.win-amd64-3.7\pyopencl\cl creating build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\array.h -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\openclfeatures.h -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\philox.cl -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 copying pyopencl\cl\pyopencl-random123\threefry.cl -> build\lib.win-amd64-3.7\pyopencl\cl\pyopencl-random123 running build_ext building 'pyopencl._cl' extension creating build\temp.win-amd64-3.7 creating build\temp.win-amd64-3.7\Release creating build\temp.win-amd64-3.7\Release\src C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/include -Ic:\python37\Include -IC:\Users\tomoyan\AppData\Roaming\Python\Python37\Include -Ic:\python37\lib\site-packages\numpy\core\include -Ic:\python37\include -Ic:\python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpsrc/wrap_constants.cpp /Fobuild\temp.win-amd64-3.7\Release\src/wrap_constants.obj -fvisibility=hidden /EHsc /DVERSION_INFO=\"2019.1\" cl : コマンド ライン warning D9002 : 不明なオプション '-fvisibility=hidden' を無視します。 wrap_constants.cpp C:\Users\tomoyan\AppData\Local\Temp\pip-install-wwvlcaj3\pyopencl\src\wrap_cl.hpp(57): fatal error C1083: include ファイルを開けません。'CL/cl.h':No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.21.27702\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 ---------------------------------------- ERROR: Command "'c:\python37\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\tomoyan\\AppData\\Local\\Temp\\pip-install-wwvlcaj3\\pyopencl\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\tomoyan\AppData\Local\Temp\pip-record-ne3hm7p_\install-record.txt' --single-version-externally-managed --compile" failed with error code 1 in C:\Users\tomoyan\AppData\Local\Temp\pip-install-wwvlcaj3\pyopencl\
OpenCL 開発環境構築 を行ってから PyOpenCL をインストールする。
参考文献
FLOPS - Wikipedia
AMD Phenom II - Wikipedia
Intel HD Graphics - Wikipedia
ATI Radeon HD 5870 Specs | TechPowerUp GPU Database
Intel HD Graphics 4000 Specs | TechPowerUp GPU Database
NVIDIA Tesla T4 Specs | TechPowerUp GPU Database
GPU GFLOPS
Intel Core i7 - Wikipedia
コア数も最高クロックもほとんど同じなのに Core i3 の方が Core i7 より演算性能が高いことがある? | かきしちカンパニー Web Magazine
Playing with the VideoCore IV GPU on a Raspberry Pi Zero using VC4CL | just for context by Kenny Peng