Использование ATLAS / Lapack из macports в типичной фортрановой программе - PullRequest
2 голосов
/ 07 января 2011

Я пытаюсь написать простое решение для решения различных уравнений в mpi и fortran.Я подумал, что с таким же успехом могу ознакомиться с процедурами ATLAS / LAPACK / BLAS, поскольку они кажутся весьма полезными для любого будущего численного моделирования, которое я мог бы сделать.Я установил ATLAS через macports.Я использую gcc 4.4 (также установленный через macports.)

Я в основном самоучка и никогда не использовал ATLAS, BLAS, LAPACK или любую «библиотеку» сознательно (я использовал операторы «include» или их эквиваленты)в C ++ Java и Perl - но без полного понимания того, как они работают.)

Я просто хотел бы иметь возможность написать код, который решает Ax = b на Фортране с использованием ATLAS.Я искал пример кода, но, кажется, требует «pgi».После долгих поисков я все еще не представляю, что такое "pgi" или что он делает.Ввод "добавить pgi" в терминале только что сказал мне, что "добавить: команда не найдена"

Я использую Mac 10.5.8 в случае, если это имеет прямое отношение.

Я надеюсь, что эторазумное место, чтобы задать этот вопрос.

1 Ответ

0 голосов
/ 08 января 2011

Один аспект: обязательно включите библиотеки при ссылке. Это можно сделать с помощью команды компиляции с опцией "-l" для именования библиотеки. Если библиотека находится в необычном каталоге, вам также может потребоваться опция «-L», чтобы указать компоновщику, где ее найти. Если вы используете установленные библиотеки macports gfortran и macports, вам, вероятно, не понадобится опция "-L". Библиотеки Macports будут находиться в / opt / local / lib, поэтому, если вам нужна опция: -L / opt / local / lib. Когда вы указываете имя библиотеки с опцией "-l", соглашение заключается в том, что вы оставляете "lib" и тип файла, то есть "-latlas".

Для некоторых библиотек вам может понадобиться выражение «использовать» в исходном коде на Фортране.

Будучи новичком в параллельном программировании, вы, вероятно, найдете OpenMP проще, чем MPI. Я предлагаю попробовать что-то поэтапно - сначала запустите последовательную программу, а затем подумайте о параллельном программировании.

Есть несколько примеров использования lapack на http://people.sc.fsu.edu/~jburkardt/f_src/lapack/lapack.html. Джон Буркардт может иметь другие примеры использования для вас.

...