[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