freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

mpi并行程序設(shè)計ppt課件(已修改)

2025-05-10 22:07 本頁面
 

【正文】 2022年 5月 MPI并行程序設(shè)計 1/217 機(jī)群應(yīng)用開發(fā) 并行編程原理及 程序設(shè)計 Parallel Programming: Fundamentals and Implementation 曙光信息產(chǎn)業(yè)有限公司 2022年 5月 2022年 5月 MPI并行程序設(shè)計 2/217 參考文獻(xiàn) ? 黃鎧 ,徐志偉著 ,陸鑫達(dá)等譯 . 可擴(kuò)展并行計算技術(shù) ,結(jié)構(gòu)與編程 . 北京 :機(jī)械工業(yè)出版社 , ~56,~237, 2022. ? 陳國良著 .并行計算 — 結(jié)構(gòu)、算法、編程 . 北京 :高等教育出版社 ,1999. ? Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel Computers). Prentice Hall, 1999. ? 李曉梅 ,莫則堯等著 . 可擴(kuò)展并行算法的設(shè)計與分析 . 北京 :國防工業(yè)出版社 ,2022. ? 張寶琳 ,谷同祥等著 . 數(shù)值并行計算原理與方法 . 北京 :國防工業(yè)出版社 ,1999. ? 都志輝著 . 高性能計算并行編程技術(shù) — MPI并行程序設(shè)計 . 北京 :清華大學(xué)出版社 , 2022. 2022年 5月 MPI并行程序設(shè)計 3/217 相關(guān)網(wǎng)址 ? MPI: ? Pthreads: ? PVM: ? OpemMP: ? 網(wǎng)上搜索 : 2022年 5月 MPI并行程序設(shè)計 4/217 MPI并行程序設(shè)計 Parallel Programming with the Massage Passing Interface (MPI) 2022年 5月 MPI并行程序設(shè)計 5/217 ? 多線程庫標(biāo)準(zhǔn) – – Win32 API. – – POSIX threads. ? 編譯制導(dǎo)標(biāo)準(zhǔn) – – OpenMP – 可移植共享存儲并行編程標(biāo)準(zhǔn) . ? 消息傳遞庫標(biāo)準(zhǔn) – – MPI – – PVM 并行編程標(biāo)準(zhǔn) 本討論的重點 2022年 5月 MPI并行程序設(shè)計 6/217 消息傳遞并行程序設(shè)計 ? 消息傳遞并行程序設(shè)計 – 指用戶必須通過顯式地發(fā)送和接收消息來實現(xiàn)處理機(jī)間的數(shù)據(jù)交換。 – 在這種并行編程中,每個并行進(jìn)程均有自己獨立的地址空間,相互之間訪問不能直接進(jìn)行,必須通過顯式的消息傳遞來實現(xiàn)。 – 這種編程方式是大規(guī)模并行處理機(jī)( MPP) 和機(jī)群( Cluster) 采用的主要編程方式。 ? 并行計算粒度大,特別適合于大規(guī)??蓴U(kuò)展并行算法 – 由于消息傳遞程序設(shè)計要求用戶很好地分解問題 ,組織不同進(jìn)程間的數(shù)據(jù)交換 ,并行計算粒度大 ,特別適合于大規(guī)??蓴U(kuò)展并行算法 . ? 消息傳遞是當(dāng)前并行計算領(lǐng)域的一個非常重要的并行程序設(shè)計方式 2022年 5月 MPI并行程序設(shè)計 7/217 什么是 MPI? ? Massage Passing Interface:是消息傳遞函數(shù)庫的標(biāo)準(zhǔn)規(guī)范,由 MPI論壇開發(fā),支持 Fortran和 C – 一種新的庫描述,不是一種語言。共有上百個函數(shù)調(diào)用接口,在 Fortran和 C語言中可以直接對這些函數(shù)進(jìn)行調(diào)用 – MPI是一種標(biāo)準(zhǔn)或規(guī)范的代表,而不是特指某一個對它的具體實現(xiàn) – MPI是一種消息傳遞編程模型,并成為這種編程模型的代表和事實上的標(biāo)準(zhǔn) 2022年 5月 MPI并行程序設(shè)計 8/217 MPI的發(fā)展過程 ? 發(fā)展的兩個階段 – MPI : 1995 ? MPICH:是 MPI最流行的非專利實現(xiàn) ,由 Argonne國家實驗室和密西西比州立大學(xué)聯(lián)合開發(fā) ,具有更好的可移植性 . – MPI ~:動態(tài)進(jìn)程 , 并行 I/O, 支持 F90和C++(1997). 2022年 5月 MPI并行程序設(shè)計 9/217 為什么要用 MPI? ? 高可移植性 – MPI已在 IBM PC機(jī)上、 MS Windows上、所有主要的Unix工作站上和所有主流的并行機(jī)上得到實現(xiàn)。使用MPI作消息傳遞的 C或 Fortran并行程序可不加改變地運行在 IBM PC、 MS Windows、 Unix工作站、以及各種并行機(jī)上。 2022年 5月 MPI并行程序設(shè)計 10/217 講座內(nèi)容提示 ? 基本的 MPI – 基本概念 – 點到點通信 (Point to point) ? MPI中 API的主要內(nèi)容,為 MPI最基本,最重要的內(nèi)容 – MPI程序的編譯和運行 ? 深入 MPI – 用戶自定義 (/派生 )數(shù)據(jù)類型 (Userdefined(Derived) data type) ? 事實上 MPI的所有數(shù)據(jù)類型均為 MPI自定義類型 – 支持異構(gòu)系統(tǒng) – 允許消息來自不連續(xù)的或類型不一致的存儲區(qū) (結(jié)構(gòu) ,數(shù)組散元 ) – 集合通信 (Collective) ? 數(shù)據(jù)移動 , 數(shù)據(jù)聚集,同步 ? 基于 point to point 構(gòu)建 – MPI環(huán)境管理函數(shù) ? 組 ,上下文和通信空間 /通信子的管理 ? 實例 2022年 5月 MPI并行程序設(shè)計 11/217 從簡單入手 ! ? 下面我們首先分別以 C語言和 Fortran語言的形式給出一個最簡單的 MPI并行程序 Hello (下頁 ). ? 該程序在終端打印出 Hello World!字樣 . ? “Hello World”:一聲來自新生兒的問候 . 2022年 5月 MPI并行程序設(shè)計 12/217 Hello world(C) include include “ main( int argc, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 } 2022年 5月 MPI并行程序設(shè)計 13/217 Hello world(Fortran) program main include ‘’ integer ierr call MPI_INIT( ierr ) print *, 39。Hello, world!39。 call MPI_FINALIZE( ierr ) end 2022年 5月 MPI并行程序設(shè)計 14/217 C和 Fortran中 MPI函數(shù)約定 ? C – 必須包含 . – MPI 函數(shù)返回出錯代碼或 MPI_SUCCESS成功標(biāo)志 . – MPI前綴 , 且只有 MPI以及 MPI_標(biāo)志后的第一個字母大寫 , 其余小寫 . ? Fortran – 必須包含 . – 通過子函數(shù)形式調(diào)用 MPI,函數(shù)最后一個參數(shù)為返回值 . – MPI前綴,且函數(shù)名全部為大寫 . ? MPI函數(shù) 的參數(shù)被標(biāo)志為以下三種類型: – IN: 參數(shù)在例程的調(diào)用中不會被修正 . – OUT: 參數(shù)在例程的調(diào)用中可能會被修正 . – INOUT: 參數(shù)在一些例程中為 IN, 而在另一些例程中為 OUT. 2022年 5月 MPI并行程序設(shè)計 15/217 MPI初始化 MPI_INIT int MPI_Init(int *argc, char **argv) MPI_INIT(IERROR) – MPI_INIT是 MPI程序的第一個調(diào)用,它完成MPI程序的所有初始化工作。所有的 MPI程序的第一條可執(zhí)行語句都是這條語句。 –啟動 MPI環(huán)境 ,標(biāo)志并行代碼的開始 . –并行代碼之前 ,第一個 mpi函數(shù) (除MPI_Initialize()外 ). –要求 main必須帶參數(shù)運行 ,否則出錯 . 2022年 5月 MPI并行程序設(shè)計 16/217 MPI結(jié)束 MPI_FINALIZE int MPI_Finalize(void) MPI_FINALIZE(IERROR) – MPI_FINALIZE是 MPI程序的最后一個調(diào)用,它結(jié)束MPI程序的運行,它是 MPI程序的最后一條可執(zhí)行語句,否則程序的運行結(jié)果是不可預(yù)知的。 – 標(biāo)志并行代碼的結(jié)束 ,結(jié)束除主進(jìn)程外其它進(jìn)程 . – 之后串行代碼仍可在主進(jìn)程 (rank = 0)上運行 (如果必須 ). 2022年 5月 MPI并行程序設(shè)計 17/217 MPI程序的的編譯與運行 ? mpif77 或 mpicc – 默認(rèn)生成 . ? mpif77 –o hello 或 ? mpicc –o hello – 生成 hello的可執(zhí)行代碼 . ? mpirun –np 4 ? mpirun –np 4 hello – 4 指定 np的實參 ,表示進(jìn)程數(shù) ,由用戶指定 . – / hello 要運行的 MPI并行程序 . %小寫 o %np: The number of process. 2022年 5月 MPI并行程序設(shè)計 18/217 ? :運行我們的 MPI程序 ! ? [dair@node01 ~]$ mpicc o hello ? [dair@node01 ~]$ ./hello (?) [0] Aborting program ! Could not create p4 procgroup. Possible missing fileor program started without mpirun. ? [dair@node01 ~]$ mpirun np 4 hello (?) Hello World! Hello World! Hello World! Hello World! ? [dair@node01 ~]$ 計算機(jī)打印字符 我們輸入的命令 2022年 5月 MPI并行程序設(shè)計 19/217 ? :Hello是如何被執(zhí)行的 ? ? SPMD: Single Program Multiple Data(SPMD) :::: include include main( int argc, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 } include include main( int argc, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 } include include main( int ar c, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 } include include main( int ar c, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 } Hello World! Hello World! Hello World! Hello World! include include main( int ar c, char *argv[] ) { MPI_Init( amp。argc, amp。argv )。 printf( Hello, world!\n )。 MPI_Finalize()。 } 2022年 5月 MPI并行程序設(shè)計 20/217 ? :開始寫 MPI并行程序 ? 在寫 MPI程序時,我們常需要知道以下兩個問題的答案: –任務(wù)由 多少 個進(jìn)程來進(jìn)行并行計算? –我是 哪一個 進(jìn)程 ? 2022年 5月 MPI并行程序設(shè)計 21/217 ? :開始寫 MPI并行程序 ? MPI 提供了下列函數(shù)來回答這些問題: – 用 MPI_Comm_size 獲得進(jìn)程個數(shù) p int MPI_Comm_size(MPI_Comm m, int *size)。 – 用 MPI_Comm_rank 獲得進(jìn)程的一個叫 rank的值,該
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1