Hi,<div><br></div><div>you don&#39;t need OpenMM for the new GPU feature in 4.6. It has build in GPU/Cuda support. Also you seem to have downloaded the master branch and not 4.6. If you got the code by git you can use &quot;git checkout release-4-6&quot; to get 4.6.</div>

<div>You seem to have found a problem with OpenMM and the master branch. I don&#39;t know whether we are planning to support OpenMM for 5.0 so I&#39;m not sure this is something important to fix.</div><div><br></div><div>

Roland<br><br><div class="gmail_quote">On Thu, Aug 23, 2012 at 6:06 PM, Thomas Evangelidis <span dir="ltr">&lt;<a href="mailto:tevang3@gmail.com" target="_blank">tevang3@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
Greetings,<br>
<br>
I am trying to compile the latest source (v4.6) with cmake. I think I managed to set up my laptop GPU (GEFORCE GT 650M) with bumblebee in Fedora 17 (I am not 100% sure), and after working out several installation errors, I stuck at the point described below.
 I would describe every step I did in detail hence the long text. Hope someone can help me.<br>
<br>
# After installing OpenMM4.1.1 and CUDA4.1 <br>
$cd gromacs<br>
$mkdir build_gromacs_gpu<br>
$cd build_gromacs_gpu<br>
$export OPENMM_ROOT_DIR=/home/thomas/Programs/OpenMM4.1.1-Linux64<br>
$cmake -i ../ -DGMX_OPENMM=ON -DCMAKE_INSTALL_PREFIX=`pwd`/installation_dir -DGMX_THREADS=OFF<br>
<br>
Would you like to see advanced options? [No]:<br>
Please wait while cmake processes CMakeLists.txt files....<br>
<br>
<br>
<br>
Variable Name: BUILD_SHARED_LIBS<br>
Description: Enable shared libraries (can be problematic with MPI, Windows)<br>
Current Value: ON<br>
New Value (Enter to keep current value): OFF<br>
<br>
Variable Name: Boost_DIR<br>
Description: The directory containing a CMake configuration file for Boost.<br>
Current Value: Boost_DIR-NOTFOUND<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CMAKE_BUILD_TYPE<br>
Description: Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.<br>
Current Value: Release<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CMAKE_INSTALL_PREFIX<br>
Description: Install path prefix, prepended onto install directories.<br>
Current Value: /home/thomas/Programs/gromacs/build_gromacs_gpu/installation_dir<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_BUILD_CUBIN<br>
Description: Generate and parse .cubin files in Device mode.<br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_BUILD_EMULATION<br>
Description: Build in Emulation mode<br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_SDK_ROOT_DIR<br>
Description: Path to a file.<br>
Current Value: CUDA_SDK_ROOT_DIR-NOTFOUND<br>
New Value (Enter to keep current value): /opt/cuda<br>
<br>
Variable Name: CUDA_TOOLKIT_ROOT_DIR<br>
Description: Toolkit location.<br>
Current Value: /opt/cuda<br>
New Value (Enter to keep current value): q^C<br>
thomas@thomasASUS:~/Programs/gromacs/build_gromacs_gpu$ cmake -i ../ -DGMX_OPENMM=ON -DCMAKE_INSTALL_PREFIX=`pwd`/installation_dir -DGMX_THREADS=OFF<br>
Would you like to see advanced options? [No]:<br>
Please wait while cmake processes CMakeLists.txt files....<br>
<br>
<br>
<br>
Variable Name: BUILD_SHARED_LIBS<br>
Description: Enable shared libraries (can be problematic with MPI, Windows)<br>
Current Value: ON<br>
New Value (Enter to keep current value): OFF<br>
<br>
Variable Name: Boost_DIR<br>
Description: The directory containing a CMake configuration file for Boost.<br>
Current Value: Boost_DIR-NOTFOUND<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CMAKE_BUILD_TYPE<br>
Description: Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.<br>
Current Value: Release<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CMAKE_INSTALL_PREFIX<br>
Description: Install path prefix, prepended onto install directories.<br>
Current Value: /home/thomas/Programs/gromacs/build_gromacs_gpu/installation_dir<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_BUILD_CUBIN<br>
Description: Generate and parse .cubin files in Device mode.<br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_BUILD_EMULATION<br>
Description: Build in Emulation mode<br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_SDK_ROOT_DIR<br>
Description: Path to a file.<br>
Current Value: CUDA_SDK_ROOT_DIR-NOTFOUND<br>
New Value (Enter to keep current value): /home/thomas/NVIDIA_GPU_Computing_SDK <br>
<br>
Variable Name: CUDA_TOOLKIT_ROOT_DIR<br>
Description: Toolkit location.<br>
Current Value: /opt/cuda<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: CUDA_VERBOSE_BUILD<br>
Description: Print out the commands run while compiling the CUDA source file.  With the Makefile generator this defaults to VERBOSE variable specified on the command line, but can be forced on with this option.<br>
Current Value: OFF<br>
New Value (Enter to keep current value): ON<br>
<br>
Variable Name: GMX_DEFAULT_SUFFIX<br>
Description: Use default suffixes for GROMACS binaries and libs (_d for double, _mpi for MPI; rerun cmake after changing to see relevant options)<br>
Current Value: ON<br>
New Value (Enter to keep current value): _cuda<br>
<br>
Variable Name: GMX_GSL<br>
Description: Add support for gsl<br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: GMX_INTERNAL_BOOST<br>
Description: Use minimal internal version of boost<br>
Current Value: OFF<br>
New Value (Enter to keep current value): ON<br>
<br>
Variable Name: GMX_OPENMM<br>
Description: Accelerated execution on GPUs through the OpenMM library (rerun cmake after changing to see relevant options)<br>
Current Value: ON<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: GMX_OPENMP<br>
Description: Enable OpenMP-based mutithreading. <br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: GMX_X11<br>
Description: Use X window system<br>
Current Value: OFF<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: GMX_XML<br>
Description: Use libxml2 to parse xml files<br>
Current Value: ON<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: OpenMM_PLUGIN_DIR<br>
Description: OpenMM plugins directory<br>
Current Value: /home/thomas/Programs/OpenMM4.1.1-Linux64/lib/plugins<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: OpenMM_ROOT_DIR<br>
Description: OpenMM installation directory<br>
Current Value: /home/thomas/Programs/OpenMM4.1.1-Linux64<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: PTHREADS_INCLUDE_DIR<br>
Description: Path to a file.<br>
Current Value: /usr/include<br>
New Value (Enter to keep current value): <br>
<br>
Variable Name: PTHREADS_LIBRARY<br>
Description: The Portable Threads Library<br>
Current Value: /usr/lib64/libpthread.so<br>
New Value (Enter to keep current value): <br>
<br>
Please wait while cmake processes CMakeLists.txt files....<br>
<br>
<br>
<br>
CMake Warning:<br>
  Manually-specified variables were not used by the project:<br>
<br>
    GMX_THREADS<br>
<br>
<br>
CMake complete, run make to build project.<br>
<br>
<br>
<br>
$ make mdrun<br>
[  0%] Generating version information<br>
[  0%] Built target gmx_version<br>
Scanning dependencies of target libgromacs<br>
[  0%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/pgutil.c.o<br>
[  0%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/gen_vsite.c.o<br>
[  0%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/pdb2top.c.o<br>
[  0%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/hackblock.c.o<br>
[  0%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/resall.c.o<br>
[  0%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/gen_ad.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/compute_io.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/ter_db.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/fflibutil.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/topdirs.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/topexcl.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/toppush.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/h_db.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/toputil.c.o<br>
[  1%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/gpp_bond_atomtype.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/readpull.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/topshake.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/gpp_atomtype.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/readir.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/add_par.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/readadress.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/topio.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/genhydro.c.o<br>
[  2%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/vsite_parm.c.o<br>
[  4%] Building C object src/gromacs/CMakeFiles/libgromacs.dir/gmxpreprocess/readrot.c.o<br>
[  4%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/analysisdata/analysisdata.cpp.o<br>
In file included from /home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:45:0:<br>
/home/thomas/Programs/gromacs/src/gromacs/utility/uniqueptr.h:77:12: error: ‘std::move’ has not been declared<br>
/home/thomas/Programs/gromacs/src/gromacs/utility/uniqueptr.h:81:13: error: ‘unique_ptr’ in namespace ‘std’ does not name a type<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:92:17: error: ‘type’ in ‘struct gmx::gmx_unique_ptr&lt;gmx::internal::AnalysisDataHandleImpl&gt;’ does not name a type<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:95:29: error: ‘HandlePointer’ was not declared in this scope<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:95:42: error: template argument 1 is invalid<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:95:42: error: template argument 2 is invalid<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp: In member function ‘void gmx::AnalysisData::setColumnCount(int)’:<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:127:31: error: request for member ‘empty’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp: In member function ‘void gmx::AnalysisData::setMultipoint(bool)’:<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:136:31: error: request for member ‘empty’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp: In member function ‘gmx::AnalysisDataHandle gmx::AnalysisData::startData(const gmx::AnalysisDataParallelOptions&amp;)’:<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:146:31: error: request for member ‘size’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:148:25: error: request for member ‘empty’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:159:5: error: ‘HandlePointer’ is not a member of ‘gmx::AnalysisData::Impl’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:159:25: error: expected ‘;’ before ‘handle’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:160:21: error: request for member ‘push_back’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:160:36: error: ‘handle’ was not declared in this scope<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:160:42: error: ‘move’ was not declared in this scope<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:161:47: error: request for member ‘back’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp: In member function ‘void gmx::AnalysisData::finishData(gmx::AnalysisDataHandle)’:<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:168:32: error: expected initializer before ‘i’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:170:10: error: ‘i’ was not declared in this scope<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:170:30: error: request for member ‘begin’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:170:60: error: request for member ‘end’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:177:36: error: request for member ‘end’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:180:21: error: request for member ‘erase’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:182:25: error: request for member ‘empty’ in ‘((gmx::AnalysisData*)this)-&gt;gmx::AnalysisData::impl_.gmx::PrivateImplPointer&lt;Impl&gt;::operator-&gt;&lt;gmx::AnalysisData::Impl&gt;()-&gt;gmx::AnalysisData::Impl::handles_’,
 which is of non-class type ‘gmx::AnalysisData::Impl::HandleList {aka int}’<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp: In member function ‘gmx::AnalysisDataHandle gmx::AnalysisData::startData(const gmx::AnalysisDataParallelOptions&amp;)’:<br>
/home/thomas/Programs/gromacs/src/gromacs/analysisdata/analysisdata.cpp:162:1: warning: control reaches end of non-void function [-Wreturn-type]<br>
make[3]: *** [src/gromacs/CMakeFiles/libgromacs.dir/analysisdata/analysisdata.cpp.o] Error 1<br>
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2<br>
make[1]: *** [src/programs/mdrun/CMakeFiles/mdrun.dir/rule] Error 2<br>
make: *** [mdrun] Error 2<br>
<br>
<br>
</div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br>ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br><a href="tel:865-241-1537" value="+18652411537" target="_blank">865-241-1537</a>, ORNL PO BOX 2008 MS6309<br>


</div>