Chương 49 như thế nào thực hiện mimd song hành cùng lập trình mô hình
Thực hiện MIMD song hành tính toán đề cập tới nhiều cái trình tự, bao quát nhiệm vụ phân chia, thông tin cùng đồng bộ sách lược, số liệu phân phối cùng lập trình mô hình các loại.
Phía dưới là thực hiện MIMD song hành tính toán một chút đề nghị:
1.
Nhiệm vụ phân chia:
Đem tính toán nhiệm vụ chia làm có thể độc lập thi hành tử nhiệm vụ. Mỗi cái tử nhiệm vụ ứng tận lực vốn sẵn có tương đồng lượng tính toán, để tại mỗi vi xử lý ( Tiết điểm ) ở giữa thực hiện phụ tải cân đối.
Nhiệm vụ phân chia có thể căn cứ vào vấn đề đặc tính cùng tính toán nhu cầu tới tiến hành, tỷ như, căn cứ vào số liệu kết cấu hoặc toán pháp trình tự tiến hành phân chia.
2.
Số liệu phân phối:
Căn cứ vào nhiệm vụ phân chia kết quả, đem số liệu phân phối đến mỗi vi xử lý ( Tiết điểm ). Số liệu phân phối sách lược dự thi lo số liệu cục bộ tính chất, thông tin chi phí cùng tính toán phụ tải cân đối các loại nhân tố. Thường gặp số liệu phân phối sách lược bao quát khối phân chia, tuần hoàn phân chia cùng động thái phân chia các loại.
3.
Thông tin cùng đồng bộ sách lược:
Thiết kế thích hợp thông tin cùng đồng bộ sách lược lấy bảo đảm mỗi vi xử lý ở giữa chính xác hợp tác.
Thông tin cùng đồng bộ sách lược cần cân bằng thông tin chi phí, tính toán hiệu suất cùng chương trình có thể mở rộng tính chất các loại nhân tố. Thường gặp thông tin cùng đồng bộ sách lược bao quát điểm đối điểm thông tin, tụ tập thông tin cùng phân trị sách lược các loại.
4.
Lựa chọn thích hợp lập trình mô hình cùng kho:
Lựa chọn thích hợp MIMD song hành tính toán lập trình mô hình cùng kho, để lại càng dễ mà biên soạn, điều chỉnh thử cùng giữ gìn chương trình.
Thường gặp MIMD lập trình mô hình bao quát MPI( Tin tức truyền lại tiếp lờicùng OpenCL đẳng.
Lựa chọn thích hợp kho cùng công cụ có thể giúp đơn giản hoá lập trình việc làm, đề cao khai phát hiệu suất.
5.
Tính năng ưu hóa cùng điều chỉnh thử:
Đối với MIMD trình tự song song tiến hành tính năng phân tích cùng ưu hóa, lấy đề cao tính toán hiệu suất.
Tính năng ưu hóa phương pháp bao quát nhiệm vụ phân chia điều chỉnh, số liệu phân phối sách lược cải tiến, thông tin cùng đồng bộ sách lược ưu hóa các loại.
Ngoài ra, cần đối với chương trình tiến hành điều chỉnh thử, bảo đảm hắn tính chính xác cùng tính ổn định.
6.
Có thể mở rộng tính chất cùng có thể cấy ghép tính chất:
Tại thực hiện MIMD song hành tính toán lúc, cần cân nhắc chương trình có thể mở rộng tính chất cùng có thể cấy ghép tính chất.
Chương trình có thể đủ tại khác biệt tính toán tài nguyên ( Nhưđẳng ) bên trên vận hành, đồng thời có tốt đẹp có thể mở rộng tính chất, để ứng đối không ngừng tăng trưởng tính toán nhu cầu.
MIMD( Nhiều chỉ lệnh số nhiều căn cứ lưu ) lập trình mô hình là vì thực hiện tại nhiều cái vi xử lý ( Tiết điểm ) ở giữa song hành thi hành nhiệm vụ mà thiết kế. Phía dưới là một chút thường gặp MIMD lập trình mô hình:
1.
MPI( Tin tức truyền lại tiếp lời ):
MPI là một loại đông đảo ứng dụng tại song hành tính toán thông tin hiệp nghị cùng kho.
Nó ủng hộ điểm đối điểm thông tin cùng tụ tập thông tin, đồng thời có độ cao có thể cấy ghép tính chất cùng có thể mở rộng tính chất.MPI có thể dùng ở đủ loại loại hình tính toán thiết bị, như nhiều hạch vi xử lý, GPU, siêu máy tính chờ. Rất nhiều song hành tính toán kho cùng hệ thống ( Nhưđẳng ) đều duy trì MPI xem như tầng dưới chót máy điện báo chế.
2.
OpenMP:
OpenMP là một loại dùng cùng hưởng bộ nhớ song hành tính toán lập trình mô hình, nó thông qua đơn giản trình biên dịch chỉ lệnh cùng kho hàm số, đem xuyên đi thay đổi vì song hành dấu hiệu.OpenMP thích hợp với nhiều hạch vi xử lý cùng có tương tự cơ cấu tính toán thiết bị. Mặc dù OpenMP chủ yếu dùng cùng hưởng bộ nhớ hệ thống, nhưng nó cũng có thể thông qua MPI cùng với những cái khác vi xử lý ( Tiết điểm ) tiến hành thông tin.
3.
CUDA:
CUDA là NVIDIA đẩy ra một loại dùng GPU song hành tính toán lập trình mô hình.CUDA lợi dụng GPU bên trong đại lượng song hành tính toán đơn nguyên ( Như CUDA hạch tâm hoặc Stream vi xử lý ) thực hiện hiệu suất cao song hành tính toán.CUDA cung cấp phong phú API, để khai phá giả tại GPU bên trên thực hiện phức tạp tính toán nhiệm vụ.
4.
OpenCL:
OpenCL là một loại Đa nền tảng song hành tính toán lập trình mô hình, thích hợp với đủ loại loại hình tính toán thiết bị, nhưđẳng.OpenCL ủng hộ số liệu song hành cùng nhiệm vụ song hành, đồng thời cung cấp phong phú API cùng vận hành lúc hoàn cảnh.OpenCL đông đảo ứng dụng tại cao tính năng tính toán, Hệ thống phần mềm nhúng cùng di động thiết bị các lĩnh vực.
5.
OpenACC:
OpenACC là một loại dùng song hành tính toán lập trình mô hình cùng trình biên dịch chỉ lệnh, nó cho phép khai phá giả thông qua chỉ lệnh đơn giản cùng chú giải, đem xuyên đi thay đổi vì song hành dấu hiệu.OpenACC ủng hộ đủ loại loại hình tính toán thiết bị, nhưmáy gia tốc chờ.OpenACC thích hợp với khoa học tính toán, công trình mô phỏng chân thật và số liệu phân tích các lĩnh vực.
6.
là một loại mở rộng Fortran ngôn ngữ, chuyên vì phân bố thức tồn trữ song hành tính toán mà thiết kếủng hộ số liệu song hành cùng nhiệm vụ song hành, đồng thời cho phép khai phá giả thoải mái mà tại khác biệt vi xử lý ( Tiết điểm ) ở giữa phân phối số liệuthích hợp với cao tính năng tính toán, khoa học tính toán và khí tượng dự báo các lĩnh vực