Tôi đang song song mã để giải quyết một cách số lượng mô hình cân bằng dân số 5 chiều. Hiện tại tôi có mã song song MPICH2 rất tốt trong FORTRAN nhưng khi chúng tôi tăng giá trị tham số, các mảng trở nên quá lớn để chạy trong chế độ bộ nhớ phân tán.
Tôi có quyền truy cập vào một cụm có 15 nút, trong đó mỗi nút có hai CPU 8 lõi và 128GB RAM. Tôi muốn viết một chương trình với MPI-3.0 ở chế độ bộ nhớ dùng chung để mỗi quá trình không tạo ra bản sao riêng của từng mảng.
Trước khi tôi có thể chạy bất cứ thứ gì trên cụm, tôi phải kiểm tra nó trên máy tính để bàn chạy Ubuntu. Nó thực chất là một lưỡi của cụm trong đó có hai CPU 8 nhân và RAM 128 GB. Tôi sẽ viết và kiểm tra mã của tôi trên đó, vì vậy hãy đưa ra phản hồi của bạn đối với các chương trình đang chạy trên máy tính Ubuntu.
Tôi đã đọc được rằng có một cách để chạy MPI-3.0 ở chế độ bộ nhớ dùng chung như OpenMP thay vì chế độ bộ nhớ phân tán mặc định của nó.
Câu hỏi:
Làm thế nào tôi sẽ phải thay đổi mã của tôi? Tôi có cần thêm các cuộc gọi vào các chức năng MPI khác như thế
MPI_WIN_ALLOCATE
nào không?Làm cách nào để biên dịch mã của tôi để chạy MPI-3.0 ở chế độ bộ nhớ dùng chung? Điều này sẽ khác nếu nó qua một số nút?
Vui lòng cung cấp các kịch bản biên dịch mẫu nếu bạn có thể. Tôi cũng chỉ có trình biên dịch GNU. Cụm tôi sử dụng không hỗ trợ trình biên dịch Intel.
mpiexec -n 8 /path/to/application
để giả mạo máy tính của bạn nghĩ rằng nó có 8 nút khác nhau.