如何解决使用MPI的矩阵向量乘法
我现在没有计算机可以对此进行测试,但是如果我想将矩阵[20000x1000]与具有1000个数据的向量相乘,我可以确认这很好。
void Mat_vect_mult(
double local_A[] /*input*/
double local_x[] /*input*/
double local_y[] /*input*/
int local_m=20000 /*input*/
int n=1000 /*input*/
int local_n=1000 /*input*/
MPI_Comm comm /*input*/ ){
double* x;
int local_i,j;
int local_ok = 1;
x = malloc(n*sizeof(double));
MPI_Allgather(local_x,local_n,MPI_DOUBLE,x,comm);
for (local_i = 0; local_i < local_m; local_i++) {
local_y[local_i] = 0.0;
for (j = 0; j < n; j++)
local_y[local_i] += local_A[local_i*n+j]*x[j];
}
free(x);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。