5 차원 모집단 균형 모델을 수치 적으로 해결하기 위해 코드를 병렬화하고 있습니다. 현재 FORTRAN에 매우 좋은 MPICH2 병렬 코드가 있지만 매개 변수 값을 늘리면 배열이 너무 커서 분산 메모리 모드에서 실행할 수 없습니다.
각 노드에는 2 개의 8 코어 CPU와 128GB RAM이있는 15 개의 노드가있는 클러스터에 액세스 할 수 있습니다. 공유 메모리 모드에서 MPI-3.0을 사용하여 프로그램을 작성하여 각 프로세스가 각 배열의 자체 사본을 생성하지 않도록하고 싶습니다.
클러스터에서 무엇이든 실행할 수 있으려면 우분투를 실행하는 데스크톱에서 테스트해야합니다. 2 개의 8 코어 CPU와 128GB의 RAM이 있다는 점에서 본질적으로 클러스터의 블레이드입니다. 코드를 작성하고 테스트 할 것이므로 Ubuntu 컴퓨터에서 프로그램을 실행하는 데 응답하십시오.
기본 분산 메모리 모드 대신 OpenMP와 같은 공유 메모리 모드에서 MPI-3.0을 실행하는 방법이 있다는 것을 읽었습니다.
질문 :
코드를 어떻게 변경해야합니까? 같은 다른 MPI 함수에 대한 호출을 추가해야
MPI_WIN_ALLOCATE
합니까?공유 메모리 모드에서 MPI-3.0을 실행하기 위해 코드를 어떻게 컴파일합니까? 노드가 여러 개인 경우 이것이 다릅니 까?
가능하면 샘플 컴파일 스크립트를 제공하십시오. 또한 GNU 컴파일러 만 있습니다. 내가 사용하는 클러스터는 인텔 컴파일러를 지원하지 않습니다.
mpiexec -n 8 /path/to/application
컴퓨터를 8 개의 다른 노드가 있다고 생각하도록 가짜 명령 을 사용하여 코드를 실행할 수 있다고 생각합니다.