Crash on compilation process with OpenCL
Hello,
OpenCL seems to be provided in ./configure options. When I use the prerequisites commands and configure : export LIBS='-lhdf5_openmpi_hl -lhdf5_openmpi -lOpenCL' export CFLAGS='-I/usr/include/hdf5/openmpi/ -I/usr/include/CL' export CC=/usr/bin/gcc-4.9 export CXX=/usr/bin/g++-4.9 export CPP=/usr/bin/cpp-4.9 export OMPI_CC=/usr/bin/gcc-4.9 export OMPI_CXX=/usr/bin/g++-4.9 ./configure --with-fftw --enable-integer-positions --with-opencl make -j 16
After several compiled sources files, it seems to break on OpenCL elements.
mpicc -DHAVE_CONFIG_H -I. -Imdl2/mpi/ -Imdl2 -Iopenpa/src -march=native -I/usr/include -I/usr/include/hdf5/openmpi/ -I/usr/include/CL -MT pkdgrav3_mpi-grav2.o -MD -MP -MF .deps/pkdgrav3_mpi-grav2.Tpo -c -o pkdgrav3_mpi-grav2.o test -f 'grav2.c' || echo './'
grav2.c
mv -f .deps/pkdgrav3_mpi-analysis.Tpo .deps/pkdgrav3_mpi-analysis.Po
clewald.cxx:290:35: error: ‘workEwald’ has not been declared
void pkdAccumulateCUDA(void * pkd,workEwald we,double pax,double pay,double paz,double pot,double pdFlop);
^
clewald.cxx: In function ‘int CLcheckWorkEwald(void, void)’:
clewald.cxx:294:5: error: ‘workEwald’ was not declared in this scope
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:294:16: error: ‘e’ was not declared in this scope
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:294:37: error: ‘workEwald’ does not name a type
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:294:47: error: expected ‘>’ before ‘’ token
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:294:47: error: expected ‘(’ before ‘’ token
clewald.cxx:294:48: error: expected primary-expression before ‘>’ token
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:294:53: error: expected ‘)’ before ‘;’ token
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx: In function ‘int CLinitWorkEwald(void, void, void)’:
clewald.cxx:328:5: error: ‘workEwald’ was not declared in this scope
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:328:16: error: ‘e’ was not declared in this scope
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:328:37: error: ‘workEwald’ does not name a type
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:328:47: error: expected ‘>’ before ‘’ token
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:328:47: error: expected ‘(’ before ‘’ token
clewald.cxx:328:48: error: expected primary-expression before ‘>’ token
workEwald e = reinterpret_cast<workEwald >(ve);
^
clewald.cxx:328:53: error: expected ‘)’ before ‘;’ token
workEwald e = reinterpret_cast<workEwald >(ve);
^
mpicc -DHAVE_CONFIG_H -I. -Imdl2/mpi/ -Imdl2 -Iopenpa/src -march=native -I/usr/include -I/usr/include/hdf5/openmpi/ -I/usr/include/CL -MT pkdgrav3_mpi-walk2.o -MD -MP -MF .deps/pkdgrav3_mpi-walk2.Tpo -c -o pkdgrav3_mpi-walk2.o test -f 'walk2.c' || echo './'
walk2.c
Makefile:1391: recipe for target 'pkdgrav3_mpi-clewald.o' failed
make[2]: [pkdgrav3_mpi-clewald.o] Error 1
make[2]: Waiting for unfinished jobs....
mv -f .deps/pkdgrav3_mpi-smoothfcn.Tpo .deps/pkdgrav3_mpi-smoothfcn.Po
mv -f .deps/pkdgrav3_mpi-mdlbase.Tpo .deps/pkdgrav3_mpi-mdlbase.Po
mv -f .deps/pkdgrav3_mpi-group.Tpo .deps/pkdgrav3_mpi-group.Po
mv -f .deps/pkdgrav3_mpi-hop.Tpo .deps/pkdgrav3_mpi-hop.Po
mv -f .deps/pkdgrav3_mpi-fof.Tpo .deps/pkdgrav3_mpi-fof.Po
mv -f .deps/pkdgrav3_mpi-pkd.Tpo .deps/pkdgrav3_mpi-pkd.Po
mv -f .deps/pkdgrav3_mpi-groupstats.Tpo .deps/pkdgrav3_mpi-groupstats.Po
mv -f .deps/pkdgrav3_mpi-grav2.Tpo .deps/pkdgrav3_mpi-grav2.Po
mv -f .deps/pkdgrav3_mpi-walk2.Tpo .deps/pkdgrav3_mpi-walk2.Po
mv -f .deps/pkdgrav3_mpi-pst.Tpo .deps/pkdgrav3_mpi-pst.Po
mv -f .deps/pkdgrav3_mpi-master.Tpo .deps/pkdgrav3_mpi-master.Po
mv -f .deps/pkdgrav3_mpi-opening.Tpo .deps/pkdgrav3_mpi-opening.Po
mv -f .deps/pkdgrav3_mpi-pp.Tpo .deps/pkdgrav3_mpi-pp.Po
mv -f .deps/pkdgrav3_mpi-pc.Tpo .deps/pkdgrav3_mpi-pc.Po
mv -f .deps/pkdgrav3_mpi-ewald.Tpo .deps/pkdgrav3_mpi-ewald.Po
make[2]: Leaving directory '/local/pkdgrav3-20180814'
Makefile:1439: recipe for target 'all-recursive' failed
make[1]: [all-recursive] Error 1
make[1]: Leaving directory '/local/pkdgrav3-20180814'
Makefile:555: recipe for target 'all' failed
make: * [all] Error 2
When OpenCL support will be available, I will send you some performances elements if you want.
Best regards.
Comments (3)
-
repo owner -
repo owner - marked as minor
- marked as enhancement
-
repo owner - changed status to resolved
OpenCL has been removed as obsolete
- Log in to comment
OpenCL was an experiment. It was half the speed of CUDA (on nVidia processors), so was basically abandoned.