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

正文內(nèi)容

并行程序設(shè)計(jì)hppt課件-展示頁(yè)

2025-01-23 16:27本頁(yè)面
  

【正文】 Bsend_init MPI_Rsend_init MPI_Ssend_init 二、標(biāo)準(zhǔn)發(fā)送和接收 ? 標(biāo)準(zhǔn)發(fā)送和接收是阻塞式 (blocking)的 – 直到傳輸在本地完成 (locally plete)后,發(fā)送 /接收函數(shù)才返回 ? 本地完成與全局完成 – 本地完成 (locally plete) :在本地進(jìn)程中執(zhí)行的傳輸工作已經(jīng)完成 – 全局完成 (globally plete):整個(gè)傳輸已經(jīng)完成 MPI_Send():阻塞式發(fā)送消息 MPI_Recv():阻塞式接收消息 int MPI_Send( void *buffer, //發(fā)送數(shù)據(jù)指針 int count, //發(fā)送數(shù)據(jù)元素?cái)?shù) MPI_Datatype type, //發(fā)送數(shù)據(jù)類型 int dest, //目的進(jìn)程 ID int tag, //識(shí)別該消息的標(biāo)記 MPI_COMM m //MPI通信子 )。 MPI_Comm_size():獲得指定通信子中的任務(wù)數(shù) MPI_Comm_rank():獲得某個(gè)進(jìn)程在通信子中的序號(hào) int MPI_Comm_size( MPI_COMM m, //指定的通信子 int *size //任務(wù)數(shù) )。第三章 消息傳遞程序設(shè)計(jì) MPI 劉 軼 北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院 從程序員視角看,并行體系結(jié)構(gòu)主要分為兩類: ① 共享存儲(chǔ) (sharedmemory)系統(tǒng) 典型平臺(tái): 基于多核處理器的計(jì)算機(jī) SMP及 NUMA體系結(jié)構(gòu)計(jì)算機(jī) ② 消息傳遞 (messagepassing)系統(tǒng) 機(jī)群系統(tǒng) 本章內(nèi)容 幾種主流的并行編程接口 Pthreads OpenMP MPI 編程模型 線程 共享內(nèi)存 消息傳遞 面向系統(tǒng)結(jié)構(gòu) 共享內(nèi)存 共享內(nèi)存 分布式內(nèi)存或共享內(nèi)存 通信模型 共享內(nèi)存地址 共享內(nèi)存地址 消息傳遞或共享內(nèi)存地址 并行粒度 粗 或 細(xì) 細(xì) 粗 或細(xì) 同步 顯式 隱式 隱式 或 顯式 實(shí)現(xiàn)方式 程序庫(kù) 編譯器 程序庫(kù) 本章內(nèi)容 MPI并行環(huán)境簡(jiǎn)介 點(diǎn)到點(diǎn)通信 組和通信子 集合通信 MPI與多線程 MPI并行環(huán)境簡(jiǎn)介 MPI并行環(huán)境簡(jiǎn)介 一、簡(jiǎn)介 ? MPIMessage Passing Interface ? 面向消息傳遞型并行系統(tǒng)的編程接口 – 主要面向機(jī)群系統(tǒng) (cluster) ? MPI之前曾廣泛使用另一種編程接口 PVM – MPI于 1994年發(fā)布,目前為 v2版 – 經(jīng)過(guò)多年技術(shù)發(fā)展,已顯露出諸多不足之處,但在沒有更理想編程模型和語(yǔ)言的情況下, MPI仍是應(yīng)用最為廣泛的消息傳遞型編程接口標(biāo)準(zhǔn) – 不同廠商和研究機(jī)構(gòu)推出了多個(gè)版本,主要有: ? MPICH √ – ? LAMMPI ? IBM MPL ? MPI支持 C/C++、 Fortran語(yǔ)言編程 MPI并行環(huán)境簡(jiǎn)介 MPI的并行模式: SPMD(Single Program Multiple Data) 程 序. . .C P UM e m o r yC P UM e m o r yC P UM e m o r y互 連 網(wǎng) 絡(luò)數(shù) 據(jù)? 所有節(jié)點(diǎn)運(yùn)行相同的程序 ? 不同的節(jié)點(diǎn)處理不同的數(shù)據(jù) ? 每個(gè)節(jié)點(diǎn)運(yùn)行一個(gè)或多個(gè) MPI進(jìn)程 ,進(jìn)程間通過(guò)發(fā)送 /接收消息進(jìn)行通信和同步 注意:多個(gè)并行進(jìn)程間無(wú)法共享變量 , 只能通過(guò)消息進(jìn)行交互 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI進(jìn)程的創(chuàng)建、啟動(dòng)和管理通過(guò)進(jìn)程管理器 (PMProcess Manager)完成 – 進(jìn)程管理器就是 MPI環(huán)境與操作系統(tǒng)的接口 ? 常用的進(jìn)程管理器 MPD – MPD是 MPI環(huán)境的守護(hù)進(jìn)程 (daemon), MPI其他工具通過(guò)與MPD通信實(shí)現(xiàn)其功能 – MPD由 python實(shí)現(xiàn)的一組工具構(gòu)成 ? 意味著系統(tǒng)中需安裝 python解釋器 – 由 mpdboot 完成 MPD在多個(gè)主機(jī)上的啟動(dòng),以形成 MPI運(yùn)行環(huán)境 ? 啟動(dòng)之前需配置各節(jié)點(diǎn)間的無(wú)密碼登錄 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 MPD命令 命令 說(shuō)明 mpd 啟動(dòng) MPD守護(hù)進(jìn)程 mpdtrace 打印 MPI運(yùn)行時(shí)環(huán)境內(nèi)所有 MPD守護(hù)進(jìn)程的信息 mpdboot 啟動(dòng)一組 MPD進(jìn)程 mpdringtest 測(cè)試消息在環(huán)境環(huán)行一周的時(shí)間 mpdallexit 停止運(yùn)行時(shí)環(huán)境的所有進(jìn)程 mpdcleanup 運(yùn)行時(shí)環(huán)境崩潰情況下,可用該命令清除本地的 Unix socket mpdlistjobs 列出作業(yè)的進(jìn)程信息 mpdkilljob 停止某個(gè)作業(yè)的所有進(jìn)程 mpdsigjob 對(duì)某個(gè)作業(yè)的所有進(jìn)程發(fā)信號(hào) mpiexec 啟動(dòng)一個(gè)作業(yè) (早期 MPI版本使用 mpirun命令 ) MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI環(huán)境的安裝過(guò)程示例 ① 下載 MPI源代碼包并解壓縮 ② 配置 mpi ③ 編譯并安裝 ④ (確認(rèn) )安裝 python 用 vi修改 .bash_profile文件 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI環(huán)境的安裝過(guò)程示例 ⑤ 將 MPI路徑添加到環(huán)境變量 PATH ? 修改用戶配置文件 .bash_profile 修改后的 .bash_profile文件內(nèi)容 路徑信息已添加 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI環(huán)境的安裝過(guò)程示例 ⑥ 配置節(jié)點(diǎn)間 SSH無(wú)口令登錄 (注: SSH – Secure SHell) ? 創(chuàng)建公鑰 /私鑰對(duì)文件 創(chuàng)建后的文件 ? 將公鑰文件拷貝到其他節(jié)點(diǎn)的 .ssh目錄中的 authorized_keys文件 ? host1?host2的 SSH無(wú)口令登錄 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI環(huán)境的安裝過(guò)程示例 ⑦ 節(jié)點(diǎn)名添加到 mpd_hosts文件,構(gòu)成 ring ⑧ 啟動(dòng)并測(cè)試 MPI環(huán)境 /etc/hosts文件中存儲(chǔ)主機(jī)名稱與 IP地址的映射表 ~/MPI節(jié)點(diǎn)列表 為保證節(jié)點(diǎn)間通信正常和性能,需關(guān)閉 Linux防火墻 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI程序編譯 – MPI提供編譯腳本: mpiCC/mpicc/mpif77/mpif90 ? mpiCCC++程序編譯及鏈接 ? mpiccC程序編譯及鏈接 ? mpif77和 mpif90Fortran77和 Fortran90程序編譯及鏈接 ? 關(guān)于編譯輸出可執(zhí)行文件的位置 – 要求各節(jié)點(diǎn)都可以訪問該文件 (注意各節(jié)點(diǎn)都將執(zhí)行該程序 ) ? 方法一:編譯后手工將文件拷貝到各節(jié)點(diǎn) 例: $scp cpi host2:/home/test ? 方法二:配置 NFS共享目錄,各節(jié)點(diǎn)啟動(dòng)時(shí)將共享目錄 mount到本機(jī)文件系統(tǒng)中,編譯輸出的可執(zhí)行文件直接存入該目錄 MPI并行環(huán)境簡(jiǎn)介 二、 MPI基本環(huán)境 ? MPI程序的運(yùn)行 – 使用 mpiexec啟動(dòng) MPI應(yīng)用程序 ? MPI過(guò)去使用 mpirun 基本命令示例: mpiexec n num executable ? num表示進(jìn)程個(gè)數(shù) (注意:是進(jìn)程不是線程 ) ? executable為可執(zhí)行程序名,可以是 MPI程序,也可以不是 ? MPI程序的調(diào)試 – MPI提供了與 gdb和 totalview的集成接口 – mpiexec –gdb實(shí)現(xiàn)與 gdb的集成 ? 進(jìn)程按順序指派在各節(jié)點(diǎn)上運(yùn)行 ? 進(jìn)程個(gè)數(shù)與節(jié)點(diǎn)個(gè)數(shù)沒有必然聯(lián)系 問題:怎樣能寫出獨(dú)立于進(jìn)程個(gè)數(shù)和節(jié)點(diǎn)個(gè)數(shù)的程序 ? MPI并行環(huán)境簡(jiǎn)介 三、 MPI的幾個(gè)基本概念 ? 緩沖區(qū): MPI定義了 3種緩沖區(qū) – 應(yīng)用緩沖區(qū):保存將要發(fā)送或接收的數(shù)據(jù)的地址空間 – 系統(tǒng)緩沖區(qū): MPI環(huán)境為通信所準(zhǔn)備的存儲(chǔ)空間 – 用戶向系統(tǒng)注冊(cè)的緩沖區(qū):用戶使用某些 API時(shí),在程序中顯式申請(qǐng)的存儲(chǔ)空間,然后注冊(cè)到 MPI環(huán)境中供通信所用 ? 節(jié)點(diǎn)間傳送消息時(shí),可能需要消息在緩沖區(qū)之間拷貝 ? 為減少消息傳輸延遲 – 更高速的互連網(wǎng)絡(luò) – 更簡(jiǎn)單的協(xié)議棧 – 避免消息多次拷貝 – 非阻塞式發(fā)送 – … MPI并行環(huán)境簡(jiǎn)介 三、 MPI的幾個(gè)基本概念 ? 通信子 (municator) – 是 MPI環(huán)境管理進(jìn)程及通信的基本設(shè)施 – 定義一個(gè)可以相互間通信的進(jìn)程集合,進(jìn)程間的消息傳遞需放在通信子中進(jìn)行 – MPI支持通信子內(nèi) (Intramunicator)通信和通信子間 (Intermunicator)通信 – 不同空間中的消息互不干擾 – MPI啟動(dòng)后,自動(dòng)創(chuàng)建 2個(gè)組內(nèi)通信子 ? MPI_COMM_WORLD:?jiǎn)?dòng)時(shí)的所有進(jìn)程 ? MPI_COMM_SELF:僅包含進(jìn)程自身 ? 進(jìn)程號(hào)與進(jìn)程組 – 進(jìn)程號(hào) (rank)需放在某個(gè)通信子范圍內(nèi)才有效 ? 在一個(gè)通信子中,進(jìn)程號(hào)從 0開始編號(hào),為一連續(xù)整數(shù)序列 – 通信中必須使用進(jìn)程號(hào)標(biāo)識(shí)消息的源和目的 – 定義一個(gè)通信子時(shí),也就指定了一組共享該空間的進(jìn)程組 (group) ? 訪問文件需要使用句柄 ? 訪問網(wǎng)絡(luò)需要使用套接字 ? MPI中傳送消息需要用通信子 MPI并行環(huán)境簡(jiǎn)介 四、 MPI基本調(diào)用 MPI初始化與結(jié)束 MPI_Init():初始化 MPI MPI_Finalize():結(jié)束 MPI int MPI_Init( int *arg
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1