2011-01-07 8 views
2

mpi와 fortran에 간단한 미분 방정식 솔버를 작성하려고합니다. 내가 ATLAS/LAPACK/BLAS 루틴을 사용하는 것에 익숙해 질 것이라고 생각했다. 미래의 수치 모델링에 유용 할 것 같다. 맥 포트를 통해 ATLAS를 설치했습니다. 나는 gcc 4.4 (또한 macports를 통해 설치)를 사용합니다.일반적인 포트란 프로그램의 macport에서 ATLAS/Lapack 사용

나는 ATLAS, BLAS, LAPACK 또는 임의의 "라이브러리"를 고의로 사용하지 않았습니다. (C++에서 "include"문 또는 해당 항목을 사용했습니다. Java 및 Perl - 작동 방식을 완전히 이해하지 못함)

ATLAS를 사용하여 포트란에서 Ax = b를 해결하는 코드를 작성하고 싶습니다. 샘플 코드를 찾았지만 "pgi"가 필요할 것 같습니다. 많은 인터넷 검색을 한 후에도 "pgi"가 무엇인지 또는 무엇을하는지 전혀 모릅니다. 터미널에 "pgi 추가"라고 입력하면 "add : command not found"가 표시됩니다.

직접적인 관련성이있는 경우 Mac 10.5.8을 사용합니다.

이 질문을하는 것이 합당한 곳이되기를 바랍니다.

+3

MPI는 병렬 계산을위한 라이브러리입니다. 자신이 경험 한 수준을 감안할 때, 나는 잠시 그것을 피하는 것이 좋습니다. PGI는 Fortran 컴파일러입니다. gfortran을 사용하는 것이 좋습니다. gport의 일부분 인 것 같습니다. 나는 당신이 http://www.nag.co.uk/lapack-ex/lapack-ex.html과 같은 몇몇 lapack 예제를 시도 할 것을 제안한다. – DaveP

답변

0

한 가지 측면 : 링크 할 때 반드시 라이브러리를 포함해야합니다. 이것은 라이브러리에 이름을 붙이려면 "-l"옵션과 함께 compile 명령을 사용하여 수행 할 수 있습니다. 라이브러리가 비정상적인 디렉토리에 있으면 링커에게 찾을 위치를 알려주기 위해 "-L"옵션이 필요할 수도 있습니다. macports gfortran과 macports installed libraries를 사용하고 있다면 아마도 "-L"옵션이 필요 없을 것입니다. Macports 라이브러리는/opt/local/lib에 있으므로 "-L/opt/local/lib"옵션이 필요합니다. "-l"옵션을 사용하여 라이브러리의 이름을 지정할 때 "lib"와 파일 유형을 그대로 남겨 두어 "-latlas"를 사용하는 것이 관습입니다.

일부 라이브러리의 경우 Fortran 소스 코드에 "사용"문이 필요할 수도 있습니다.

병렬 프로그래밍 초보자는 MPI보다 OpenMP가 더 쉽습니다. 순차적 인 프로그램을 먼저 작성한 다음 병렬 프로그래밍에 대해 생각해보십시오.

http://people.sc.fsu.edu/~jburkardt/f_src/lapack/lapack.html에 lapack을 사용하는 몇 가지 예가 있습니다. John Burkardt는 당신에게 다른 사용 예를 보여줄 수 있습니다.

관련 문제