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