Homec4science

ENH: Further parallel MPI enhancements; Python interface, improved finding of…

Authored by pastewka on Mar 23 2018, 23:52.

Description

ENH: Further parallel MPI enhancements; Python interface, improved finding of libraries, tests now run in parallel, bug fixes and support for PFFT.

Summary:
Merge branch 'arcpatch-D169' into feat/mpi

CMAKE: Removed finding of FFT packages from top level CMake file.

ENH: Added method that returns size of communicator.

ENH: Added ParallelCellFactory to Python bindings. MPI communicator needs to be passed as raw handle. For mpi4py, use mpi4py.MPI._handleof(...) to get handle.

CMAKE: Define WITH_FFTWMPI, WITH_PFFT and WITH_P3DFFT depending on which libraries were found.

ENH: Expose cell factories for different FFT engines to Python.

MAINT: Added barrier before finalizing MPI.

MAINT: Only print from rank 0

BUG: Only set zeros component to zero if locations is 0,0.

BUG: Throw exception when one component of resolutions is zero.

Revert "BUG: Throw exception when one component of resolutions is zero."

This reverts commit 191227c40c9a288773d2630ae2988abfa5067042.

BUG: Throw exception when one component of resolutions is zero.

TST: Hard-coded to run MPI test on two processes.

CMAKE: Use mpiexec found by FindMPI

MAINT: Cleanup FFTWMPI and PFFT engine code.

MAINT: Throw error when trying to use FFTWEngine in parallel runs. Added test for that.

CMAKE: Use pkg-config prefix if found.

ENH: PFFT engine works.

CMAKE: Fixed 'add_external_package', no longer requires finding Python libraries in language bindings.

ENH: Added small wrapper around cell factory functions.

MAINT: CellFactory -> Cell

BUG: Pass name of FFT engine when constructing erro string.

BUG: PFFT engine does not work with transpose out. Disabled this for now. Also added PFFT engine to projection test.

BUG: Corrected transposed dimensions.

WIP: Create 2d process mesh when using PFFT.

ENH: Modified 'Pixels' to support arbitrary transpose operations (not just flipping first two axes).

Merge branch 'feat/mpi'

Test Plan: tests pass

Reviewers: junge

Differential Revision: https://c4science.ch/D172

Merged Changes

CommitAuthorDetailsCommitted
1566cc7765c3pastewka
ENH: Modified 'Pixels' to support arbitrary transpose operations (not just… 
Mar 23 2018
351277ba5a27pastewka
WIP: Create 2d process mesh when using PFFT. 
Mar 23 2018
445e3787fbc8pastewka
BUG: Corrected transposed dimensions. 
Mar 22 2018
3cb9c2a2e868pastewka
BUG: PFFT engine does not work with transpose out. Disabled this for now. Also… 
Mar 22 2018
11b8abce1b4bpastewka
BUG: Pass name of FFT engine when constructing erro string. 
Mar 22 2018
f6edc27d8651pastewka
MAINT: CellFactory -> Cell 
Mar 22 2018
b004878af48dpastewka
ENH: Added small wrapper around cell factory functions. 
Mar 22 2018
1fdc466585ebpastewka
CMAKE: Fixed 'add_external_package', no longer requires finding Python… 
Mar 21 2018
49b76a03a851pastewka
ENH: PFFT engine works. 
Mar 21 2018
1e6517cc47e1pastewka
CMAKE: Use pkg-config prefix if found. 
Mar 21 2018
2a576e4ad746pastewka
MAINT: Throw error when trying to use FFTWEngine in parallel runs. Added test… 
Mar 21 2018
f67e42f94bbapastewka
MAINT: Cleanup FFTWMPI and PFFT engine code. 
Mar 21 2018
b642b8106a2cpastewka
CMAKE: Use mpiexec found by FindMPI 
Mar 19 2018
b1a1f9db6ed8pastewka
TST: Hard-coded to run MPI test on two processes. 
Mar 18 2018
3afe85cfe67dpastewka
BUG: Throw exception when one component of resolutions is zero. 
Mar 18 2018
980341e371ebpastewka
Revert "BUG: Throw exception when one component of resolutions is zero." 
Mar 18 2018
191227c40c9apastewka
BUG: Throw exception when one component of resolutions is zero. 
Mar 18 2018
26dc35ca4ca0pastewka
BUG: Only set zeros component to zero if locations is 0,0. 
Mar 18 2018
0b724252e1c5pastewka
MAINT: Only print from rank 0 
Mar 18 2018
0c68249a13f3pastewka
MAINT: Added barrier before finalizing MPI. 
Mar 18 2018
a9f0a70f9921pastewka
ENH: Expose cell factories for different FFT engines to Python. 
Mar 18 2018
d4aa1fdbde07pastewka
CMAKE: Define WITH_FFTWMPI, WITH_PFFT and WITH_P3DFFT depending on which… 
Mar 18 2018
6317516b3a68pastewka
ENH: Added ParallelCellFactory to Python bindings. MPI communicator needs to be… 
Mar 17 2018
df8be21ac1c8pastewka
ENH: Added method that returns size of communicator. 
Mar 17 2018
cadcc9dc12b4pastewka
CMAKE: Removed finding of FFT packages from top level CMake file. 
Mar 17 2018
7290eee6503epastewka
Merge branch 'arcpatch-D169' into feat/mpi 
Mar 16 2018
ec30870e6e86D169junge
fixed python tests 
Mar 16 2018