mpi

    1熱度

    1回答

    我的問題可能是微不足道的。我使用MPI庫對一個CFD代碼進行了並行處理,現在我正試圖調查我的並行效率。首先,我創建了一個案例,它將提供行列中相同的負載和對傳輸數據的計算量的恆定比率。因此,我的期望是,當我增加等級時,任何運行時變化都將僅歸因於通信延遲。然而,我意識到不調用等級通信的子程序(因此它們只執行域計算,因此它們處理所有等級的相同負載)顯着貢獻 - 實際上是最大運行時增加。我在這裏錯過了什麼

    0熱度

    1回答

    我正在處理MPI版本的BML自動機,但MPI_Scatter()將無法正常工作。我讀here,對於集體通信功能,每個進程都需要它的數組副本,而不是初始化的分配空間。在我的代碼中,有一個每個進程操作的子網格local_grid,以及一個只有root用戶操作的起始大grid。我的意思是使用MPI數據類型的Scatter-Gather通信。我爲每個網格和子網格分配空間,然後僅爲根網格初始化網格。我錯在哪

    -1熱度

    1回答

    我正在編寫一個MPI fortran程序,並有三個不同長度的三個向量的三個向量。我想他們在一個「串聯」的方式,如結合在一起: Rank 0: a0 = [1 2 3 4 5] Rank 1: a1 = [3 5 7 9] Rank 2: a2 = [2 4 6 8 10 12] 它們組合到: Rank 0: a = [1 2 3 4 5 3 5 7 9 2 4 6 8 10 12] 你

    0熱度

    1回答

    我有一個真實數據的3D數組,我想用一個軸上的DST或DCT和另外兩個軸上的常規DFT進行轉換。結果應該是一個包含這個轉換系數的3D複數組。 你知道FFTW3軟件包是否提供了這樣一個例程 - 可能並行 - 開箱即用? FFTW3爲所有三個方向上的簡單3D DFT提供了這樣的程序。 如果不是,你可能會對如何在C/C++中實現它的最佳方式有所暗示嗎? 我天真的想法:DST/DCT的組裝,然後在一些包裝程

    0熱度

    1回答

    我正在寫一個MPI程序,我需要從每個進程到根進程收集一個數組。我正在使用MPI_Gatherv(因爲數組可以具有可變長度)的功能,但是,我不斷收到PMPI_Gatherv(455): Negative count異常。下面是調用這個MPI_Gatherv的代碼片段。我沒有發佈完整的代碼,因爲它太大了,但如果需要,我可以添加所需的代碼部分。 double *errs; int *rcounts,

    0熱度

    1回答

    我一直在尋找關於分佈式遊戲樹遍歷的this paper,並且(在別人的幫助下)試圖製作軟件樹遍歷器的Python/mpi4py克隆,以便解決2個玩家抽象策略遊戲。 首先,Wikipedia provides a breif description關於如何「解決」一個遊戲。 這是一個常見的優化,記住已經解決的結果,因此不需要進一步的樹遍歷。由於一羣計算機不能平均分享彼此的結果,因此採取了各種方法來解

    0熱度

    1回答

    我在計算網格上的值的小代碼的順序和MPI版本之間有一個奇怪的結果。 順序的版本是這樣的: int main() { /* Array */ double **x; /* Allocation of 2D arrays */ x = malloc(size_tot_y*sizeof(*x)); for (i=0;i<=size_tot_y-1;

    0熱度

    1回答

    我是FFTW庫的新手。我已經使用FFTW庫成功實現了一維和二維fft。我將我的2D fft代碼轉換爲多線程2D fft。但結果完全相反。多線程二維FFT代碼比串行化二維FFT代碼花費的時間更長。我在某處失去了某些東西。我遵循FFTW documentation中給出的所有說明來並行化代碼。 這是我並行2D FFT C程序 #include <mpi.h> #include <fftw3.h>

    0熱度

    1回答

    SO:Ubuntu 17.04。直到昨天,MPI一切正常,然後出現了問題。該錯誤是標題上的錯誤,並且與mpirun -n[n] ./myprogram一起運行。 以前歐泊與Libmpi.so.12錯誤,我無法解決這個問題,儘管我試圖表明我.bashrc的LD_LIBRARY_PATH,在類似的問題在這裏提出。然後重新安裝OpenMPI,這個新的錯誤已經改變,我不知道如何解決它。實際上的apt-fi

    1熱度

    1回答

    我遇到了一個有趣的現象,我無法解釋。我還沒有在網上找到答案,因爲大多數帖子都涉及縮小比例較弱以及通信開銷。 下面是一小段代碼來說明問題。這是在不同的語言測試與相似的結果,因此多個標籤。 #include <mpi.h> #include <stdio.h> #include <time.h> int main() { MPI_Init(NULL,NULL); int