2
我只是想知道這是否可能,如果它是任何人都有一個使用MPI_Op_create創建一個具有許多gsl和或將其內部的boost函數傳遞給mpi_reduce命令。在我的情況順序並不重要,但串行和Openmp太慢,我想要做什麼,所以我想嘗試將其轉換爲mpi。使用MPI_Op_create與外部庫函數,如boost或GSL
代替標準的C示例
void addem (int *, int *, int *, MPI_Datatype *);
void addem(int *invec, int *inoutvec, int *len, MPI_Datatype *dtype)
{
int i;
for (i=0; i<*len; i++)
inoutvec[i] += invec[i];
}
,然後將其上
MPI_Op_create((MPI_User_function *)addem,1,& OP)通過;
我會改變這種類似但更復雜的東西,然後這個
void addgsl(gsl_vector* vec,gsl matrix* mat, int num,.....,MPI_Datatype *dtype)
for (int i=0; i <num; i++) {
//some complicated boost or gsl mathematical formula here
}
它說我可以特定關聯+交換或不(從openMPI文檔,可能會因不同的實現而有所不同)在我的情況順序並不重要,所以這是個好消息,謝謝 – pyCthon 2012-03-23 14:19:21