Skip to content

Commit

Permalink
rename transpose-inplace to transpose-pairwise, as the algorithm is n…
Browse files Browse the repository at this point in the history
…ot restricted to inplace operation

[empty commit message]
  • Loading branch information
stevengj committed Jan 11, 2007
1 parent 1db8349 commit b5399f6
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 13 deletions.
2 changes: 1 addition & 1 deletion mpi/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ CC=@MPICC@

EXTRADIST = testsched.c

TRANSPOSE_SRC = transpose-alltoall.c transpose-inplace.c transpose-radix2.c transpose-problem.c transpose-solve.c mpi-transpose.h
TRANSPOSE_SRC = transpose-alltoall.c transpose-pairwise.c transpose-radix2.c transpose-problem.c transpose-solve.c mpi-transpose.h
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

libfftw3@PREC_SUFFIX@_mpi_la_SOURCES = api.c any-true.c block.c choose-radix.c conf.c dtensor.c fftw3-mpi.h ifftw-mpi.h $(TRANSPOSE_SRC) $(DFT_SRC)
Expand Down
2 changes: 1 addition & 1 deletion mpi/conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

static const solvtab s =
{
SOLVTAB(XM(transpose_inplace_register)),
SOLVTAB(XM(transpose_pairwise_register)),
SOLVTAB(XM(transpose_alltoall_register)),
SOLVTAB(XM(transpose_radix2_register)),
SOLVTAB(XM(dft_rank_geq2_register)),
Expand Down
2 changes: 1 addition & 1 deletion mpi/mpi-transpose.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ typedef plan_rdft plan_mpi_transpose;
(type *)X(mkplan_rdft)(sizeof(type), adt, apply)

/* various solvers */
void XM(transpose_inplace_register)(planner *p);
void XM(transpose_pairwise_register)(planner *p);
void XM(transpose_alltoall_register)(planner *p);
void XM(transpose_radix2_register)(planner *p);
2 changes: 1 addition & 1 deletion mpi/testsched.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
It is not used in FFTW 3, but I keep it around in case we ever want
to play with this again or to change algorithms. In particular, I
used it to implement and test the fill1_comm_sched routine in
transpose-inplace.c, which allows us to create a schedule for one
transpose-pairwise.c, which allows us to create a schedule for one
process at a time and is much more compact than the FFTW 2 code.
Note that the scheduling algorithm is somewhat modified from that
Expand Down
18 changes: 9 additions & 9 deletions mpi/transpose-inplace.c → mpi/transpose-pairwise.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
*
*/

/* Plans for distributed in-place transposes (or out-of-place, while
preserving the input). These require a slightly tricky sequence of
exchanges between processors. The amount of buffer space required
is proportional to the local size divided by the number of
processors (i.e. to total array size divided by the number of
processors squared). */
/* Distributed transposes using a sequence of carefully scheduled
pairwise exchanges. This has the advantage that it can be done
in-place, or out-of-place while preserving the input, using buffer
space proportional to the local size divided by the number of
processes (i.e. to the total array size divided by the number of
processes squared). */

#include "mpi-transpose.h"
#include <string.h>
Expand Down Expand Up @@ -154,7 +154,7 @@ static int applicable(const S *ego, const problem *p_,
{
const problem_mpi_transpose *p = (const problem_mpi_transpose *) p_;
/* Note: this is *not* UGLY for out-of-place, destroy-input plans;
the planner often prefers transpose-inplace to transpose-alltoall,
the planner often prefers transpose-pairwise to transpose-alltoall,
at least with LAM MPI on my machine. */
return (1
&& (!ego->preserve_input || (!NO_DESTROY_INPUTP(plnr)
Expand Down Expand Up @@ -186,7 +186,7 @@ static void destroy(plan *ego_)
static void print(const plan *ego_, printer *p)
{
const P *ego = (const P *) ego_;
p->print(p, "(mpi-transpose-inplace%s%(%p%)%(%p%)%(%p%)%(%p%))",
p->print(p, "(mpi-transpose-pairwise%s%(%p%)%(%p%)%(%p%)%(%p%))",
ego->preserve_input==2 ?"/p":"",
ego->cld1, ego->cld2, ego->cld2rest, ego->cld3);
}
Expand Down Expand Up @@ -441,7 +441,7 @@ static solver *mksolver(int preserve_input)
return &(slv->super);
}

void XM(transpose_inplace_register)(planner *p)
void XM(transpose_pairwise_register)(planner *p)
{
int preserve_input;
for (preserve_input = 0; preserve_input <= 1; ++preserve_input)
Expand Down

0 comments on commit b5399f6

Please sign in to comment.