Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Replace MPI calls with ESMF calls

Đang mở
#100 8 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
fortran
Lĩnh vực
distributed-systems, hpc

Hướng nghiên cứu

Bắt đầu bằng cách xác định mã MOSART sử dụng shr_mpi_sum, shr_mpi_max, shr_mpi_min, mpi_barrier và mpi_bcast. Xem xét các interface ESMF_VMAllReduce và ESMF_VMBroadcast cùng với hình dạng của các mảng tmp_in, tmp_glob và finidat; để được coi là hoàn tất, cần quyết định một cách tiếp cận có tính đến các bản sao bắt buộc và duy trì hành vi giao tiếp dễ đọc.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

code cleanup enhancement low priority

In MOSART - the calls using
shr_mpi_sum, shr_mpi_max, shr_mpi_min, mpi_barrier, mpi_bcast could be replaced by calls to
ESMF_VMAllReduce and ESMF_VMBroadcast.
The following must be taken into account, however:

  • ESMF_VMAllReduce only accepts one-dimensional arrays. tmp_in and tmp_glob are 2d-arrays. So copies will need to be made and 6 calls will need to be done and then copies need to be made.
  • Using ESMF_VMBroadcast -only accepts 1d arrays. That means that an array of length 1 needs to be created and then a copy of finidat needs to be made to that and then broadcast and then copied back. I think this will make the code more complicated and harder to read.

ESMF currently only has interfaces to a small subset of MPI communications and only supports arrays in those interfaces. So this needs to be taken into consideration in the decision to replace the MPI calls with ESMF calls.

Ngôn ngữ chính
Fortran
Star
12
Fork
35
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ESCOMP/MOSART

Tất cả issue của ESCOMP/MOSART

Issue tương tự

Thêm issue về Distributed Systems

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.