Open e-kwsm opened 3 months ago
$ ./configure --enable-mpi $ make -C mpi make: Entering directory './mpi' make all-am make[1]: Entering directory './mpi' /bin/sh ../libtool --tag=CC --mode=compile mpicc -DHAVE_CONFIG_H -I. -I.. -I .. -I ../api -O3 -fomit-frame-pointer -mtune=native -malign-double -fstrict-aliasing -fno-schedule-insns -MT transpose-pairwise-omc.lo -MD -MP -MF .deps/transpose-pairwise-omc.Tpo -c -o transpose-pairwise-omc.lo transpose-pairwise-omc.c libtool: compile: mpicc -DHAVE_CONFIG_H -I. -I.. -I .. -I ../api -O3 -fomit-frame-pointer -mtune=native -malign-double -fstrict-aliasing -fno-schedule-insns -MT transpose-pairwise-omc.lo -MD -MP -MF .deps/transpose-pairwise-omc.Tpo -c transpose-pairwise-omc.c -fPIC -DPIC -o .libs/transpose-pairwise-omc.o transpose-pairwise-omc.c: In function 'transpose_chunks': transpose-pairwise-omc.c:108:115: error: passing argument 7 of 'MPI_Isend' from incompatible pointer type [-Wincompatible-pointer-types] 108 | MPI_Isend(buf[j&0x1], (int) (sbs[pe]), FFTW_MPI_TYPE, pe, (my_pe * n_pes + pe) & 0xffff, comm, &send_status); | ^~~~~~~~~~~~ | | | MPI_Status * {aka struct ompi_status_public_t *} In file included from ifftw-mpi.h:28, from mpi-transpose.h:22, from transpose-pairwise-omc.c:32: /usr/include/mpi.h:1783:67: note: expected 'struct ompi_request_t **' but argument is of type 'MPI_Status *' {aka 'struct ompi_status_public_t *'} 1783 | int tag, MPI_Comm comm, MPI_Request *request); | ~~~~~~~~~~~~~^~~~~~~ transpose-pairwise-omc.c:109:116: error: passing argument 7 of 'MPI_Irecv' from incompatible pointer type [-Wincompatible-pointer-types] 109 | MPI_Irecv(O + rbo[pe], (int) (rbs[pe]), FFTW_MPI_TYPE, pe, (pe * n_pes + my_pe) & 0xffff, comm, &recv_status); | ^~~~~~~~~~~~ | | | MPI_Status * {aka struct ompi_status_public_t *} /usr/include/mpi.h:1779:67: note: expected 'struct ompi_request_t **' but argument is of type 'MPI_Status *' {aka 'struct ompi_status_public_t *'} 1779 | int tag, MPI_Comm comm, MPI_Request *request); | ~~~~~~~~~~~~~^~~~~~~ transpose-pairwise-omc.c:113:29: error: passing argument 1 of 'MPI_Wait' from incompatible pointer type [-Wincompatible-pointer-types] 113 | MPI_Wait(&send_status, MPI_STATUS_IGNORE); | ^~~~~~~~~~~~ | | | MPI_Status * {aka struct ompi_status_public_t *} /usr/include/mpi.h:2099:42: note: expected 'struct ompi_request_t **' but argument is of type 'MPI_Status *' {aka 'struct ompi_status_public_t *'} 2099 | OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status); | ~~~~~~~~~~~~~^~~~~~~ transpose-pairwise-omc.c:114:29: error: passing argument 1 of 'MPI_Wait' from incompatible pointer type [-Wincompatible-pointer-types] 114 | MPI_Wait(&recv_status, MPI_STATUS_IGNORE); | ^~~~~~~~~~~~ | | | MPI_Status * {aka struct ompi_status_public_t *} /usr/include/mpi.h:2099:42: note: expected 'struct ompi_request_t **' but argument is of type 'MPI_Status *' {aka 'struct ompi_status_public_t *'} 2099 | OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status); | ~~~~~~~~~~~~~^~~~~~~ transpose-pairwise-omc.c: In function 'apply': transpose-pairwise-omc.c:177:36: warning: passing argument 11 of 'transpose_chunks' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 177 | ego->comm, O, I, ego->send_block_bufs); | ~~~^~~~~~~~~~~~~~~~~ transpose-pairwise-omc.c:56:34: note: expected 'R **' {aka 'double **'} but argument is of type 'R * const*' {aka 'double * const*'} 56 | R *I, R *O, R **bufs) | ~~~~^~~~ transpose-pairwise-omc.c:184:36: warning: passing argument 11 of 'transpose_chunks' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 184 | ego->comm, I, O, ego->send_block_bufs); | ~~~^~~~~~~~~~~~~~~~~ transpose-pairwise-omc.c:56:34: note: expected 'R **' {aka 'double **'} but argument is of type 'R * const*' {aka 'double * const*'} 56 | R *I, R *O, R **bufs) | ~~~~^~~~ transpose-pairwise-omc.c:193:36: warning: passing argument 11 of 'transpose_chunks' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 193 | ego->comm, I, I, ego->send_block_bufs); | ~~~^~~~~~~~~~~~~~~~~ transpose-pairwise-omc.c:56:34: note: expected 'R **' {aka 'double **'} but argument is of type 'R * const*' {aka 'double * const*'} 56 | R *I, R *O, R **bufs) | ~~~~^~~~ make[1]: *** [Makefile:576: transpose-pairwise-omc.lo] Error 1 make[1]: Leaving directory './mpi' make: *** [Makefile:432: all] Error 2 make: Leaving directory './mpi'
As shown, MPI_Request must be passed. See MPI 4.1 Standard §3.7.2 Communication Initiation.
MPI_Request
As shown,
MPI_Request
must be passed. See MPI 4.1 Standard §3.7.2 Communication Initiation.