SIESTA@Cray

gfortran.makeに並列化のオプションをつけ足せばコンパイルできる。

intelも試したが、難しいので一旦諦める。普通にやるとmpi_siestaに必要なライブラリが見つからないと言われるので、Objディレクトリをincludeパスに追加。そのエラーは消えたが、今度はMPI_BCastが見つからないと言われる。これはちょっとわからない。

SIEASTA-3.2も試みたが、こちらはconfigure中のa.out実行のところで止まる。全部tssrunに変更すればよいのかもしれないが、ひとまずGNU-compilerで良しとする。

 

.SUFFIXES:
.SUFFIXES: .f .F .o .c .a .f90 .F90

SIESTA_ARCH = unknown

CC = cc
FPP = $(FC) -E -P -x c
FC = ftn
FC_SERIAL = ftn

FFLAGS = -O2 -fPIC -ftree-vectorize

AR = ar
RANLIB = ranlib

SYS = nag

SP_KIND = 4
DP_KIND = 8
KINDS = $(SP_KIND) $(DP_KIND)

LDFLAGS =

COMP_LIBS = libsiestaLAPACK.a libsiestaBLAS.a

FPPFLAGS = $(DEFS_PREFIX)-DFC_HAVE_ABORT -DMPI -DFC_HAVE_FLUSH
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=.

LIBS =

# Dependency rules ———

FFLAGS_DEBUG = -g -O1 # your appropriate flags here…

# The atom.f code is very vulnerable. Particularly the Intel compiler
# will make an erroneous compilation of atom.f with high optimization
# levels.
atom.o: atom.F
$(FC) -c $(FFLAGS_DEBUG) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<

.c.o:
$(CC) -c $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) $<
.F.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<
.F90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $<
.f90.o:
$(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $<

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です