openmpi

    1熱度

    1回答

    假設你做了兩個MPI_Sends和兩個MPI_Recvs,你可以指定哪個緩衝區的內容將會到達MPI_Send,如果你有兩個不同的緩衝區可用,並且每個MPI_Recvs都從每個緩衝區接收? if(rank == MASTER) { for(kk=1; kk < size; kk++) { MPI_Recv(printbuf, numcols, MPI_DOUBLE, kk, t

    -1熱度

    1回答

    我想在6核英特爾至強機上使用numpy.linalg和openmpi/mpi4py對大量完全獨立的矩陣計算進行對角化。 當使用N個進程運行時,每個矩陣計算似乎需要延長N倍,因此計算的總時間與非並行版本相同(實際上比較慢)。 E.g.這裏有一個簡單的代碼,僅僅對角化12個1000×1000的隨機矩陣: import numpy as np import numpy.linalg as la im

    1熱度

    1回答

    if(my_rank==0) { sprintf(str,"<?xml version=\"1.0\" ?>\n"); MPI_File_iwrite(fp,str,strlen(str), MPI_CHAR,&request); a=a+strlen(str); sprintf(str,"<!DOCTYPE Xdmf SYSTEM \"X

    0熱度

    1回答

    我想將struct S的幾個實例發送到某些進程。每個struct的佈局可能不同,也就是說,s.v可能有不同的大小。在接收數據時,我不知道MPI_Get_count中的確切MPI_Datatype,因爲該信息僅在發件人進程中可用。還要考慮到struct S有很多非原始成員,所以我不能假設接收時MPI_Datatype爲MPI_INT。我如何獲得用於MPI_Get_count的MPI_Datatype

    1熱度

    1回答

    我正在嘗試並行計算pi的下列代碼。 我的方法是使用scatter來並行化for,然後使用reduce來計算總和值並最終顯示pi。 我的代碼如下 #include <stdio.h> #include <mpi.h> long num_steps = 100000; double step = 1.0/100000.0; int main() { int i, myid, size;

    0熱度

    1回答

    我正在運行一個代碼,我簡單地創建了2個矩陣:一個矩陣的尺寸爲args x nsame,另一個矩陣的尺寸爲nsame x bcols。結果是一個尺寸爲x bcols的數組。這是相當簡單的使用BLAS來實現,並出現下面的代碼如期運行使用具有的openmpi下面的主從模式時:` #include <iostream> #include <stdio.h> #include <iostream> #

    0熱度

    1回答

    我試圖在Ubuntu 16.04中編譯需要HDF5的包。編譯HDF5時遇到這個問題: ImportError: /usr/lib/x86_64-linux-gnu/libhdf5_openmpi.so.10: undefined symbol: ompi_mpi_info_null 這是說明我沒有openMPI?很確定我有這個以及從突觸檢查...我已經安裝了libopenmpi-dev和lib

    0熱度

    1回答

    更新版本 我發現了導致問題的部分,這在之前解釋如下。我也想和你分享這個情況。我意識到,我所做的只有一個荒​​謬的錯誤。但是,我想知道這個問題是如何發生的,即使我犯了一個很大的錯誤: 我有一個結構定義如下; #define FP_TYPE double /* Struct : Nonzero */ struct nonzero{ int row_index; int col

    1熱度

    1回答

    我有我的第一次使用R和羣集的經驗。在Google上搜索時,我發現了包「doMPI」。這個包允許我自動化創建進程。但是,我對功能有點混淆。 1 - startMPIcluster和registerDOMPI有什麼區別? 2 - 在startMPIcluster上傳遞的爭論是什麼? 3 - 當我使用命令「mpirun -H n1,n2,n3 -n 1 R -slave -f sincMPI.R」時,它

    0熱度

    1回答

    此帖與以前發帖binding threads to certain MPI processes有關。在這裏,有人問及MPI等級如何分配不同的OpenMP線程數量 。一種可能性如下 $ mpiexec <global parameters> -n n1 <local parameters> executable_1 <args1> : -n n2 <local param