差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン両方とも次のリビジョン | ||
python:pyopencl [2020/06/11 07:07] – [PyOpenCL のインストール] ともやん | python:pyopencl [2024/04/23 11:51] – [トラブルシューティング] ともやん | ||
---|---|---|---|
行 1: | 行 1: | ||
- | < | + | ~~CLOSETOC~~ |
- | <script type=" | + | |
- | + | ||
- | < | + | |
- | #result pre, #mincode pre { | + | |
- | overflow: hidden; | + | |
- | font-size: 10px; | + | |
- | } | + | |
- | # | + | |
- | height: 250px; | + | |
- | overflow: scroll; | + | |
- | overflow-x: hidden; | + | |
- | font-size: 10px; | + | |
- | } | + | |
- | #mintbl table { | + | |
- | font-size: 12px; | + | |
- | } | + | |
- | #mintbl td pre { | + | |
- | margin: 0; | + | |
- | } | + | |
- | #img_long { | + | |
- | height: 400px; | + | |
- | overflow: scroll; | + | |
- | overflow-x: hidden; | + | |
- | } | + | |
- | .dokuwiki .plugin_wrap table { | + | |
- | width: auto; | + | |
- | } | + | |
- | #logo { | + | |
- | background-color: | + | |
- | padding: 10px; | + | |
- | width: fit-content; | + | |
- | } | + | |
- | #logo p { | + | |
- | margin: 0; | + | |
- | } | + | |
- | </ | + | |
- | </ | + | |
====== PyOpenCL のインストール ====== | ====== PyOpenCL のインストール ====== | ||
ここでは、以下の CPU および GPU を使用してベンチマークを行った。\\ | ここでは、以下の CPU および GPU を使用してベンチマークを行った。\\ | ||
行 47: | 行 10: | ||
< | < | ||
- | <div id="chart_div" | + | <iframe width="640" |
- | < | + | |
- | google.charts.load(' | + | |
- | packages: [' | + | |
- | }); | + | |
- | google.charts.setOnLoadCallback(drawMultSeries); | + | |
- | + | ||
- | function drawMultSeries() { | + | |
- | let data = google.visualization.arrayToDataTable([ | + | |
- | [' | + | |
- | [' | + | |
- | {v: 0.0000072220, | + | |
- | [' | + | |
- | {v: 0.0007947200, | + | |
- | [' | + | |
- | {v: 0.0010557440, | + | |
- | [' | + | |
- | {v: 0.0010633330, | + | |
- | [' | + | |
- | {v: 0.0011095000, | + | |
- | [' | + | |
- | {v: 0.0015742400, | + | |
- | ]); | + | |
- | + | ||
- | let options = { | + | |
- | title: ' | + | |
- | chartArea: { | + | |
- | width: ' | + | |
- | }, | + | |
- | width: 600, | + | |
- | height: 400, | + | |
- | is3D: true, | + | |
- | hAxis: { | + | |
- | title: '<- fast | slow ->', | + | |
- | minValue: 0, | + | |
- | scaleType: ' | + | |
- | }, | + | |
- | vAxis: { | + | |
- | title: ' | + | |
- | }, | + | |
- | explorer: { | + | |
- | actions: [' | + | |
- | axis: ' | + | |
- | keepInBounds: | + | |
- | maxZoomIn: 4.0 | + | |
- | } | + | |
- | }; | + | |
- | + | ||
- | let chart = new google.visualization.BarChart(document.getElementById(' | + | |
- | chart.draw(data, | + | |
- | } | + | |
- | | + | |
</ | </ | ||
+ | |||
+ | 本家: [[https:// | ||
+ | OpenCL本家: | ||
+ | |||
+ | ===== OpenCL 開発環境 ===== | ||
+ | OpenCL を利用するには OS プラットフォームに関係なく、[[c_cpp: | ||
+ | |||
===== Windows ===== | ===== Windows ===== | ||
PyOpenCL をインストールするには、[[windows: | PyOpenCL をインストールするには、[[windows: | ||
- | \\ | + | |
+ | PyOpenCL 仮想環境の作成を行う。(任意)\\ | ||
+ | <WRAP prewrap 100% # | ||
+ | < | ||
+ | $ 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) | ||
+ | | ||
+ | Installing collected packages: pip | ||
+ | Attempting uninstall: pip | ||
+ | Found existing installation: | ||
+ | Uninstalling pip-20.1.1: | ||
+ | Successfully uninstalled pip-20.1.1 | ||
+ | Successfully installed pip-20.2.3 | ||
+ | </ | ||
+ | </ | ||
pybind11、Mako をインストールする。\\ | pybind11、Mako をインストールする。\\ | ||
<WRAP prewrap 100% #result> | <WRAP prewrap 100% #result> | ||
< | < | ||
- | > pip install pybind11 | + | > pip install pybind11 |
Collecting pybind11 | Collecting pybind11 | ||
- | Downloading | + | Downloading pybind11-2.5.0-py2.py3-none-any.whl (296 kB) |
- | | + | |
- | Collecting | + | Collecting |
- | Downloading | + | Downloading Mako-1.1.3-py2.py3-none-any.whl (75 kB) |
- | | + | |
- | Collecting MarkupSafe> | + | Collecting MarkupSafe> |
- | Downloading | + | Downloading MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl |
- | Installing collected packages: pybind11, MarkupSafe, | + | Installing collected packages: pybind11, MarkupSafe, |
- | Running setup.py install for Mako ... done | + | Successfully installed |
- | Successfully installed | + | |
</ | </ | ||
</ | </ | ||
+ | |||
PyOpenCL をインストールする。\\ | PyOpenCL をインストールする。\\ | ||
< | < | ||
行 127: | 行 64: | ||
< | < | ||
Collecting pyopencl | Collecting pyopencl | ||
- | Downloading | + | Downloading pyopencl-2020.2.2.tar.gz (352 kB) |
- | | + | |
- | Collecting numpy (from pyopencl) | + | Collecting numpy |
- | | + | |
- | | + | Collecting pytools> |
- | Collecting pytools> | + | Downloading pytools-2020.4.tar.gz (67 kB) |
- | Downloading | + | |
- | | + | Collecting decorator> |
- | Collecting decorator> | + | Downloading decorator-4.4.2-py2.py3-none-any.whl |
- | Downloading | + | Collecting appdirs> |
- | Collecting appdirs> | + | Downloading appdirs-1.4.4-py2.py3-none-any.whl |
- | Downloading | + | Collecting six>=1.8.0 |
- | Collecting six>=1.9.0 (from pyopencl) | + | |
- | | + | Using legacy ' |
+ | Using legacy ' | ||
Installing collected packages: numpy, decorator, appdirs, six, pytools, pyopencl | Installing collected packages: numpy, decorator, appdirs, six, pytools, pyopencl | ||
- | | + | |
- | Running setup.py install for pyopencl ... done | + | Running setup.py install for pyopencl ... done |
- | Successfully installed appdirs-1.4.3 decorator-4.4.0 numpy-1.17.0 pyopencl-2019.1 pytools-2019.1.1 six-1.12.0 | + | 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 |
</ | </ | ||
</ | </ | ||
行 399: | 行 337: | ||
===== トラブルシューティング ===== | ===== トラブルシューティング ===== | ||
+ | ==== fatal error: CL/cl.h: No such file or directory が発生する...😢 ==== | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result_hlong>< | ||
+ | Using pip 24.0 from / | ||
+ | Looking in indexes: https:// | ||
+ | Collecting pyopencl | ||
+ | Downloading pyopencl-2024.1.tar.gz (473 kB) | ||
+ | < | ||
+ | Running command pip subprocess to install build dependencies | ||
+ | Looking in indexes: https:// | ||
+ | Ignoring numpy: markers & | ||
+ | Collecting setuptools& | ||
+ | Downloading https:// | ||
+ | | ||
+ | Collecting wheel& | ||
+ | Downloading https:// | ||
+ | | ||
+ | Collecting oldest-supported-numpy | ||
+ | Downloading https:// | ||
+ | Collecting pybind11& | ||
+ | Downloading https:// | ||
+ | | ||
+ | Collecting numpy==1.23.2 (from oldest-supported-numpy) | ||
+ | WARNING: Retrying (Retry(total=4, | ||
+ | Downloading https:// | ||
+ | | ||
+ | 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/ | ||
+ | writing dependency_links to pyopencl.egg-info/ | ||
+ | writing requirements to pyopencl.egg-info/ | ||
+ | writing top-level names to pyopencl.egg-info/ | ||
+ | reading manifest file & | ||
+ | reading manifest template & | ||
+ | warning: no files found matching & | ||
+ | warning: no previously-included files matching & | ||
+ | adding license file & | ||
+ | writing manifest file & | ||
+ | Getting requirements to build wheel ... done | ||
+ | Running command Preparing metadata (pyproject.toml) | ||
+ | running dist_info | ||
+ | creating / | ||
+ | writing / | ||
+ | writing dependency_links to / | ||
+ | writing requirements to / | ||
+ | writing top-level names to / | ||
+ | writing manifest file & | ||
+ | reading manifest file & | ||
+ | reading manifest template & | ||
+ | warning: no files found matching & | ||
+ | warning: no previously-included files matching & | ||
+ | adding license file & | ||
+ | writing manifest file & | ||
+ | creating & | ||
+ | Preparing metadata (pyproject.toml) ... done | ||
+ | Link requires a different Python (3.11.2 not in: & | ||
+ | Link requires a different Python (3.11.2 not in: & | ||
+ | Link requires a different Python (3.11.2 not in: & | ||
+ | Link requires a different Python (3.11.2 not in: & | ||
+ | Link requires a different Python (3.11.2 not in: & | ||
+ | Collecting numpy (from pyopencl) | ||
+ | Downloading https:// | ||
+ | < | ||
+ | Collecting pytools& | ||
+ | Downloading https:// | ||
+ | < | ||
+ | Requirement already satisfied: platformdirs& | ||
+ | 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/ | ||
+ | creating build/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | creating build/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | creating build/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | creating build/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | running egg_info | ||
+ | writing pyopencl.egg-info/ | ||
+ | writing dependency_links to pyopencl.egg-info/ | ||
+ | writing requirements to pyopencl.egg-info/ | ||
+ | writing top-level names to pyopencl.egg-info/ | ||
+ | reading manifest file & | ||
+ | reading manifest template & | ||
+ | warning: no files found matching & | ||
+ | warning: no previously-included files matching & | ||
+ | adding license file & | ||
+ | writing manifest file & | ||
+ | / | ||
+ | !! | ||
+ | |||
+ | ******************************************************************************** | ||
+ | ############################ | ||
+ | # Package would be ignored # | ||
+ | ############################ | ||
+ | Python recognizes & | ||
+ | but it is absent from setuptools& | ||
+ | |||
+ | This leads to an ambiguous overall configuration. If you want to distribute this | ||
+ | package, please make sure that & | ||
+ | to the `packages` configuration field. | ||
+ | |||
+ | Alternatively, | ||
+ | (for example by using `find_namespace_packages(...)`/ | ||
+ | instead of `find_packages(...)`/ | ||
+ | |||
+ | You can read more about & | ||
+ | |||
+ | - https:// | ||
+ | |||
+ | If you don& | ||
+ | already explicitly excluding & | ||
+ | `find_namespace_packages(...)/ | ||
+ | you can try to use `exclude_package_data`, | ||
+ | combination with a more fine grained `package-data` configuration. | ||
+ | |||
+ | You can read more about & | ||
+ | |||
+ | - https:// | ||
+ | |||
+ | |||
+ | [^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/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | creating build/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | copying pyopencl/ | ||
+ | running build_ext | ||
+ | creating var | ||
+ | creating var/tmp | ||
+ | arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -I/ | ||
+ | arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -I/ | ||
+ | building & | ||
+ | creating build/ | ||
+ | creating build/ | ||
+ | arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/ | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
+ | arm-linux-gnueabihf-gcc -Wsign-compare -fwrapv -Wall -O3 -DNDEBUG -fPIC -DPYGPU_PACKAGE=pyopencl -DPYGPU_PYOPENCL=1 -Ipybind11/ | ||
+ | In file included from src/ | ||
+ | src/ | ||
+ | 70 | #include & | ||
+ | | ^~~~~~~~~ | ||
+ | compilation terminated. | ||
+ | error: command & | ||
+ | <font color="# | ||
+ | | ||
+ | <font color="# | ||
+ | <font color="# | ||
+ | <font color="# | ||
+ | | ||
+ | <font color="# | ||
+ | <font color="# | ||
+ | <font color="# | ||
+ | Building wheel for pyopencl (pyproject.toml) ... error | ||
+ | <font color="# | ||
+ | Failed to build pyopencl | ||
+ | <font color="# | ||
+ | & | ||
+ | </ | ||
+ | </ | ||
==== Pybind11 is not installed. と Mako is not installed. が発生する ==== | ==== Pybind11 is not installed. と Mako is not installed. が発生する ==== | ||
< | < | ||
> pip install pyopencl | > pip install pyopencl | ||
</ | </ | ||
- | <WRAP prewrap 100% #result> | + | <WRAP prewrap 100% #result_long> |
< | < | ||
Collecting pyopencl | Collecting pyopencl | ||
行 546: | 行 698: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ==== error: Microsoft Visual C++ 14.0 is required. が発生する ==== | ||
+ | < | ||
+ | > pip install pyopencl | ||
+ | </ | ||
+ | |||
+ | <WRAP prewrap 100% # | ||
+ | < | ||
+ | Collecting pyopencl | ||
+ | Using cached pyopencl-2020.2.1.tar.gz (352 kB) | ||
+ | Requirement already satisfied: numpy in c: | ||
+ | Requirement already satisfied: pytools> | ||
+ | Requirement already satisfied: decorator> | ||
+ | Requirement already satisfied: appdirs> | ||
+ | Requirement already satisfied: six> | ||
+ | Using legacy setup.py install for pyopencl, since package ' | ||
+ | Installing collected packages: pyopencl | ||
+ | Running setup.py install for pyopencl ... error | ||
+ | ERROR: Command errored out with exit status 1: | ||
+ | | ||
+ | cwd: C: | ||
+ | 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 ' | ||
+ | reading manifest template ' | ||
+ | warning: no files found matching ' | ||
+ | warning: no files found matching ' | ||
+ | warning: no files found matching ' | ||
+ | warning: no files found matching ' | ||
+ | warning: no files found matching ' | ||
+ | writing manifest file ' | ||
+ | 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 ' | ||
+ | error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": | ||
+ | ---------------------------------------- | ||
+ | ERROR: Command errored out with exit status 1: ' | ||
+ | </ | ||
+ | </ | ||
+ | 手軽に済ませたい場合は [[windows: | ||
==== fatal error C1083: include ファイルを開けません。' | ==== fatal error C1083: include ファイルを開けません。' | ||
行 551: | 行 800: | ||
> pip install pyopencl | > pip install pyopencl | ||
</ | </ | ||
- | <WRAP prewrap 100% #result> | + | <WRAP prewrap 100% #result_long> |
< | < | ||
Collecting pyopencl | Collecting pyopencl |