We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
$ ./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
The text was updated successfully, but these errors were encountered:
fix(mpi): fix parameters for MPI_Isend, MPI_Irecv, and MPI_Wait
40d4dc8
close amd#11
22b119c
Successfully merging a pull request may close this issue.
As shown,
MPI_Request
must be passed.See MPI 4.1 Standard §3.7.2 Communication Initiation.
The text was updated successfully, but these errors were encountered: