Page 1 of 1

OpenMM 6.2 installation

Posted: Wed Feb 18, 2015 1:03 pm
by kpbishop
Hello,

I've been trying to install the Linux binary. From the installation guide, it appears all I need to do is set LD_LIBRARY_PATH and OPENMM_CUDA_COMPILER prior to running install.sh. My variables are set as follows:

Code: Select all

LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:/usr/lib64:/home/sdm/Dev/lib:/home/sdm/Dev/openmm/lib:/home/sdm/Dev/openmm/lib/plugins

OPENMM_CUDA_COMPILER=/usr/local/cuda-6.5/bin/nvcc
I've run the install and everything looks to be ok but when I test it with python -m simtk.testInstallation, I get:

Code: Select all

There are 4 Platforms available:

1 Reference - Successfully computed forces
2 CPU - Successfully computed forces
3 OpenCL - Successfully computed forces
Segmentation fault (core dumped)
I've tried to track down where it could be having trouble and managed to find this error:

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
0x00002aaab7bb6739 in cufftCreate () from /usr/local/cuda-6.5/lib64/libcufft.so.6.5
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 glibc-2.12-1.132.el6.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12-18.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libstdc++-4.4.7-4.el6.x86_64 openssl-1.0.1e-16.el6_5.14.x86_64
Any advice is greatly appreciated!
Thanks!
Kevin

Re: OpenMM 6.2 installation

Posted: Wed Feb 18, 2015 1:11 pm
by kpbishop
I've also seen the following output:

Code: Select all

There are 4 Platforms available:

1 Reference - Successfully computed forces
2 CPU - Successfully computed forces
3 OpenCL - Successfully computed forces
4 CUDA - Error computing forces with CUDA platform

CUDA platform error: Error initializing FFT: 11

Median difference in forces between platforms:

Reference vs. CPU: 2.02195e-05
Reference vs. OpenCL: 2.15539e-05
CPU vs. OpenCL: 1.59235e-05
So for some reason, the FFT isn't initializing properly with CUDA.

Kevin

Re: OpenMM 6.2 installation

Posted: Wed Feb 18, 2015 1:31 pm
by peastman
Try this:

ldd /home/sdm/Dev/openmm/lib/plugins/libOpenMMCUDA.so

That will print out information about all the libraries it's linking to. I'm wondering if it's somehow picking up the wrong version of cufft.

Also, let's make sure it's really using the version of OpenMM you think it is. Launch a python interpreter then type:

import simtk.openmm
print(simtk.openmm.version.openmm_library_path)

I assume you have not set OPENMM_PLUGIN_DIR, correct?

Peter

Re: OpenMM 6.2 installation

Posted: Wed Feb 18, 2015 1:53 pm
by kpbishop
Thanks for the quick reply!

Code: Select all

$ ldd /home/sdm/Dev/openmm/lib/plugins/libOpenMMCUDA.so
	linux-vdso.so.1 =>  (0x00007fff5271e000)
	libOpenMM.so => /home/sdm/Dev/openmm/lib/libOpenMM.so (0x00002b7c9db1b000)
	libcuda.so.1 => /usr/lib64/libcuda.so.1 (0x00002b7c9dfe9000)
	libcufft.so.6.5 => /usr/local/cuda-6.5/lib64/libcufft.so.6.5 (0x00002b7c9ef4d000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b7ca1983000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00002b7ca1ba1000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b7ca1da5000)
	libm.so.6 => /lib64/libm.so.6 (0x00002b7ca20ab000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b7ca2330000)
	libc.so.6 => /lib64/libc.so.6 (0x00002b7ca2546000)
	librt.so.1 => /lib64/librt.so.1 (0x00002b7ca28da000)
	libz.so.1 => /home/sdm/Dev/lib/libz.so.1 (0x00002b7ca2ae3000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003793e00000)
So it appears to be picking up the correct version of cufft. Could the problem be that libcuda is linking to a different directory?

I have tried setting OPENMM_PLUGIN_DIR but I have unset it and obtained the following from a python interpreter:

Code: Select all

Python 2.7.9 (default, Feb 18 2015, 11:03:27)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import simtk.openmm
>>> print(simtk.openmm.version.openmm_library_path)
/home/sdm/Dev/openmm/lib

Re: OpenMM 6.2 installation

Posted: Wed Feb 18, 2015 2:31 pm
by kpbishop
I figured out what was causing the problem.

I had updated the machine to CUDA 6.5 awhile ago and it put nvcc in /usr/local/cuda-6.5 but the utilities in /usr/bin/nvidia* (ie. nvidia-smi) were still with the older driver 331.x. I updated these files and nvidia-smi now shows Driver version 340.29 and OpenMM passes all the tests!

Thanks for the help!
Kevin