[Hpc-forum] VASP fordítás
Rőczei Gábor
roczei at niif.hu
2012. Sze. 3., H, 19:15:46 CEST
Egy kiegészítés az előző levelemhez. Erről a Fortran kódrészletről van szó (157. sor a lényeges):
146 ! "T" CTRANS contains the transposed transformation matrix
147 !
148 ! "A" used only for Davidson
149 ! "B" used only for Davidson
150 !
151 !***********************************************************************
152
153
154 SUBROUTINE LINCOM(MODE,CF,CPROF,CTRANS,NIN,NOUT,NPL, &
155 & NPRO,NPLDIM,NPROD,LDTRAN,CFA,CPROFA)
156 USE prec
157 USE dfast
158
159 IMPLICIT COMPLEX(q) (C)
160
161 IMPLICIT REAL(q) (A-B,D-H,O-Z)
162 CHARACTER (1) MODE
163 DIMENSION CF(NPLDIM,NIN),CFA(NPLDIM,NIN)
164 COMPLEX(q) CPROF(NPROD,NIN),CPROFA(NPROD,NIN)
Ebben a fájlban található:
[login.budapest:~/VASP5/src/vasp.5.2]$ ls -l dfast.f90
-rw-r--r-- 1 roczei roczei 21203 Sep 3 19:07 dfast.f90
[login.budapest:~/VASP5/src/vasp.5.2]$
Gábor
On 2012.09.03., at 17:52, Rőczei Gábor wrote:
> 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