fftw-3: Update patch for pfft (used with variant +pfft_patches).

Adapt to changes in fftw-3.3.9 by: updating memory reference (0xffff -> 0x7fff) in two lines that prevented patch application; updating corresponding memory reference in new functions added by patch (this change is referred to in the ChangeLog as something to be done globally); adjusting other lines slightly to avoid offset or fuzz.
This commit is contained in:
David Strubbe
2021-03-22 16:09:12 -07:00
parent 88aa888ecf
commit 4dd9b60cbb
+8 -8
View File
@@ -12,14 +12,14 @@
--- mpi/Makefile.am 2013-03-18 13:10:45.000000000 +0100
+++ mpi/Makefile.am 2015-09-05 05:53:19.084516437 +0200
@@ -16,6 +16,7 @@ BUILT_SOURCES = fftw3-mpi.f03.in fftw3-m
@@ -17,6 +17,7 @@ BUILT_SOURCES = fftw3-mpi.f03.in fftw3-m
CLEANFILES = fftw3-mpi.f03 fftw3l-mpi.f03
TRANSPOSE_SRC = transpose-alltoall.c transpose-pairwise.c transpose-recurse.c transpose-problem.c transpose-solve.c mpi-transpose.h
+TRANSPOSE_SRC += transpose-alltoall-transposed.c transpose-pairwise-transposed.c
DFT_SRC = dft-serial.c dft-rank-geq2.c dft-rank-geq2-transposed.c dft-rank1.c dft-rank1-bigvec.c dft-problem.c dft-solve.c mpi-dft.h
RDFT_SRC = rdft-serial.c rdft-rank-geq2.c rdft-rank-geq2-transposed.c rdft-rank1-bigvec.c rdft-problem.c rdft-solve.c mpi-rdft.h
RDFT2_SRC = rdft2-serial.c rdft2-rank-geq2.c rdft2-rank-geq2-transposed.c rdft2-problem.c rdft2-solve.c mpi-rdft2.h
RDFT2_SRC = rdft2-serial.c rdft2-rank-geq2.c rdft2-rank-geq2-transposed.c rdft2-problem.c rdft2-solve.c mpi-rdft2.h
--- mpi/mpi-transpose.h 2014-03-04 19:41:03.000000000 +0100
+++ mpi/mpi-transpose.h 2015-09-05 05:53:19.085516467 +0200
@@ -331,7 +331,7 @@
@@ -74,7 +73,7 @@ static void transpose_chunks(int *sched,
O + rbo[pe], (int) (rbs[pe]),
FFTW_MPI_TYPE,
pe, (pe * n_pes + my_pe) & 0xffff,
pe, (pe * n_pes + my_pe) & 0x7fff,
- comm, &status);
+ comm, MPI_STATUS_IGNORE);
}
@@ -340,7 +340,7 @@
@@ -92,7 +91,7 @@ static void transpose_chunks(int *sched,
O + rbo[pe], (int) (rbs[pe]),
FFTW_MPI_TYPE,
pe, (pe * n_pes + my_pe) & 0xffff,
pe, (pe * n_pes + my_pe) & 0x7fff,
- comm, &status);
+ comm, MPI_STATUS_IGNORE);
}
@@ -422,10 +422,10 @@
+ else {
+ memcpy(buf, O + sbo[pe], sbs[pe] * sizeof(R));
+ MPI_Sendrecv(buf, (int) (sbs[pe]), FFTW_MPI_TYPE,
+ pe, (my_pe * n_pes + pe) & 0xffff,
+ pe, (my_pe * n_pes + pe) & 0x7fff,
+ O + rbo[pe], (int) (rbs[pe]),
+ FFTW_MPI_TYPE,
+ pe, (pe * n_pes + my_pe) & 0xffff,
+ pe, (pe * n_pes + my_pe) & 0x7fff,
+ comm, MPI_STATUS_IGNORE);
+ }
+ }
@@ -440,10 +440,10 @@
+ else
+ MPI_Sendrecv(I + sbo[pe], (int) (sbs[pe]),
+ FFTW_MPI_TYPE,
+ pe, (my_pe * n_pes + pe) & 0xffff,
+ pe, (my_pe * n_pes + pe) & 0x7fff,
+ O + rbo[pe], (int) (rbs[pe]),
+ FFTW_MPI_TYPE,
+ pe, (pe * n_pes + my_pe) & 0xffff,
+ pe, (pe * n_pes + my_pe) & 0x7fff,
+ comm, MPI_STATUS_IGNORE);
+ }
+ }