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
gtnods()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