#mingw #lapack #blas #mpich #openmx
#mingw #lapack #blas #mpich #openmx
Вопрос:
Код OpenMx (http://www.openmx-square.org/download.html ) представляет собой программный пакет для моделирования материалов в наномасштабе на основе теорий функционала плотности. у нее есть файл make, который содержит исполняемый файл компилятора C и fortran, библиотеки и включаемые файлы,
смотрите ниже:
CC = mpicc -O3 -fopenmp -Dnosse -I/usr/include -I/mirror/fftw/include -I/mirror/mpich/include
FC = mpif90 -O3 -fopenmp -Dnosse -I/usr/include -I/mirror/fftw/include -I/mirror/mpich/include
LIB=-L/mirror/lib -llapack -lblas -lfftw3 -L/mirror/mpich -lmpi -lmpicxx -lmpifort -lpthread -lgfortran
Я хочу скомпилировать эту программу для Windows, поскольку ее можно запускать независимо.
Я не знаю, возможно ли это с MinGW? как я могу использовать компиляторы mpicc и mpif90 и библиотеки lapack, blas и fftw3 для mingw?
Спасибо
Ответ №1:
ОК. Пара вещей:
-
mpicc / mpif90 — это оболочки, которые добавляют надлежащие флаги компиляции / ссылки. нет необходимости, чтобы они были доступны для сборки программ.
-
На мой взгляд, MinGW раньше был подходящим вариантом для Windows. В настоящее время я бы вложил энергию в настройку CMake для проекта и фактически собирал с помощью VisualStudio.
-
Если вы хотите использовать gcc и т.д. Для сборки, это совершенно нормально, но я бы не использовал MinGW, а делал перекрестную компиляцию в Linux. Это действительно экономит время. Для завершения работы скриптов настройки под MinGW иногда требуется в 10 или более раз больше времени, чем при перекрестной компиляции с Linux.
-
MPI не так тривиально выполняется в Windows. Для работы MPI вам нужен домен Windows с доменной аутентификацией. сопоставимо с вашим открытым ключом ssh.
проверьте эту страницу, например:https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html