Show simple item record

dc.contributor.authorDalcin, Lisandro
dc.contributor.authorMortensen, Mikael
dc.contributor.authorKeyes, David E.
dc.date.accessioned2019-04-28T13:12:32Z
dc.date.available2019-04-28T13:12:32Z
dc.date.issued2019-03-11
dc.identifier.urihttp://hdl.handle.net/10754/632518
dc.description.abstractWe present a new method for performing global redistributions of multidimensional arrays essential to parallel fast Fourier (or similar) transforms. Traditional methods use standard all-to-all collective communication of contiguous memory buffers, thus necessary requiring local data realignment steps intermixed in-between redistribution and transform steps. Instead, our method takes advantage of subarray datatypes and generalized all-to-all scatter/gather from the MPI-2 standard to communicate discontiguous memory buffers, effectively eliminating the need for local data realignments. Despite generalized all-to-all communication of discontiguous data being generally slower, our proposal economizes in local work. For a range of strong and weak scaling tests, we found the overall performance of our method to be on par and often better than well-established libraries like MPI-FFTW, P3DFFT, and 2DECOMP&FFT. We provide compact routines implemented at the highest possible level using the MPI bindings for the C programming language. These routines apply to any global redistribution, over any two directions of a multidimensional array, decomposed on arbitrary Cartesian processor grids (1D slabs, 2D pencils, or even higher-dimensional decompositions). The high level implementation makes the code easy to read, maintain, and eventually extend. Our approach enables for future speedups from optimizations in the internal datatype handling engines within MPI implementations.
dc.publisherElsevier BV
dc.relation.urlhttp://arxiv.org/abs/1804.09536v1
dc.relation.urlhttp://arxiv.org/pdf/1804.09536v1
dc.relation.urlhttp://arxiv.org/pdf/1804.09536
dc.rightsNOTICE: this is the author’s version of a work that was accepted for publication in [JournalTitle]. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in [JournalTitle], [[Volume], [Issue], (2019-03-11)] DOI: 10.1016/j.jpdc.2019.02.006 . © 2019. This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.titleFast parallel multidimensional FFT using advanced MPI
dc.typePreprint
dc.contributor.departmentExtreme Computing Research Center
dc.contributor.departmentComputer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
dc.contributor.departmentApplied Mathematics and Computational Science Program
dc.eprint.versionPost-print
dc.contributor.institutionDepartment of Mathematics, University of Oslo, Oslo, Norway
dc.identifier.arxivid1804.09536
kaust.personDalcin, Lisandro
kaust.personKeyes, David E.
dc.versionv1
refterms.dateFOA2019-04-29T06:52:32Z


Files in this item

Thumbnail
Name:
1804.09536v1.pdf
Size:
1.189Mb
Format:
PDF
Description:
Preprint
Thumbnail
Name:
Articlefile1.pdf
Size:
1.189Mb
Format:
PDF
Description:
Post-print

This item appears in the following Collection(s)

Show simple item record