- nvidia인경우 cuda toolkit을 설치하면 opencl 라이브러리도 함께 설치된다.
- numpy, setuptools 모듈을 설치해준다.
1. python configure.py 실행하면 siteconf.py 파일이 생성된다.
2. siteconf.py 파일 수정
BOOST_INC_DIR = ['/usr/include/boost']
BOOST_LIB_DIR = ['/usr/lib/x86_64-linux-gnu']
BOOST_COMPILER = 'gcc43'
BOOST_PYTHON_LIBNAME = ['boost_python-py27']
USE_SHIPPED_BOOST = False
CL_TRACE = False
CL_ENABLE_GL = True
CL_ENABLE_DEVICE_FISSION = True
CL_INC_DIR = ['/usr/local/cuda-6.5/include']
CL_LIB_DIR = ['/usr/local/cuda-6.5/lib64']
CL_LIBNAME = ['OpenCL']
CXXFLAGS = []
LDFLAGS = []
3. sudo python setup.py install
* 중요 : 빌드는 정상적으로 되었는데 python을 실행하여 import pyopencl을 실행하면 아래와 같은 에러가 발생하는 경우가 있다. 정확한 원인은 모르겠으나 pip를 통해 설치된 pytools는 삭제하고 apt-get install 명령을 사용해 python-pytools를 설치해주면 문제는 해결된다.
또한 pyopencl 소스가 있는곳에서 import pyopencl을 실행하면 _cl 모듈을 찾을수없다는 에러가 발생하므로 작업폴더를 변경해주면 된다.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pyopencl-2015.1-py2.7-linux-x86_64.egg/pyopencl/__init__.py", line 762, in <module>
_add_functionality()
File "/usr/local/lib/python2.7/dist-packages/pyopencl-2015.1-py2.7-linux-x86_64.egg/pyopencl/__init__.py", line 379, in _add_functionality
from pytools import memoize_method
File "/usr/local/lib/python2.7/dist-packages/pytools-2014.3.5-py2.7.egg/pytools/__init__.py", line 5, in <module>
from six.moves import range, zip, intern, input
ImportError: cannot import name intern
1. sudo pip uninstall pytools
2. sudo apt-get install python-pytools
댓글 없음:
댓글 쓰기