Redian新闻
>
Portland fortran problem, need help!
avatar
Portland fortran problem, need help!# Computation - 科学计算
t*g
1
I am trying to compile a parallel fortran package in a beowulf cluster,
my compiler is Portland Fortran90. I got a very strange problem, following is
error message, does anybody know what's the problem?

make
pgf90 -O -lfmpich -lmpich skgen.f -c
pgf90 -O -lfmpich -lmpich zxssq.f -c
pgf90 -O -lfmpich -lmpich ludec.f -c
pgf90 -O -lfmpich -lmpich luelm.f -c
pgf90 -O -lfmpich -lmpich uertt.f -c
pgf90 -O -lfmpich -lmpich func.f -c
pgf90 -O -lfmpich
avatar
t*n
2
You didn't link the mpi library when make your executable file.
You need add -lfmpich -lmpich options in your makefile

【在 t**********g 的大作中提到】
: I am trying to compile a parallel fortran package in a beowulf cluster,
: my compiler is Portland Fortran90. I got a very strange problem, following is
: error message, does anybody know what's the problem?
:
: make
: pgf90 -O -lfmpich -lmpich skgen.f -c
: pgf90 -O -lfmpich -lmpich zxssq.f -c
: pgf90 -O -lfmpich -lmpich ludec.f -c
: pgf90 -O -lfmpich -lmpich luelm.f -c
: pgf90 -O -lfmpich -lmpich uertt.f -c

avatar
t*g
3
Thank you for your reply. However, I think I linked mpi library. See the
message from making executable file
pgf90 -O -lfmpich -lmpich skgen.f -c
pgf90 -O -lfmpich -lmpich zxssq.f -c
pgf90 -O -lfmpich -lmpich ludec.f -c
Is this the correct way to link?
The makefile which is related:
SHELL=/bin/csh
#
CFT= pgf90
LDR= pgf90
# On IBM set all constants to double precision (Alpha does this automatically)
FFLAGS = -O -lfmpich -lmpich
# FFLAGS = -O -L/usr/pgi/linux86/lib/libpgf90.a
# FFL

【在 t****n 的大作中提到】
: You didn't link the mpi library when make your executable file.
: You need add -lfmpich -lmpich options in your makefile

avatar
t*n
4
When you generate those .o file, such as
skgen.o, zxssq.o and ludec.o, it's not necessary to link those mpi libraries.
But you do need it when you link all these .o files into your executable
files. So this line matters:
pgf90 -o skfit2 skgen.o zxssq.o ludec.o luelm.o uertt.o func.o diag.o myhtdi.o
myred.o mytql2.o fermi4sk.o hsort.o tnewef.o matri.o setup.o rotate.o
quadroot.o symmeg.o input.o input1.o mapk.o multatoms.o search2.o shifttrue.o
mpifake.o
Change the line following skfit2 to
skfit2

【在 t**********g 的大作中提到】
: Thank you for your reply. However, I think I linked mpi library. See the
: message from making executable file
: pgf90 -O -lfmpich -lmpich skgen.f -c
: pgf90 -O -lfmpich -lmpich zxssq.f -c
: pgf90 -O -lfmpich -lmpich ludec.f -c
: Is this the correct way to link?
: The makefile which is related:
: SHELL=/bin/csh
: #
: CFT= pgf90

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。