Problems of VASP 5.2 installation on NEC SX8
Posted: Fri Feb 12, 2010 4:44 pm
I would like to report bugs I came across during installation of VASP 5.2 on NEC SX8.
I used a makefile.nec provided with the source code.
Here is a list of options I used:
First of all nec fortran compiler sxmpif90 refuses to work with long lines (>132 characters) and long names of variables (limit is not known to me). Therefore I had to rewrite long lines using continuation symbol (&) and replace long names with shorter ones.
Another source of errors was replacement by preprocessor of all instances of ERRF(x) with ERF(x). This is normal behavior if preprocessor variable USE_ERF is set. However, the coding in some places is done without taking it into account. The line is replaced with
causing a compiler error. So this line was replaced by the following peace of code:
Interface to LINCOM given in module was considered by the compiler not to be identical to LINCOM description and was removed.
Mysterious thing happened with acfdt.F: all instances of SX were replaced with 1. Obviously it should be preprocessor who did it, but I was unable to find where it was done (certainly not in symbol.inc or in the acfdt.F itself). To overcome the problem I just renamed SX to sxx.
Then compilation went through and I confronted with link errors.
The name GGA91_WB_RY was not defined. This subroutine should be called if preprocessor variable vector is defined.
However, in VASP 5.2 this branch of code was probably not tested yet and the code for it is absent.
As an auxiliary solution I've copied related code from the old version, but I am sure that it is not the right decision. Here the changes from vasp-group are required.
Similar situation is with fftmpi.F. Calls to subroutines fftmakeplan, fftini, fftwav and fft3d are not resolved.
Help from the vasp developers is highly appreciated!
I used a makefile.nec provided with the source code.
Here is a list of options I used:
Code: Select all
-DNECSX -Ddo_loops -Duse_collective -DEXP_TIME -DCACHE_SIZE -Dsingle_BLAS -Dkind8
-DMPI -DNGZhalf -Dvector -DUSE_ERF -Davoidalloc
Another source of errors was replacement by preprocessor of all instances of ERRF(x) with ERF(x). This is normal behavior if preprocessor variable USE_ERF is set. However, the coding in some places is done without taking it into account. The line
Code: Select all
REAL(q), EXTERNAL :: ERRF
Code: Select all
REAL(q), EXTERNAL :: ERF()
Code: Select all
#if ! defined(USE_ERF)
REAL(q), EXTERNAL :: ERRF
#endif
Mysterious thing happened with acfdt.F: all instances of SX were replaced with 1. Obviously it should be preprocessor who did it, but I was unable to find where it was done (certainly not in symbol.inc or in the acfdt.F itself). To overcome the problem I just renamed SX to sxx.
Then compilation went through and I confronted with link errors.
The name GGA91_WB_RY was not defined. This subroutine should be called if preprocessor variable vector is defined.
However, in VASP 5.2 this branch of code was probably not tested yet and the code for it is absent.
As an auxiliary solution I've copied related code from the old version, but I am sure that it is not the right decision. Here the changes from vasp-group are required.
Similar situation is with fftmpi.F. Calls to subroutines fftmakeplan, fftini, fftwav and fft3d are not resolved.
Help from the vasp developers is highly appreciated!