OpenMM build issues, missing files
OpenMM build issues, missing files
Hello,
I am trying to build OpenMM 4.1 from source and I'm running into some issues. Many of the files fail to build because they cannot locate a file called OpenMMOpenCL.lib. When I try to build OpenMMOpenCL, it fails due to a number of errors. I'm running windows 7 and using VS10.
Any help would be appreciated,
Ari
I am trying to build OpenMM 4.1 from source and I'm running into some issues. Many of the files fail to build because they cannot locate a file called OpenMMOpenCL.lib. When I try to build OpenMMOpenCL, it fails due to a number of errors. I'm running windows 7 and using VS10.
Any help would be appreciated,
Ari
Re: OpenMM build issues, missing files
Another bit of information. After doing some poking around I found that a file called cl.hpp is generating a large number of errors, such as "identifier not found" or "not a member of global namespace"
- Peter Eastman
- Posts: 2593
- Joined: Thu Aug 09, 2007 1:25 pm
Re: OpenMM build issues, missing files
Can you post the very first error that occurs? That's the root cause. Everything after that is probably just caused by the earlier error. Or you could just post the entire error log.
Peter
Peter
Re: OpenMM build issues, missing files
When I go to build OpenMMOpenCL I get these errors for every .cpp file, all stemming from a file the file cl.cpp
OpenCLBondedUtilities.cpp
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(1270): warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(1556): error C2039: 'clUnloadCompiler' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(1556): error C3861: 'clUnloadCompiler': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2200): error C2039: 'clCreateImage2D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2200): error C3861: 'clCreateImage2D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2245): error C2039: 'clCreateFromGLTexture2D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2245): error C3861: 'clCreateFromGLTexture2D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2299): error C2039: 'clCreateImage3D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2299): error C3861: 'clCreateImage3D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2345): error C2039: 'clCreateFromGLTexture3D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2345): error C3861: 'clCreateFromGLTexture3D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3389): error C2039: 'clEnqueueMarker' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3389): error C3861: 'clEnqueueMarker': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3396): error C2039: 'clEnqueueWaitForEvents' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3396): error C3861: 'clEnqueueWaitForEvents': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3511): error C2039: 'clEnqueueBarrier' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3511): error C3861: 'clEnqueueBarrier': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/openmmapi/include\openmm/System.h(127): warning C4018: '<' : signed/unsigned mismatch
2>..\..\..\..\OpenMM4.1.1-Source\platforms\opencl\src\OpenCLBondedUtilities.cpp(52): warning C4018: '<' : signed/unsigned mismatch
2>..\..\..\..\OpenMM4.1.1-Source\platforms\opencl\src\OpenCLBondedUtilities.cpp(120): warning C4018: '<' : signed/unsigned mismatch
2>..\..\..\..\OpenMM4.1.1-Source\platforms\opencl\src\OpenCLBondedUtilities.cpp(138): warning C4018: '<' : signed/unsigned mismatch
OpenCLBondedUtilities.cpp
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(1270): warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(1556): error C2039: 'clUnloadCompiler' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(1556): error C3861: 'clUnloadCompiler': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2200): error C2039: 'clCreateImage2D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2200): error C3861: 'clCreateImage2D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2245): error C2039: 'clCreateFromGLTexture2D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2245): error C3861: 'clCreateFromGLTexture2D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2299): error C2039: 'clCreateImage3D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2299): error C3861: 'clCreateImage3D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2345): error C2039: 'clCreateFromGLTexture3D' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(2345): error C3861: 'clCreateFromGLTexture3D': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3389): error C2039: 'clEnqueueMarker' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3389): error C3861: 'clEnqueueMarker': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3396): error C2039: 'clEnqueueWaitForEvents' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3396): error C3861: 'clEnqueueWaitForEvents': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3511): error C2039: 'clEnqueueBarrier' : is not a member of '`global namespace''
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/platforms/opencl/src\cl.hpp(3511): error C3861: 'clEnqueueBarrier': identifier not found
2>C:/Users/Ari/Documents/research/OpenMM4.1.1-Source/openmmapi/include\openmm/System.h(127): warning C4018: '<' : signed/unsigned mismatch
2>..\..\..\..\OpenMM4.1.1-Source\platforms\opencl\src\OpenCLBondedUtilities.cpp(52): warning C4018: '<' : signed/unsigned mismatch
2>..\..\..\..\OpenMM4.1.1-Source\platforms\opencl\src\OpenCLBondedUtilities.cpp(120): warning C4018: '<' : signed/unsigned mismatch
2>..\..\..\..\OpenMM4.1.1-Source\platforms\opencl\src\OpenCLBondedUtilities.cpp(138): warning C4018: '<' : signed/unsigned mismatch
Re: OpenMM build issues, missing files
So it looks like there is something wrong with the cl.hpp file. All of the files that don't involve openCL work fine, but any that do fail to build.
I've also been able to reproduce this problem when trying to install openMM on my laptop. Could I have configured CMake improperly, or do I need to configure VS10 or is it because I'm using Windows 7 64 bit?
I've also been able to reproduce this problem when trying to install openMM on my laptop. Could I have configured CMake improperly, or do I need to configure VS10 or is it because I'm using Windows 7 64 bit?
- Peter Eastman
- Posts: 2593
- Joined: Thu Aug 09, 2007 1:25 pm
Re: OpenMM build issues, missing files
I don't think there's anything wrong with that file. More likely it isn't finding your OpenCL header files.
In CMake, what is OPENCL_INCLUDE_DIR set to? What does the corresponding directory contain?
Using VS10 or 64 bit is unlikely to be causing this problem, but it could cause other problems later. In particular, do you plan to use any of the Python components of OpenMM? The standard Python interpreters distributed by python.org are built with VS9, so they can only link to other code that was also compiled with that same version.
Peter
In CMake, what is OPENCL_INCLUDE_DIR set to? What does the corresponding directory contain?
Using VS10 or 64 bit is unlikely to be causing this problem, but it could cause other problems later. In particular, do you plan to use any of the Python components of OpenMM? The standard Python interpreters distributed by python.org are built with VS9, so they can only link to other code that was also compiled with that same version.
Peter
Re: OpenMM build issues, missing files
It links to the include folder in my AMD APP folder. The include folder has three folders in it, CAL, CL, and OpenVideo. However I'm not using any of the python wrappers. I unselected a handful of the options in CMake that were turned on by default. Could that be another possible source of the errors?
Re: OpenMM build issues, missing files
I may have fixed my problem, but I'm not sure everything is working properly. I replaced the cl.hpp file that was in the OpenMM source with a cl.hpp file that was in the AMD APP include folder and rebuilt everything using CMake. Now everything compiles (but with a lot of warnings about unsigned/signed errors, but that may be ok I'm not sure) and all of the tests pass. However many of the OpenCl tests take a very long time. For instance TestOpenCLNonbondedForce took 69 seconds to complete, TestOpenCLEwald took 213 seconds and TestOpenCLCustomIntegrator took 118 seconds. Are these appropriate values? I just want to make sure replacing the cl.hpp file won't cause any issues down the road.
Thanks,
Ari
Thanks,
Ari
Re: OpenMM build issues, missing files
So everything seems to be working ok, however after installing my build I tried to run HelloArgon, but it used the Reference platform instead of OpenCL. I created the variable OPENMM_PLUGIN_DIR which didn't help. I'm using a 6950 card so it should work. Could an issue with the build prevent the use of the GPU?
- Peter Eastman
- Posts: 2593
- Joined: Thu Aug 09, 2007 1:25 pm
Re: OpenMM build issues, missing files
Interesting. I wonder what's different with their version of that file? I'll have to take a look.
It's fine for the tests to take a while. Each test program is really a whole test suite, so some of them run a lot of different tests.
Your 6950 should work fine. And clearly OpenCL is working, since the test cases ran and worked. Where is OpenMM installed? What is OPENMM_PLUGIN_DIR set to?
Peter
It's fine for the tests to take a while. Each test program is really a whole test suite, so some of them run a lot of different tests.
Your 6950 should work fine. And clearly OpenCL is working, since the test cases ran and worked. Where is OpenMM installed? What is OPENMM_PLUGIN_DIR set to?
Peter