mpi

    0熱度

    1回答

    有沒有辦法將mpi4py.abort()和python raise RuntimeError()(或任何其他類型的錯誤)一起使用?也許 errstr = 'ARRRGH!!!' raise RuntimeError(errstr) mpicomm.abort() 或 mpicomm.abort() errstr = 'ARRRGH!!!' raise RuntimeError(errs

    0熱度

    1回答

    我有一個生成系統矩陣的Python腳本。這是在一個處理器上連續發生的,在一個進程中,沒有任何並行處理。我也有解算器代碼。代碼使用MPI在許多處理器上運行。 目前,Python腳本創建矩陣,將其寫入文件,通過subprocess.call(["mpirun ....."])調用解算器,解算器從文件中讀取矩陣,解析並寫回文件,最後Python腳本將結果讀迴文件。 現在我正在尋找更有效率的東西,避免文件

    0熱度

    1回答

    我已經建立了對微軟的Azure支持RDMA幾個H16R實例,英特爾乒乓球測試工作正常: mpirun -hosts <host1>,<host2> -ppn 1 -n 2 -env I_MPI_FABRICS=dapl -env I_MPI_DAPL_PROVIDER=ofa-v2-ib0 -env I_MPI_DYNAMIC_CONNECTION=0 IMB-MPI1 pingpong 然而

    0熱度

    1回答

    我想確定MPI中非阻塞點對點通信的開銷。有一些基準測試可用(如Sandia MPI Micro-Benchmark Suite或OSU micro-benchmarks),但由於某些原因,它們不區分MPI提供的發送模式(標準,就緒,緩衝,同步)和僅使用標準模式。 MPI報告指出 在這種模式下,由MPI決定是否將傳出消息緩衝。 MPI可能緩衝傳出消息。在這種情況下,發送呼叫可能會在調用匹配接收之前完

    0熱度

    1回答

    上下文: 在我的程序中,主進程正在爲從進程分配工作。一旦從屬過程完成工作,它就會要求主人做更多的工作。主人給奴隸分配更多的工作,程序繼續進行。 我已經編寫了這樣的程序,主進程使用MPI_Recv和MPI_ANY_SOURCE來接收來自從節點的工作。 /* Allot some work to all the slaves (seed) */ while (istheremorework())

    0熱度

    1回答

    下面的代碼給出了這樣的錯誤消息: 終止叫做拋出 的實例後 '的boost :: exception_detail :: clone_impl' 什麼():MPI_TEST:MPI_ERR_TRUNCATE:消息截斷 問題可能與在this post中討論的boost :: mpi錯誤有關。我想確定錯誤的原因。 代碼工作,如果我僅環一次(for (int z=0; z<1; ++z)),但z<2我得到

    0熱度

    1回答

    的爲什麼這行代碼: if(my_rank != 0) { sprintf(msg, "Hello from %d of %d...", my_rank, comm_sz); if(my_rank == 2) { sleep(2); sprintf(msg, "Hello from %d of %d, I have slept 2 seconds...",

    0熱度

    1回答

    我看到有人用MPI_Brier使用C(Segmentation fault while using MPI_Barrier in `libpmpi.12.dylib`)和C++(Why does MPI_Barrier cause a segmentation fault in C++)產生段錯誤。但是,我不會重現他們得到的錯誤。 但是,現在我得到了同樣的錯誤fortran MPI_Barrier

    1熱度

    1回答

    我正在嘗試將可分配數組傳遞給子例程。當我使用How to pass allocatable arrays to subroutines in Fortran中提到的串行版本時,它工作正常。以下是我的代碼串行版本。 module test contains subroutine func(a,sqa,n) implicit none integer, intent(in) :

    0熱度

    2回答

    假設我有兩個處理器: 第一個P0 呼叫MPI_SEND到消息A發送到P1; 調用MPI_Recv從p1接收B; 第二個P1 呼叫MPI_SEND到消息B發送到P0; 調用MPI_Recv從p0接收A; 如果消息A和B的大小超過系統緩衝區會發生什麼?