[gmx-users] GROMACS compilation error on ubuntu 15.10 with OpenCL

Szilárd Páll pall.szilard at gmail.com
Sun Mar 20 22:19:17 CET 2016


On Sun, Mar 20, 2016 at 6:25 PM, Josef Mitchell <josefmmitchell at gmail.com>
wrote:

> I've been unsuccessful at compiling GROMACS with OpenCL on my own.
>
> Machine specifcations are:
> AMD HD 7790 GPU (896 cores, 1000Mhz, 2GB GDDR5)
> Intel Skylake 2C4T processor @3.9Ghz (no turboboost) B150 chipset.
> 4x4GB 2666Mhz DDR4 CL16
> 500GB 2.5" HDD 7200K RPM
>
>
> This is a updated ubuntu 15.10 clean install.
> Kernel is
> 4.2.0-34-generic
>
> Installed AMD's APP following this guide: wiki.tiker.net/OpenCLHowTo
> Tested OpenCL installation using these tools: www.geeks3d.com/glslhacker/
>
> Attempted to compile using following steps, initially following this guide
> youtube.com/watch?v=BZNzYt_DUB0 :
> ccmake
> cmake .. -DGMX_BUILD_OWN_FFTW=ON -DGMX_GPU=on -DGMX_USE_OPENCL=on
> make ..
> make -j4
>
> ccmake settings:
>  BLAS_Accelerate_LIBRARY          BLAS_Accelerate_LIBRARY-NOTFOUND
>  BLAS_acml_LIBRARY                BLAS_acml_LIBRARY-NOTFOUND
>  BLAS_acml_mp_LIBRARY             BLAS_acml_mp_LIBRARY-NOTFOUND
>  BLAS_blas_LIBRARY                /usr/lib/libblas.so.3gf
>  BLAS_complib.sgimath_LIBRARY     BLAS_complib.sgimath_LIBRARY-NOTFOUND
>  BLAS_cxml_LIBRARY                BLAS_cxml_LIBRARY-NOTFOUND
>  BLAS_dxml_LIBRARY                BLAS_dxml_LIBRARY-NOTFOUND
>  BLAS_essl_LIBRARY                BLAS_essl_LIBRARY-NOTFOUND
>  BLAS_f77blas_LIBRARY             BLAS_f77blas_LIBRARY-NOTFOUND
>  BLAS_goto2_LIBRARY               BLAS_goto2_LIBRARY-NOTFOUND
>  BLAS_scsl_LIBRARY                BLAS_scsl_LIBRARY-NOTFOUND
>  BLAS_sgemm_LIBRARY               BLAS_sgemm_LIBRARY-NOTFOUND
>  BLAS_sunperf_LIBRARY             BLAS_sunperf_LIBRARY-NOTFOUND
>  BLAS_vecLib_LIBRARY              BLAS_vecLib_LIBRARY-NOTFOUND
>  BUILD_SHARED_LIBS                ON
>  BUILD_TESTING                    ON
>  BZRCOMMAND                       BZRCOMMAND-NOTFOUND
>  Boost_DIR                        Boost_DIR-NOTFOUND
>  Boost_INCLUDE_DIR                Boost_INCLUDE_DIR-NOTFOUND
>  CMAKE_BUILD_TYPE                 Release
>  CMAKE_COLOR_MAKEFILE             ON
>  CMAKE_CXX_FLAGS
>  CMAKE_CXX_FLAGS_ASAN             -O1 -g -fsanitize=address
> -fno-omit-frame-pointer
>  CMAKE_CXX_FLAGS_DEBUG            -g
>  CMAKE_CXX_FLAGS_MINSIZEREL       -Os -DNDEBUG
>  CMAKE_CXX_FLAGS_PROFILE          -O3 -DNDEBUG -pg
>  CMAKE_CXX_FLAGS_REFERENCE        -O0 -g
>  CMAKE_CXX_FLAGS_RELEASE          -O3 -DNDEBUG
>  CMAKE_CXX_FLAGS_RELWITHASSERT    -O3
>  CMAKE_CXX_FLAGS_RELWITHDEBINFO   -O2 -g -DNDEBUG
>  CMAKE_CXX_FLAGS_TSAN             -O1 -g -fsanitize=thread -pie -fPIE
>  CMAKE_C_FLAGS
>  CMAKE_C_FLAGS_ASAN               -O1 -g -fsanitize=address
> -fno-omit-frame-pointer
>  CMAKE_C_FLAGS_DEBUG              -g
>  CMAKE_C_FLAGS_MINSIZEREL         -Os -DNDEBUG
>  CMAKE_C_FLAGS_PROFILE            -O3 -DNDEBUG -pg
>  CMAKE_C_FLAGS_REFERENCE          -O0 -g
>  CMAKE_C_FLAGS_RELEASE            -O3 -DNDEBUG
>  CMAKE_C_FLAGS_RELWITHASSERT      -O3
>  CMAKE_C_FLAGS_RELWITHDEBINFO     -O2 -g -DNDEBUG
>  CMAKE_C_FLAGS_TSAN               -O1 -g -fsanitize=thread -pie -fPIE
>  CMAKE_EXE_LINKER_FLAGS
>  CMAKE_EXE_LINKER_FLAGS_DEBUG
>  CMAKE_EXE_LINKER_FLAGS_MINSIZE
>  CMAKE_EXE_LINKER_FLAGS_REFEREN
>  CMAKE_EXE_LINKER_FLAGS_RELEASE
>  CMAKE_EXE_LINKER_FLAGS_RELWITH
>  CMAKE_EXE_LINKER_FLAGS_RELWITH
>  CMAKE_EXPORT_COMPILE_COMMANDS    OFF
>  CMAKE_INSTALL_BINDIR             bin
>  CMAKE_INSTALL_DATADIR
>  CMAKE_INSTALL_DATAROOTDIR        share
>  CMAKE_INSTALL_DOCDIR
>  CMAKE_INSTALL_INCLUDEDIR         include
>  CMAKE_INSTALL_INFODIR
>  CMAKE_INSTALL_LIBDIR             lib
>  CMAKE_INSTALL_LIBEXECDIR         libexec
>  CMAKE_INSTALL_LOCALEDIR
>  CMAKE_INSTALL_LOCALSTATEDIR      var
>  CMAKE_INSTALL_MANDIR
>  CMAKE_INSTALL_OLDINCLUDEDIR      /usr/include
>  CMAKE_INSTALL_PREFIX             /usr/local/gromacs
>  CMAKE_INSTALL_SBINDIR            sbin
>  CMAKE_INSTALL_SHAREDSTATEDIR     com
>  CMAKE_INSTALL_SYSCONFDIR         etc
>  CMAKE_LD_FLAGS_PROFILE            -pg
>  CMAKE_MAKE_PROGRAM               /usr/bin/make
>  CMAKE_MODULE_LINKER_FLAGS
>  CMAKE_MODULE_LINKER_FLAGS_DEBU
>  CMAKE_MODULE_LINKER_FLAGS_MINS
>  CMAKE_MODULE_LINKER_FLAGS_RELE
>  CMAKE_MODULE_LINKER_FLAGS_RELW
>  CMAKE_PREFIX_PATH
>  CMAKE_SHARED_LINKER_FLAGS
>  CMAKE_SHARED_LINKER_FLAGS_DEBU
>  CMAKE_SHARED_LINKER_FLAGS_MINS
>  CMAKE_SHARED_LINKER_FLAGS_RELE
>  CMAKE_SHARED_LINKER_FLAGS_RELW
>  CMAKE_SKIP_INSTALL_RPATH         OFF
>  CMAKE_SKIP_RPATH                 OFF
>  CMAKE_STATIC_LINKER_FLAGS
>  CMAKE_STATIC_LINKER_FLAGS_DEBU
>  CMAKE_STATIC_LINKER_FLAGS_MINS
>  CMAKE_STATIC_LINKER_FLAGS_RELE
>  CMAKE_STATIC_LINKER_FLAGS_RELW
>  CMAKE_USE_RELATIVE_PATHS         OFF
>  CMAKE_VERBOSE_MAKEFILE           OFF
>  COVERAGE_COMMAND                 /usr/bin/gcov
>  COVERAGE_EXTRA_FLAGS             -l
>  CPACK_BINARY_DEB                 OFF
>  CPACK_BINARY_IFW                 OFF
>  CPACK_BINARY_NSIS                OFF
>  CPACK_BINARY_RPM                 OFF
>  CPACK_BINARY_STGZ                ON
>  CPACK_BINARY_TBZ2                OFF
>  CPACK_BINARY_TGZ                 ON
>  CPACK_BINARY_TXZ                 OFF
>  CPACK_BINARY_TZ                  ON
>  CPACK_SOURCE_TBZ2                ON
>  CPACK_SOURCE_TGZ                 ON
>  CPACK_SOURCE_TXZ                 ON
>  CPACK_SOURCE_TZ                  ON
>  CPACK_SOURCE_ZIP                 OFF
>  CPPCHECK_EXECUTABLE              CPPCHECK_EXECUTABLE-NOTFOUND
>  CPPCHECK_XML_OUTPUT              OFF
>  CTEST_SUBMIT_RETRY_COUNT         3
>  CTEST_SUBMIT_RETRY_DELAY         5
>  CVSCOMMAND                       CVSCOMMAND-NOTFOUND
>  CVS_UPDATE_OPTIONS               -d -A -P
>  DART_TESTING_TIMEOUT             1500
>  DOXYGEN_DOT_EXECUTABLE           DOXYGEN_DOT_EXECUTABLE-NOTFOUND
>  DOXYGEN_EXECUTABLE               DOXYGEN_EXECUTABLE-NOTFOUND
>  GITCOMMAND                       GITCOMMAND-NOTFOUND
>  GMX_BLAS_USER
>  GMX_BROKEN_CALLOC                OFF
>  GMX_BUILD_FOR_COVERAGE           OFF
>  GMX_BUILD_HELP                   OFF
>  GMX_BUILD_MANUAL                 OFF
>  GMX_BUILD_MDRUN_ONLY             OFF
>  GMX_BUILD_OWN_FFTW_MD5           2edab8c06b24feeb3b82bbb3ebf3e7b3
>  GMX_BUILD_OWN_FFTW_URL           http://www.fftw.org/fftw-3.3.4.tar.gz
>  GMX_BUILD_SHARED_EXE             ON
>  GMX_BUILD_TARBALL                OFF
>  GMX_BUILD_UNITTESTS              ON
>  GMX_COOL_QUOTES                  ON
>  GMX_CYCLE_SUBCOUNTERS            OFF
>  GMX_DATA_INSTALL_DIR             gromacs
>  GMX_DEFAULT_SUFFIX               ON
>  GMX_DEVELOPER_BUILD              OFF
>  GMX_DISABLE_FFTW_MEASURE         OFF
>  GMX_DOUBLE                       OFF
>  GMX_EXTERNAL_BLAS                ON
>  GMX_EXTERNAL_BOOST               OFF
>  GMX_EXTERNAL_LAPACK              ON
>  GMX_EXTERNAL_TNG                 OFF
>  GMX_EXTRAE                       OFF
>  GMX_FAHCORE                      OFF
>  GMX_FFT_LIBRARY                  fftw3
>  GMX_GIT_VERSION_INFO             OFF
>  GMX_LAPACK_USER
>  GMX_LIB_INSTALL_DIR              lib
>  GMX_LOAD_PLUGINS                 ON
>  GMX_MPI                          OFF
>  GMX_NACL                         OFF
>  GMX_OPENMP                       ON
>  GMX_OPENMP_MAX_THREADS           32
>  GMX_PREFER_STATIC_LIBS           OFF
>  GMX_QMMM_PROGRAM                 None
>  GMX_RELAXED_DOUBLE_PRECISION     OFF
>  GMX_SIMD                         AVX2_256
>  GMX_SIMD_ACCURACY_BITS_DOUBLE    44
>  GMX_SIMD_ACCURACY_BITS_SINGLE    22
>  GMX_SKIP_DEFAULT_CFLAGS          OFF
>  GMX_SOFTWARE_INVSQRT             ON
>  GMX_THREAD_MPI                   ON
>  GMX_USE_RDTSCP                   ON
>  GMX_USE_TNG                      ON
>  GMX_VMD_PLUGIN_PATH              /usr/local/lib/vmd/plugins/*/molfile
>  GMX_X11                          OFF
>  GMX_XML                          ON
>  HAVE_LIBM                        /usr/lib/x86_64-linux-gnu/libm.so
>  HGCOMMAND                        HGCOMMAND-NOTFOUND
>  LAPACK_Accelerate_LIBRARY        LAPACK_Accelerate_LIBRARY-NOTFOUND
>  LAPACK_goto2_LIBRARY             LAPACK_goto2_LIBRARY-NOTFOUND
>  LAPACK_lapack_LIBRARY            /usr/lib/liblapack.so.3gf
>  LAPACK_vecLib_LIBRARY            LAPACK_vecLib_LIBRARY-NOTFOUND
>  LIBXML2_INCLUDE_DIR              /usr/include/libxml2
>  LIBXML2_LIBRARIES                /usr/lib/x86_64-linux-gnu/libxml2.so
>  LIBXML2_XMLLINT_EXECUTABLE       LIBXML2_XMLLINT_EXECUTABLE-NOTFOUND
>  MAKECOMMAND                      /usr/bin/cmake --build . --config
> "${CTEST_CONFIGURATION_TYPE}" -- -i
>  MEMORYCHECK_COMMAND              MEMORYCHECK_COMMAND-NOTFOUND
>  MEMORYCHECK_SUPPRESSIONS_FILE
>  /home/josef/Desktop/gromacs-5.1.2/cmake/legacy_and_external.supp
>  OPENCL_INCLUDE_DIR               /usr/include
>  OPENCL_LIBRARY                   /etc/OpenCL/vendors/amdocl64.icd
>  OpenMP_CXX_FLAGS                 -fopenmp
>  OpenMP_C_FLAGS                   -fopenmp
>  P4COMMAND                        P4COMMAND-NOTFOUND
>  PKG_CONFIG_EXECUTABLE            /usr/bin/pkg-config
>  PYTHONMODULE_PYGMENTS            pygments-NOTFOUND
>  PYTHON_EXECUTABLE                /usr/bin/python
>  REGRESSIONTEST_DOWNLOAD          OFF
>  REGRESSIONTEST_PATH
>  SCPCOMMAND                       /usr/bin/scp
>  SITE                             Skylake-Platform
>  SLURM_SBATCH_COMMAND             SLURM_SBATCH_COMMAND-NOTFOUND
>  SLURM_SRUN_COMMAND               SLURM_SRUN_COMMAND-NOTFOUND
>  SOURCE_MD5SUM                    unknown
>  SPHINX_EXECUTABLE                SPHINX_EXECUTABLE-NOTFOUND
>  SVNCOMMAND                       SVNCOMMAND-NOTFOUND
>  THREAD_MPI_COPY_BUFFER           OFF
>  THREAD_MPI_PROFILING             OFF
>  THREAD_MPI_WAIT_FOR_NO_ONE       OFF
>  THREAD_MPI_WARNINGS              OFF
>  ZLIB_INCLUDE_DIR                 ZLIB_INCLUDE_DIR-NOTFOUND
>  ZLIB_LIBRARY                     ZLIB_LIBRARY-NOTFOUND
>
>
> Output of make -j4 is:
>
> -- The GROMACS-managed build of FFTW 3 will configure with the following
> optimizations: --enable-sse2;--enable-avx
> -- Configuring done
> -- Generating done
> -- Build files have been written to:
> /home/josef/Desktop/gromacs-5.1.2/build
> root at Skylake-Platform:/home/josef/Desktop/gromacs-5.1.2/build# make ..
> root at Skylake-Platform:/home/josef/Desktop/gromacs-5.1.2/build# make -j4
> [  0%] Built target fftwBuild
> [  0%] Built target view_objlib
> [  0%] Built target mdrun_objlib
> Linking CXX shared library ../../lib/libgromacs.so
> /usr/bin/ld:/etc/OpenCL/vendors/amdocl64.icd: file format not recognized;
>

That error indicates that you likely have a broken APP SDK. I have not
checked the tutorials you linked, but I'd recommend that you stick to
official documentation rather than random guides.

Also note that after installation you may run into another issue: the
APPSDK libraries can conflict with the AMD driver and to avoid this, you'll
have to rename/remove the following files:
lib/x86_64/libamdocl12cl64.so
lib/x86_64/libamdocl64.so

treating as linker script
> /usr/bin/ld:/etc/OpenCL/vendors/amdocl64.icd:2: syntax error
> collect2: error: ld returned 1 exit status
> src/gromacs/CMakeFiles/libgromacs.dir/build.make:24025: recipe for target
> 'lib/libgromacs.so.1.2.0' failed
> make[2]: *** [lib/libgromacs.so.1.2.0] Error 1
> CMakeFiles/Makefile2:2074: recipe for target
> 'src/gromacs/CMakeFiles/libgromacs.dir/all' failed
> make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
> Makefile:136: recipe for target 'all' failed
> make: *** [all] Error 2
> root at Skylake-Platform:/home/josef/Desktop/gromacs-5.1.2/build# ^C
> root at Skylake-Platform:/home/josef/Desktop/gromacs-5.1.2/build# cd /usr/lib
> root at Skylake-Platform:/usr/lib# sudo ln -s /usr/lib/libOpenCL.so.1
> libOpenCL.so
> root at Skylake-Platform:/usr/lib# cd /home/josef/Desktop/gromacs-5.1.2/build
> root at Skylake-Platform:/home/josef/Desktop/gromacs-5.1.2/build# make -j4
> [  0%] [  0%] Built target fftwBuild
> Built target view_objlib
> [  0%] Built target mdrun_objlib
> Linking CXX shared library ../../lib/libgromacs.so
> /usr/bin/ld:/etc/OpenCL/vendors/amdocl64.icd: file format not recognized;
> treating as linker script
> /usr/bin/ld:/etc/OpenCL/vendors/amdocl64.icd:2: syntax error
> collect2: error: ld returned 1 exit status
> src/gromacs/CMakeFiles/libgromacs.dir/build.make:24025: recipe for target
> 'lib/libgromacs.so.1.2.0' failed
> make[2]: *** [lib/libgromacs.so.1.2.0] Error 1
> CMakeFiles/Makefile2:2074: recipe for target
> 'src/gromacs/CMakeFiles/libgromacs.dir/all' failed
> make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
> Makefile:136: recipe for target 'all' failed
> make: *** [all] Error 2
>
> I don't know much about unix so i do not understand to what degree the
> issue has to do with symbolic links.
> Please advise, at worst, I could make do with a downloadable (linux) binary
> which supports OpenCL, if not AVX2 instructions.
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>


More information about the gromacs.org_gmx-users mailing list