Re: [gmx-users] BGQ compilation with verlet kernels: #include file kernel_impl.h not found.
Thanks for the follow up. The take-home lesson is that building for BlueGene/Q is unlike building for the usual homogenous x86 cluster. You still need an MPI and non-MPI build, but the latter should be targeted at the front end (Linux on PowerPC, usually), unless/until GROMACS tools acquire MPI functionality useful on a BlueGene/Q scale. Mark On Wed, Sep 18, 2013 at 2:07 AM, Christopher Neale chris.ne...@mail.utoronto.ca wrote: Indeed, it works just fine when I compile with mpi. I never thought to check that. My usual procedure is to compile the whole package without mpi and then to compile mdrun with mpi. Thanks for the help Mark. Here is the compilation script that worked for me. module purge module load vacpp/12.1 xlf/14.1 mpich2/xl module load cmake/2.8.8 module load fftw/3.3.2 export FFTW_LOCATION=/scinet/bgq/Libraries/fftw-3.3.2 cmake ../source/ \ -DCMAKE_TOOLCHAIN_FILE=BlueGeneQ-static-XL-C \ -DCMAKE_PREFIX_PATH=$FFTW_LOCATION \ -DCMAKE_INSTALL_PREFIX=$(pwd) \ -DGMX_X11=OFF \ -DGMX_MPI=ON \ -DGMX_PREFER_STATIC_LIBS=ON make -j 16 make install -- gmx-users mailing listgmx-users@gromacs.org http://lists.gromacs.org/mailman/listinfo/gmx-users * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting! * Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists -- gmx-users mailing listgmx-users@gromacs.org http://lists.gromacs.org/mailman/listinfo/gmx-users * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting! * Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
[gmx-users] BGQ compilation with verlet kernels: #include file kernel_impl.h not found.
Dear Users: I am attempting to use the new BGQ kernels with the version of gromacs at https://gerrit.gromacs.org/#/c/2572/ , which I obtained by: git init git fetch https://gerrit.gromacs.org/gromacs refs/changes/72/2572/1 git checkout FETCH_HEAD I then attempted to compile like this: module purge module load vacpp/12.1 xlf/14.1 mpich2/xl module load cmake/2.8.8 module load fftw/3.3.2 export FFTW_LOCATION=/scinet/bgq/Libraries/fftw-3.3.2 cmake ../source/ \ -DCMAKE_PREFIX_PATH=$FFTW_LOCATION \ -DCMAKE_INSTALL_PREFIX=$(pwd) \ -DGMX_X11=OFF \ -DGMX_MPI=OFF \ -DGMX_PREFER_STATIC_LIBS=ON make -j 4 make install ### That gave me the following error during make: Scanning dependencies of target gromacs_include_links [ 0%] Generating gromacs [ 0%] Built target gromacs_include_links Scanning dependencies of target gmx [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmxcpp.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/md_logging.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/vmddlopen.c.o [ 1%] [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/chargegroup.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_cpuid.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmxfio_rw.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/gmxfio.c.o [ 1%] [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/trxio.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_system_xdr.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/wgms.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/wman.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/smalloc.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/rmpbc.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/nrjac.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/index.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_thread_affinity.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/mshift.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/macros.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/oenv.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/maths.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_omp.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/random.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_sort.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_random.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/md5.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/network.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/copyrite.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/cinvsqrtdata.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/writeps.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/mtop_util.c.o /home/p/pomes/cneale/exec/gromacs-4.6.3_bgq/source/src/gmxlib/network.c, line 264.10: 1506-296 (S) #include file spi/include/kernel/location.h not found. make[2]: *** [src/gmxlib/CMakeFiles/gmx.dir/network.c.o] Error 1 make[2]: *** Waiting for unfinished jobs make[1]: *** [src/gmxlib/CMakeFiles/gmx.dir/all] Error 2 make: *** [all] Error 2 ### After some looking around, I added the following line before cmake: export CFLAGS=-I/bgsys/drivers/ppcfloor That solved the initial problem, but now I have the following error: ... [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/writeps.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/mtop_util.c.o [ 3%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_fatal.c.o /bgsys/drivers/ppcfloor/spi/include/kernel/location.h, line 34.10: 1506-296 (S) #include file kernel_impl.h not found. /bgsys/drivers/ppcfloor/spi/include/kernel/process.h, line 36.10: 1506-296 (S) #include file kernel_impl.h not found. /bgsys/drivers/ppcfloor/spi/include/kernel/process.h, line 194.10: 1506-296 (S) #include file process_impl.h not found. /bgsys/drivers/ppcfloor/spi/include/kernel/location.h, line 173.10: 1506-296 (S) #include file location_impl.h not found. make[2]: *** [src/gmxlib/CMakeFiles/gmx.dir/network.c.o] Error 1 make[2]: *** Waiting for unfinished jobs make[1]: *** [src/gmxlib/CMakeFiles/gmx.dir/all] Error 2 make: *** [all] Error 2 ### And it's harder to know what to do now since there are multiple instances of kernel_impl.h , etc.: bgqdev-fen1-$ find /bgsys/drivers/ppcfloor/spi/include/kernel/|grep kernel_impl.h /bgsys/drivers/ppcfloor/spi/include/kernel/cnk/kernel_impl.h /bgsys/drivers/ppcfloor/spi/include/kernel/firmware/kernel_impl.h /bgsys/drivers/ppcfloor/spi/include/kernel/klinux/kernel_impl.h Does this indicate that the computer that I am using really has such a non-standard BG/Q setup? or is it possible that compiling on the BG/Q with the new verlet kernel requires an entirely different approach? I understand that the Jenkins Buildbot
Re: [gmx-users] BGQ compilation with verlet kernels: #include file kernel_impl.h not found.
On Tue, Sep 17, 2013 at 5:31 PM, Christopher Neale chris.ne...@mail.utoronto.ca wrote: Dear Users: I am attempting to use the new BGQ kernels with the version of gromacs at https://gerrit.gromacs.org/#/c/2572/ , which I obtained by: git init git fetch https://gerrit.gromacs.org/gromacs refs/changes/72/2572/1 git checkout FETCH_HEAD I then attempted to compile like this: module purge module load vacpp/12.1 xlf/14.1 mpich2/xl module load cmake/2.8.8 module load fftw/3.3.2 export FFTW_LOCATION=/scinet/bgq/Libraries/fftw-3.3.2 cmake ../source/ \ -DCMAKE_PREFIX_PATH=$FFTW_LOCATION \ -DCMAKE_INSTALL_PREFIX=$(pwd) \ -DGMX_X11=OFF \ -DGMX_MPI=OFF \ It's theoretically possible to make use of non-MPI mdrun on BG/Q, but I've never tried it and wouldn't encourage it. What's your objective? I'd be closer to prohibiting a thread-MPI or serial build on BlueGene/Q than to doing work to make it possible. -DGMX_PREFER_STATIC_LIBS=ON make -j 4 make install ### That gave me the following error during make: Scanning dependencies of target gromacs_include_links [ 0%] Generating gromacs [ 0%] Built target gromacs_include_links Scanning dependencies of target gmx [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 0%] [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmxcpp.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/md_logging.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/vmddlopen.c.o [ 1%] [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/chargegroup.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_cpuid.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmxfio_rw.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/gmxfio.c.o [ 1%] [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/trxio.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_system_xdr.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/wgms.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/wman.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/smalloc.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/rmpbc.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/nrjac.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/index.c.o Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_thread_affinity.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/mshift.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/macros.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/oenv.c.o [ 1%] Building C object src/gmxlib/CMakeFiles/gmx.dir/maths.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_omp.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/random.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_sort.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_random.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/md5.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/network.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/copyrite.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/cinvsqrtdata.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/writeps.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/mtop_util.c.o /home/p/pomes/cneale/exec/gromacs-4.6.3_bgq/source/src/gmxlib/network.c, line 264.10: 1506-296 (S) #include file spi/include/kernel/location.h not found. Hmm. That #include is taken from the BG/Q Application Development manual, to set up the query you can see in https://gerrit.gromacs.org/#/c/2572/1/src/gmxlib/network.c. I expected it to Just Work, but it seems that code assumes MPI. make[2]: *** [src/gmxlib/CMakeFiles/gmx.dir/network.c.o] Error 1 make[2]: *** Waiting for unfinished jobs make[1]: *** [src/gmxlib/CMakeFiles/gmx.dir/all] Error 2 make: *** [all] Error 2 ### After some looking around, I added the following line before cmake: export CFLAGS=-I/bgsys/drivers/ppcfloor That solved the initial problem, but now I have the following error: ... [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/writeps.c.o [ 2%] Building C object src/gmxlib/CMakeFiles/gmx.dir/mtop_util.c.o [ 3%] Building C object src/gmxlib/CMakeFiles/gmx.dir/gmx_fatal.c.o /bgsys/drivers/ppcfloor/spi/include/kernel/location.h, line 34.10: 1506-296 (S) #include file kernel_impl.h not found. /bgsys/drivers/ppcfloor/spi/include/kernel/process.h, line 36.10: 1506-296 (S) #include file kernel_impl.h not found. /bgsys/drivers/ppcfloor/spi/include/kernel/process.h, line 194.10: 1506-296 (S) #include file process_impl.h not found. /bgsys/drivers/ppcfloor/spi/include/kernel/location.h, line 173.10: 1506-296 (S) #include file location_impl.h not found. make[2]: *** [src/gmxlib/CMakeFiles/gmx.dir/network.c.o] Error 1 make[2]: *** Waiting for unfinished jobs make[1]: *** [src/gmxlib/CMakeFiles/gmx.dir/all] Error 2 make: *** [all]
[gmx-users] BGQ compilation with verlet kernels: #include file kernel_impl.h not found.
Indeed, it works just fine when I compile with mpi. I never thought to check that. My usual procedure is to compile the whole package without mpi and then to compile mdrun with mpi. Thanks for the help Mark. Here is the compilation script that worked for me. module purge module load vacpp/12.1 xlf/14.1 mpich2/xl module load cmake/2.8.8 module load fftw/3.3.2 export FFTW_LOCATION=/scinet/bgq/Libraries/fftw-3.3.2 cmake ../source/ \ -DCMAKE_TOOLCHAIN_FILE=BlueGeneQ-static-XL-C \ -DCMAKE_PREFIX_PATH=$FFTW_LOCATION \ -DCMAKE_INSTALL_PREFIX=$(pwd) \ -DGMX_X11=OFF \ -DGMX_MPI=ON \ -DGMX_PREFER_STATIC_LIBS=ON make -j 16 make install -- gmx-users mailing listgmx-users@gromacs.org http://lists.gromacs.org/mailman/listinfo/gmx-users * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting! * Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists