[gmx-users] BGQ compilation with verlet kernels: #include file "kernel_impl.h" not found.
Christopher Neale
chris.neale at mail.utoronto.ca
Tue Sep 17 23:31:07 CEST 2013
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 has successfully compiled this code. Is it possible to get a copy of that compilation script (I've never used Jenkins, perhaps it is not that simple)?
Thank you,
Chris.
More information about the gromacs.org_gmx-users
mailing list