【发布时间】:2014-12-28 09:10:36
【问题描述】:
那里,
我在编译我的 Fortran 程序时遇到了麻烦。我花了 40 多分钟在我研究所的计算机上构建程序。我使用以下规范使用适用于 Linux 的英特尔 Fortran 编译器来编译我当前的程序。有人会告诉我如何修改我的命令,以便在完全支持多核(在我的情况下,每个 CPU 8 个核)的情况下完成编译吗?
谢谢,
李
FC= mpiifort
FCFLAGS = -g -O3 -openmp -xSSE4.2 -axAVX -mt_mpi -I$(MKLROOT)/include/intel64/lp64 -I$(MKLROOT)/include
LDFLAGS = $(MKLROOT)/lib/intel64/libmkl_blas95_lp64.a \
$(MKLROOT)/lib/intel64/libmkl_lapack95_lp64.a \
$(MKLROOT)/lib/intel64/libmkl_scalapack_lp64.a \
-Wl,--start-group \
$(MKLROOT)/lib/intel64/libmkl_cdft_core.a \
$(MKLROOT)/lib/intel64/libmkl_intel_lp64.a \
$(MKLROOT)/lib/intel64/libmkl_core.a \
$(MKLROOT)/lib/intel64/libmkl_intel_thread.a \
-Wl,--end-group \
$(MKLROOT)/lib/intel64/libmkl_blacs_intelmpi_lp64.a \
-lpthread -lm
PROGRAM = main
all: ${PROGRAM}
main: universe.o model.o variable.o toolbox.o
main.o: universe.o
universe.o: model.o
model.o: variable.o
variable.o: toolbox.o
%: %.o
$(FC) $(FCFLAGS) -o $@ $^ $(LDFLAGS)
%.o: %.f90
$(FC) $(FCFLAGS) -c $< $(LDFLAGS)
.PHONY: clean
clean:
find . -maxdepth 1 -type f -name "*.txt" ! -name "_*.txt" -exec rm '{}' \;
rm -f *.o
rm -f *.mod
rm -f *~
rm -f *.gz
【问题讨论】:
-
你在文档中找到了什么,你是如何尝试应用它的,等等......
标签: build compilation parallel-processing makefile fortran