2015-09-01 2 views
1

Я пытаюсь скомпилировать большой решатель с помощью make-файла. При вводе сделать, следующая команда запускается на выполнение:gfortran вызывается вместо mpif90

mpif90 -O2 -fpp -I/somePath/ -c precision.F90 

Я получаю следующее сообщение об ошибке:

gfortran: error: unrecognized command line option ‘-fpp’ 

я напечатал which mpif90, чтобы увидеть, где он указывает на:

/usr/local/intel14/impi/4.1.3.048/intel64/bin/mpif90 

Я попытался чтобы вручную ввести команду, чтобы убедиться, что она не имеет ничего общего с makefile, и я получил ту же ошибку. Почему вызывается gfortran? Это должна быть некоторая ошибка связи, но я не могу понять это.

+1

Что '/usr/local/intel14/impi/4.1.3.048/intel64/bin/mpif90 -V' вернуться? –

+1

Попробуйте использовать 'mpiifort' вместо' mpif90'. –

+0

Я думаю, что mpif90 и mpifort и т. Д. Обычно являются просто обертками для соответствующих компиляторов fortran. – chw21

ответ

1

Комментарии поставили меня на правильный путь. Я не знал, что mpif90 был всего лишь оберткой.

$ /usr/local/inter14/impi/4.1.3.048/intel64/bin/mpif90 -v 
mpif90 for the Intel(R) MPI Library 4.1 for Linux* 
Copyright(C) 2003-2014, Intel Corporation. All rights reserved. 
Using built-in specs. 
COLLECT_GCC=gfortran 
COLLECT_LTO_WRAPPER=/usr/local/gcc5.2/libexec/gcc/x86_64-unknown-linux-gnu/5.2.0/lto-wrapper 
Target: x86_64-unknown-linux-gnu 
Configured with: ./configure --prefix=/usr/local/gcc5.2 --disable-multilib 
Thread model: posix 
gcc version 5.2.0 (GCC) 

Я попросил автора кода сделать то же самое, выход указал на компилятор Intel. Так что остается связать ifort. Это установил ее для меня (Баш оболочки):

export I_MPI_F90=ifort 
+0

В суперкомпьютерах и кластерах вы обычно можете переключаться между компиляторами и библиотеками MPI, используя систему модулей. Попробуйте ввести 'module avail'. –

+0

Более постоянным решением было бы заменить mpif90 на mpiifort в Makefile. Переменная окружения делает трюк, но подвержена ошибкам, так как можно забыть установить ее во время повторной регистрации. – Gilles