Update: I removed everything and used the system package manager. I think the "No module named 'pyopencl._cffi'" and "undefined symbol: clCreateSubDevice" were related to building from source. Using the package manger version seems to avoid these errors.
Which just leaves the "PLATFORM_NOT_FOUND_KHR", and the related CUDA "cuInit failed: no device" error, which is presumably due to misconfiguration. I don't remember how to fix this. I searched around, and applied commonly reported solutions, but none have worked so far. I'll work on this some more later. On Thu, May 12, 2016 at 7:56 PM, M.Rule <[email protected]> wrote: > The quick summary: > > I get these four errors > > 1. Cannot import intern (eminating from six and pytools) > 2. undefined symbol: clCreateSubDevice > 3. PLATFORM_NOT_FOUND_KHR > 4. No module named 'pyopencl._cffi' > > I was able to find forum posts discussing all of the above except the last. > > The long story: > > System configuration: $ uname -a && cat /etc/lsb-release && lspci | grep NV > > - Linux 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 > x86_64 x86_64 x86_64 GNU/Linux > - DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa" > - 01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce > GT 730] (rev a1) > > Graphics drivers obtained thusly: > > 1. sudo add-apt-repository ppa:xorg-edgers/ppa > 2. sudo apt-get update > 3. sudo apt-get install nvidia-346 nvidia-settings > > > At first I attempted to install by building the latest OpenCL source from > github > > 1. sudo apt-get install libboost-all-dev python-setuptools > python-numpy libffi-dev nvidia-opencl-dev > 2. git clone --recursive http://git.tiker.net/trees/pyopencl.git > 3. cd pyopencl/ > 4. python ./configure.py > 5. make > 6. sudo make install > > This runs into trouble when attempting to import "intern" from the package > six. The stated resolution to this issue is to modify the pyopencl source > to skip this import if it is unavailable. After I did this the same error > recurred, this time eminating from pytools. As a workaround, I removed > pytools (previously intalled from the system package manager) and > reinstalled both it and six for my user using pip: > > 1. sudo pip uninstall pytools > 2. sudo pip install six --upgrade --user > 3. sudo pip install pytools --upgrade --user > > This resolved the `intern` import error, but then the error `No module > named 'pyopencl._cffi'` appeared. I didn't find anyone else with this error > via Google, as most people are reporting that they can't find *cffi*, which > is in fact installed on my system and imports just fine. Not really knowing > what to do, I repeated the install process, this time as described here > <https://wiki.tiker.net/PyOpenCL/Installation/Linux/Ubuntu> > > I could now import pyopencl without error, but I couldn't run the demos. I > got the `PLATFORM_NOT_FOUND_KHR` error. According to the NVidia forums > <https://devtalk.nvidia.com/default/topic/465288/problem-running-opencl-programs/>, > the solution to this should be to run a script to register the card > properly so OpenCL can find it. This doesn't seem to be relevant, as the > drivers are already loaded and the appropriate devices are already > initialized in /dev. > > I rebooted the machine, same error. I cleaned, rebuilt, and reinstalled > `pyopencl-2016.1`. I then got a new error: `undefined symbol: > clCreateSubDevices`. This post suggested > <http://stackoverflow.com/questions/21215024/pyopencl-errror-undefined-symbolipython-clcreatesubdevices> > that the workaround is to define `CL_PRETEND_VERSION = "1.1"` in the > siteconf.py file within the opencl source directory. I did this and reran > `make clean && make && sudo make install`. This did not resolve the issue. > > I tried purging the installation and starting again from scratch, but ran > into the `No module named 'pyopencl._cffi'` error again. At this point I'm > stuck. > > Thoughts? > > > > > > > > >
_______________________________________________ PyOpenCL mailing list [email protected] https://lists.tiker.net/listinfo/pyopencl
