[Pw_forum] Bugs found when compiling QE 5.1 on BGP

Filipe Camargo Dalmatti Alves Lima flima at if.usp.br
Fri Aug 22 23:39:33 CEST 2014


Dear all,

When compiling QE 5.1 on BGP, using the xl compilers, we encountered
multiple issues, and were able to resolve them with appropriate source code
changes.

I listed below the bugs we think we found and how we solved them.

We used the following command to configure:

 MPICC=mpixlc_r F77=mpixlf77_r F90=mpixlf90_r MPIF90=mpixlf90_r ./configure
--prefix=/opt/apps/espresso/5.1 ARCH=ppc64-bg --enable-openmp
FFT_LIBS=-L/opt/apps/fftw/3.3.2-double/lib/

configure completed without errors, or warning.

Issues were only encountered at the make step.

The first issue wais that the default location for the compilers was
incorrect.  For an unknown reason, make exited with an error, because
 mpixlf90_r was not found. Specifically,

/bgsys/drivers/ppcfloor/comm/xl.ndebug/bin/mpixlf90_r was not found.

We then manually changed the make.sys file from

LD             = /bgsys/drivers/ppcfloor/comm/xl.ndebug/bin/mpixlf90_r

to

LD             = /bgsys/drivers/ppcfloor/comm/xl/bin/mpixlf90_r


We then noticed that other files also used this "ndebug" path for the
compilers.  So, we updated:

install/configure
install/make_lapack.inc
install/configure.ac
lapack-3.2/make.inc

making the same path change in each of them.

This eliminated the compiler not found error.


Next, we encountered issues with some OMP lines in the files:

Modules/tsvdw.f90
and
Modules/mm_dispersion.f90

The errors all relate to the REDUCTION clause of omp lines.

"tsvdw.f90", line 1339.45: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1360.5: 1514-426 (S) The directive specified for the DO
loop does not match the END PARALLEL DO directive, or no directive matches
the END PARALLEL DO directive.
"tsvdw.f90", line 1437.19: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1437.40: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1556.5: 1514-426 (S) The directive specified for the DO
loop does not match the END PARALLEL DO directive, or no directive matches
the END PARALLEL DO directive.
"tsvdw.f90", line 1562.19: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1562.40: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1700.5: 1514-426 (S) The directive specified for the DO
loop does not match the END PARALLEL DO directive, or no directive matches
the END PARALLEL DO directive.
"tsvdw.f90", line 1879.46: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1880.19: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 1880.46: 1514-504 (S) A variable in the REDUCTION clause
or any component or element thereof must not have the POINTER attribute;
nor be a pointee, an allocatable object, an assumed-size array, or a
THREADLOCAL common block variable.
"tsvdw.f90", line 2095.13: 1515-095 (E) If a variable is specified in a
REDUCTION clause with a reduction operator or function, any use of that
variable must be in a reduction statement.



"mm_dispersion.f90", line 377.78: 1514-383 (S) An identifier in the
REDUCTION clause was defined elsewhere as a PROGRAM, subprogram, INTRINSIC
function, ENTRY name or RESULT name.
"mm_dispersion.f90", line 391.5: 1514-426 (S) The directive specified for
the DO loop does not match the END PARALLEL DO directive, or no directive
matches the END PARALLEL DO directive.
"mm_dispersion.f90", line 504.104: 1514-383 (S) An identifier in the
REDUCTION clause was defined elsewhere as a PROGRAM, subprogram, INTRINSIC
function, ENTRY name or RESULT name.
"mm_dispersion.f90", line 527.5: 1514-426 (S) The directive specified for
the DO loop does not match the END PARALLEL DO directive, or no directive
matches the END PARALLEL DO directive.


To eliminate these errors, we disabled omp at those lines by deleting the
omp commands.  However, we would prefer to use the full capacity of omp,
and we are unsure if we may accidentally interfere other aspects of the
code by removing this.

Regards,

Filipe and Paul Whitford

-- 
_________________________________________
Filipe Camargo Dalmatti Alves Lima
PhD Student
University of São Paulo, Physics Institute, Materials Physics Department,
Nanomol Group, Brazil.
Phones:    (11) 3091-6881  (USP)
                (11) 97408-2755 (Vivo)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20140822/b21a677e/attachment.html>


More information about the users mailing list