<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                MPI是分布式計算的基礎接口架構,他有很多實現,比如intelMPI openMPI等等,而這些具體實現了這些接口里面的內容,比如一些通信協議。 MPI有幾個很重要的概念rank, group, communicator, type, pack, spawn, window, 理解了這些概念MPI就算入門了。 **group**是MPI一個很重要的概念,一臺電腦可以屬于多個group,group的正真強大體現在可以隨時隨地的組合任意group,然后利用gourp內,和group間的communicator,可以很容易實現復雜科學計算的中間過程,比如奇數rank一個group,偶數另一個group,或者拓撲結構的group,這樣可以解決很多復雜問題,另外MPI還有一個默認的全局的group,他就是comm world,一般簡單的應用有了這一個group已經足夠了。 **rank**就是任意group內的一個計算單元,利用rank我們可以很輕松的實現client server的架構,比如rank=0是server其他就是client。 **communicator**就是各種通信,比如一對一,一對多,多對一,其中多往往代表著一個group, 在傳輸過程中tag還是很有用的可以用來區別不同的任務類型,一般都是先解析tag,然后再解析具體的數據內容, 這里要有一個信封和信內容的差別的概念,理解了這樣的差別,可以很好的擴展程序。 **type**是MPI的自定義類型,由于通常編程的時候常用struct 數組 和離散的變量,這些東西不能直接進行通信, 然后MPI同樣有一套這樣的定義,我們可以轉化成MPI的格式,這樣就可以很自由的通信了。 **Pack**,就是把離散的數據打包起來,方便傳送,其實這個作用和type很類似,如果你不想很麻煩的定義type直接打包發送。 **spawn**是區分MPI一代和二代的一個重要的標志,有了spawn,就可以在運行過程中自動的改變process的數量,可能復雜的軟件才有這樣的需求。 **window**遠程的控制同一個文件,只有在網絡條件很好的時候用這個才有意義,否則會讓軟件效率變得很糟糕。、 最后要有一個思想就是同一份代碼可能會被很多電腦同時執行到,注意區分個個部分代碼的角色。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看