小编Sig*_*ndo的帖子

MPI_Isend()中的MPI分段错误

我是MPI编程的新手!我试图测量处理器之间的点对点通信带宽以实现实用性.但是现在我遇到了分段错误!我不明白为什么会这样.我也在ubuntu上尝试了valgrind,但不知道.所以也许有人可以帮助我:D

感谢快速响应,但这并没有改变问题:(我只是更新了错误!

这里是源代码

#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){

 int myrank, size;
 MPI_Init(&argc, &argv);
 MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
 MPI_Comm_size(MPI_COMM_WORLD, &size);

 int *arraySend = (int *)malloc(25000*sizeof(int));
 int *arrayRecv = (int *)malloc(25000*sizeof(int));
 double startTime = 0.0, endTime = 0.0;
 MPI_Status status,statusSend, statusRecv;
 MPI_Request requestSend, requestRecv;

 if(size != 2){
   if(myrank == 0){
       printf("only two processors!\n");
       MPI_Finalize();  
       return 0;
    }
 }

 if(myrank == 0){
     startTime = MPI_Wtime();
     MPI_Send(&arraySend, 25000, MPI_INT, 1, 0,MPI_COMM_WORLD);
 }else{
     MPI_Recv(&arrayRecv, 25000, MPI_INT, 0, 0, MPI_COMM_WORLD, &status);
 } …
Run Code Online (Sandbox Code Playgroud)

c debugging mpi segmentation-fault

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

debugging ×1

mpi ×1

segmentation-fault ×1