Skip to content

Commit 0957e8a

Browse files
committed
paper: Reword third paragraph and add citations to mpi4py, Cython, and FFTW
1 parent bb8a9cb commit 0957e8a

File tree

2 files changed

+49
-10
lines changed

2 files changed

+49
-10
lines changed

docs/paper/paper.bib

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@article{dalcin18,
2-
author = {Lisandro Dalc{\'{\i}}n and
2+
author = {Lisandro Dalcin and
33
Mikael Mortensen and
44
David E. Keyes},
55
title = {Fast parallel multidimensional {FFT} using advanced {MPI}},
@@ -44,3 +44,40 @@ @article{strang94
4444
volume = {82},
4545
year = {1994}
4646
}
47+
48+
@article{mpi4py08,
49+
author = {Lisandro Dalcin and Rodrigo Paz and Mario Storti and Jorge D'Elia},
50+
title = {{MPI} for {P}ython: Performance improvements and {MPI}-2 extensions},
51+
journal = {Journal of Parallel and Distributed Computing},
52+
volume = {68},
53+
number = {5},
54+
pages = {655--662},
55+
year = {2008},
56+
issn = {0743-7315},
57+
url = {https://doi.org/10.1016/j.jpdc.2007.09.005},
58+
doi = {10.1016/j.jpdc.2007.09.005},
59+
}
60+
61+
@article{cython11,
62+
author = {Behnel, Stefan and Bradshaw, Robert and Citro, Craig and Dalcin, Lisandro and Seljebotn, Dag Sverre and Smith, Kurt},
63+
title = {Cython: The Best of Both Worlds},
64+
journal = {Computing in Science and Engg.},
65+
volume = {13},
66+
number = {2},
67+
pages = {31--39},
68+
year = {2011},
69+
issn = {1521-9615},
70+
url = {https://doi.org/10.1109/MCSE.2010.118},
71+
doi = {10.1109/MCSE.2010.118},
72+
}
73+
74+
@article{fftw05,
75+
author = {Frigo, Matteo and Johnson, Steven~G.},
76+
title = {The Design and Implementation of {FFTW3}},
77+
journal = {Proceedings of the IEEE},
78+
year = 2005,
79+
volume = 93,
80+
number = 2,
81+
pages = {216--231},
82+
note = {Special issue on ``Program Generation, Optimization, and Platform Adaptation''}
83+
}

docs/paper/paper.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,17 @@ successive sequential (serial) transforms over non-distributed axes,
4242
combined with global array redistributions (using interprocess
4343
communication) that realign the arrays for further serial transforms.
4444

45-
For global redistribution ``mpi4py-fft`` makes use of a new and completely
46-
generic algorithm [@dalcin18] that allows for any index sets of a
47-
multidimensional array to be distributed. We can distribute just one index
48-
(a slab decomposition), two index sets (pencil decomposition) or even more for
49-
higher-dimensional arrays. The required MPI communications are always handled
50-
under the hood by MPI for Python. For serial transforms
51-
``mpi4py-fft`` wraps most of the FFTW library using Cython, making it callable
52-
from Python. We include wrappers for complex-to-complex, real-to-complex,
53-
complex-to-real and real-to-real transforms.
45+
For global redistributions, ``mpi4py-fft`` makes use of a new and
46+
completely generic algorithm [@dalcin18] based on advanced MPI
47+
features that allows for any index sets of a multidimensional array to
48+
be distributed. It can distribute a single index set (slab
49+
decomposition), two index sets (pencil decomposition), or even more
50+
for higher-dimensional arrays. The required MPI communications are
51+
always handled under the hood by MPI for Python [@mpi4py08]. For
52+
serial FFT transforms, ``mpi4py-fft`` uses Cython [@cython11] to wrap
53+
most of the FFTW library [@fftw05] and provide support for
54+
complex-to-complex, real-to-complex, complex-to-real and real-to-real
55+
transforms.
5456

5557
``mpi4py-fft`` is highly configurable in how it distributes and redistributes
5658
arrays. Large arrays may be globally redistributed for alignement

0 commit comments

Comments
 (0)