I am attempting to install ViennaCL-1.2.1 in scientific linux for future GPU computing. When I attempt to call make, i get a variety of errors, with most along the lines "undefined reference to 'clXXXXX'. I am assuming this is due to it not properly finding my OpenCL library. What I don't know is if I have the sufficient libraries. In /usr/lib I have libOpenCL.so, and I have installed the most up-to-date NVIDIA driver for my graphics card. The driver supports OpenCL, but do I need more downloads from the NVIDIA site to use the ViennaCL library?
EDIT: I solved the above make issue (I believe) by simply rerunning cmake. I think that I hadn't properly installed the libraries when I first ran cmake and it made silent errors when creating the make files. However this has simply changed the nature of the problem.
Now, whenever I run any of the tutorials or benchmarks included with ViennaCL, I get a fatal error, where 'ViennaCL encountered an unknown OpenCL Error'. It says this could be due to several compilation errors, but does not go into any further detail. The only one that does not throw an error is 'bandwidth-reduction' which from the manual is found to be the only one that does not require OpenCL.
For reference, here is my installation process for ViennaCL and the GPU drivers:
- sftp ViennaCL-1.2.1 to ~/Documents/packageInstall - cd /usr/include - sudo mkdir viennacl - sudo cp -r ~/Documents/packageInstall/ViennaCL-1.2.1/viennacl/* /usr/include/viennacl - sudo mkdir CL - sudo cp -r ~/Documents/packageInstall/ViennaCL-1.2.1/CL/* /usr/include/CL - sftp gpucomputingsdk_4.2.9_linux.run to ~/Documents/packageInstall - sftp cudatoolkit_4.2.9_linux_64_rhel6.0.run to ~/Documents/packageInstall - cd ~/Documents/packageInstall - sudo sh ./cudatoolkit_4.2.9_linux_64_rhel6.0.run - sudo sh ./gpucomputingsdk_4.2.9_linux.run - cd ViennaCL-1.2.1/build - cmake .. - sudo make - ./examples/tutorial/blas1 (or any other example)