1 #include <stdio.h> 2 #include <mpi.h> 3 4 #include "common_c.h" 5 6 #include <FCMangle.h> 7 #define gtnods FortranCInterface_GLOBAL_(gtnods, GTNODS) 8 9 void gtnods() 10 { 11 12 if(workfc.numpe > 1) { 13 14 int irecvcount, ierr; 15 long long numvec, loc_nshgt; 16 17 irecvcount = 1; 18 numvec = (long long) newdim.nshg0; 19 20 // printf("Local number of modes = %ld %d %d\n",numvec,newdim.nshg0, sizeof(newdim.nshg0)); 21 22 ierr = MPI_Allreduce(&numvec, &loc_nshgt, irecvcount, 23 MPI_LONG_LONG, MPI_SUM, MPI_COMM_WORLD); 24 25 newdim.nshgt = loc_nshgt; 26 } 27 else { 28 newdim.nshgt = (long long) conpar.nshg; 29 } 30 31 if (workfc.myrank == workfc.master) { 32 printf("Total number of modes = %ld\n",newdim.nshgt); 33 } 34 35 } 36