psmp build - error with Intel compiler
Ondrej Marsalek
ondrej.... at gmail.com
Wed Jan 5 18:54:09 UTC 2011
Dear all,
I am trying to build a psmp version of CP2K, the 2_1 branch, checked
out on 2011-01-03. I use the Intel compiler, version 11.1.073. Other
factors don't seem to be important, but if they are, I'll provide more
information. Without OpenMP, the build is just fine (passes all tests)
with an otherwise identical arch file.
Unfortunately, with OpenMP, I get the following error:
mpif90 -openmp -c -D__INTEL -D__FFTSG -D__parallel -D__BLACS
-D__SCALAPACK -D__FFTW3 -D__LIBINT -D__HAS_ISO_C_BINDING
-I/home/marsalek/opt/fftw-3.2.2-intel/double/include -heap-arrays 64
-msse3 -free -O3 -funroll-loops
-D__COMPILE_ARCH="\"Linux-x86-64-intel\"" -D__COMPILE_DATE="\"Wed Jan
5 19:26:17 CET 2011\"" -D__COMPILE_HOST="\"oxygen\""
-D__COMPILE_LASTCVS="\"D/lib////\""
/home/marsalek/build/cp2k-2_1/cp2k/makefiles/../src/lib/dbcsr_methods.F
/home/marsalek/build/cp2k-2_1/cp2k/makefiles/../src/lib/dbcsr_methods.F(1181):
error #7636: This statement or directive is not permitted within the
body of an OpenMP SINGLE directive
FORALL (t = 1:nrows)
----^
/home/marsalek/build/cp2k-2_1/cp2k/makefiles/../src/lib/dbcsr_methods.F(1183):
error #7636: This statement or directive is not permitted within the
body of an OpenMP SINGLE directive
END FORALL
----^
compilation aborted for
/home/marsalek/build/cp2k-2_1/cp2k/makefiles/../src/lib/dbcsr_methods.F
(code 1)
I have found this discussion:
http://software.intel.com/en-us/forums/showthread.php?t=77885
and based on that I have moved the offending FORALL outside the SINGLE
directive. The build went fine but I have not run the tests yet. Is
the compiler (version) to blame, or should this be fixed in CP2K?
Thanks,
Ondrej
More information about the CP2K-user
mailing list