【发布时间】:2018-10-26 19:36:41
【问题描述】:
所以我正在尝试使用silx.image.sift 运行一个程序,该程序使用pyopencl。在运行该软件时,我在构建 openCL 程序时遇到了问题,我已将该程序隔离到以下重现该错误的代码:
import numpy as np
import pyopencl as cl
from pyopencl.clrandom import rand as clrand
context = cl.create_some_context()
queue = cl.CommandQueue(context)
clrand(queue, (50,), np.float32)
由于此代码尽可能基本,我猜这是(遗憾的是)最近安装的 macOS Mojave 的一个错误。这是我在运行使用pyopencl 的代码时经常遇到的错误:
File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyopencl/clrandom.py", line 642, in _fill self.get_gen_kernel(ary.dtype, distribution) File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pytools/__init__.py", line 598, in wrapper result = function(obj, *args, **kwargs) File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyopencl/clrandom.py", line 623, in get_gen_kernel prg = cl.Program(self.context, src).build() File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyopencl/__init__.py", line 510, in build options_bytes=options_bytes, source=self._source) File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyopencl/__init__.py", line 554, in _build_and_catch_errors raise err pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE Build on <pyopencl.Device 'Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz' on 'Apple' at 0xffffffff>:
不确定这是 pyopencl 问题还是一般的 opencl 问题。我了解 OpenCL 在 macOS mojave 中已被弃用,但这不应该意味着它根本无法正常工作?
【问题讨论】:
-
在安装了带有
brew install python的python3 (3.7.0) 和带有pip3 install numpy pybind11 pyopencl的pyopencl 之后,您的代码适用于我在带有MacOS Mojave 的iMac 上。 -
对于它的价值,在 10.12.6 和 POCL 2018.1.1,我收到一些警告,例如,
:17:19: warning: no previous prototype for function 'gen_bits' uint4 gen_bits(key_t *key, ctr_t *ctr)。 :66:32: 警告:不同符号整数的比较:'unsigned long' 和 'long' while (idx + 4
标签: python python-3.x opencl pyopencl macos-mojave