[Hpc-forum] VASP fordítás

Rőczei Gábor roczei at niif.hu
2012. Sze. 3., H, 17:52:19 CEST


Kedves Csonka Gábor és szuperszámítógép fehasználók,

On 2012.09.03., at 17:21, Csonka Gabor wrote:

> Kedves Gábor, szeretnék segíteni, elkezdeném a fordítást a saját munka
> területemen. Ha op. rendszer specifikus szakmai segítség kell, akkor
> szeretnék segítséget kérni. Fordulhatok valakihez?

Én már elkezdtem a VASP fordításával foglalkozni a budapesti gépen. AMD Open64 fordítót, ACML-es matematikai könyvtárat (Szegeden és Budapesten ezt ajánlott használni) és ezt az MPI verziót állítottam be:

[login.budapest:~]$ mpi-selector --query
default:openmpi_open64-1.6
level:user
[login.budapest:~]$

Erre a makefile módosításra volt szükség:

[login.budapest:~/VASP5/src/vasp.5.2]$ diff -u makefile.hp makefile
--- makefile.hp    2009-04-15 11:51:08.000000000 +0200
+++ makefile    2012-06-24 10:38:59.000000000 +0200
@@ -22,7 +22,7 @@
SUFFIX=.f90

# fortran compiler us $(FC) allready set
-FC=f90
+FC=mpif90
FCL=$(FC)

# C-preprocessor define any of the flags given below
@@ -34,27 +34,27 @@
# wNGXhalf              gamma point only reduced in X direction
# wNGZhalf              gamma point only reduced in Z direction

-CPP     = ./preprocess <$*.F >$*$(SUFFIX)
-CPPFLG=  +cpp=yes -DHOST=\"HP\" \
-     -Dkind8 -DNGXhalf -DCACHE_SIZE=0
+CPP_ =  ./preprocess <$*.F | /opt/x86_open64/v1.0/x86_open64-4.2.4/open64-gcc-4.2.0/bin/cpp -P -C -traditional >$*$(SUFFIX)
+
+CPP     = $(CPP_)  -DHOST=\"Open64-AMD\" \
+          -Dkind8 -DCACHE_SIZE=12000 -Davoidalloc -DNGXhalf

# general fortran flags
-PROF   =   +pa
+PROF   =
FFLAGS =   $(CPPFLG) $(PROF)
# optimization (if you are running on POWER2 only set -qarch=pwr2)
-OFLAG  =  -O +Odataprefetch +Olibcalls +Oinfo
+OFLAG  = -Ofast
OFLAG_HIGH = $(OFLAG) #+O3 +Oaggressive +Onovectorize +Oreport=all
OBJ_HIGH =   rmm-diis.o nonlr.o dfast.o $(FFT3D)
OBJ_NOOPT =  steep.o
DEBUG  = -g
-INCS   =  -I../../archives/mpich/include/
+INCS   =  -I/opt/x86_open64/v1.0/openmpi/1.6/include
INLINE = $(OFLAG)

# options for linking
-LINK    = $(FFLAGS) $(OFLAGS) +FPD
-#LIB     = -Wl,-L../vasp.5.lib -ldmy ../vasp.5.lib/linpack_double.o ../vasp.5.lib/lapack_double.o -lveclib -lm
-LIB     = -Wl,-L../vasp.5.lib -ldmy ../vasp.5.lib/linpack_double.o -llapack -lveclib -lm
+LINK    = $(FFLAGS) $(OFLAGS)
FFT3D   = fft3dfurth.o fft3dlib.o
+LIB     = -L/opt/x86_open64/v1.0/openmpi/1.6/lib -L/opt/acml/open64_64_int64/lib -lacml -lm

#-----------------------------------------------------------------------
# general rules and compile lines
[login.budapest:~/VASP5/src/vasp.5.2]$

Ezután kiadtam a "make" parancsot...

Egy fordítási hibát kellene megoldanunk közösen és akkor már elvileg készen is vagyunk. Én sajnos nem értek a Fortran-hoz. Erről lenne szó:

[login.budapest:~/VASP5/src/vasp.5.2]$ make
./preprocess <dfast.F | /opt/x86_open64/v1.0/x86_open64-4.2.4/open64-gcc-4.2.0/bin/cpp -P -C -traditional >dfast.f90  -DHOST=\"Open64-AMD\" -Dkind8 -DCACHE_SIZE=12000 -Davoidalloc -DNGXhalf 
mpif90   -Ofast   -I/opt/x86_open64/v1.0/openmpi/1.6/include -c dfast.f90

      USE dfast
          ^     
openf95-736 openf90: ERROR LINCOM, File = dfast.f90, Line = 157, Column = 11 
  "LINCOM" is the name of this program unit, therefore it must not be use associated from module "DFAST".

Ezen leírás szerint át kellene nevezni valamit: http://devgurus.amd.com/thread/153608

Ha esetleg valaki tudna nekem segíteni akkor nagyon megköszönném!

Üdvözlettel,

      Rőczei Gábor

Ui.: Nagyon örülnék, ha ezentúl minden fordítással kapcsolatos problémát a hpc-forum at listserv.niif.hu listán oldanánk majd meg. Ezáltal mindenki hozzá tudna szólni egy adott problémához és  ebből kifolyólag  sokkal hatékonyabbak lehetnénk.
 


További információk a(z) Hpc-forum levelezőlistáról