| 6 |  | * Start | 
                        | 7 |  | * library("Rmpi") | 
                        | 8 |  |  | 
                      
                        |  | 6 | * library("Rmpi") | 
                        |  | 7 | 將 Rmpi 的 package 載入,讓我們可以使用 MPI 的 function。所以在使用任何 MPI functions 前必須先執行這個指令。 | 
                        |  | 8 | * mpi.spawn.Rslaves(nslaves=#) | 
                        |  | 9 | 會產生出 # 個 processes,如果沒有任何參數,則會產出這個 MPI 環境中最大數量的 nodes。 | 
                        |  | 10 | * mpi.close.Rslaves() | 
                        |  | 11 | 將所有的 slaves 關閉,建議在結束程式前必須執行此程式。 | 
                        |  | 12 | * mpi.quit([saving=yes/no]) | 
                        |  | 13 | 將 Rmpi 所分配的資源清除,並且呼叫 R 的 quit function,我們必須使用這個 function 離開程式。 | 
                        |  | 14 | * mpi.comm.size() | 
                        |  | 15 | 回傳 processes 的個數,一般來說這個數目是 slaves 個數加上 1 個 master。 | 
                        |  | 16 | * mpi.comm.rank() | 
                        |  | 17 | 回傳每個 process 所代表的數字。 | 
                        |  | 18 | * mpi.bcast.Robj2slave(object) | 
                        |  | 19 | 將一個 R object(number, string or list) 或是 function 送給所有的 slaves 。 | 
                        |  | 20 | * mpi.send.Robj(object,destination,tag) | 
                        |  | 21 | 將一個 R object(number, string or list) 送給 destination , destination 是就是 nodes 的 rank 。舉例來說, mpi.send.Robj(object,0,tag) ,會送到 master , mpi.send.Robj(object,10,tag) 會送到 rank = 10 的 slave 。 | 
                        |  | 22 | * object <- mpi.recv.Robj(mpi.any.source(),mpi.any.tag()) | 
                        |  | 23 | 使用這個 function 的 process 會從 |