-
Notifications
You must be signed in to change notification settings - Fork 16
Closed
Description
- amd-fftw: 5a64feb
- MPI: OpenMPI v5.0.3
$ ./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.
Metadata
Metadata
Assignees
Labels
No labels