-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathREADME
158 lines (97 loc) · 4.79 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Title: P3DFFT
Authors: Dmitry Pekurovsky
Copyright (c) 2006-2019
The Regents of the University of California.
All Rights Reserved.
Permission to use, copy, modify and distribute any part
of this software for educational, research and non-profit
purposes, by individuals or non-profit organizations,
without fee, and without a written agreement is
hereby granted, provided that the above copyright notice,
this paragraph and the following three paragraphs appear in
all copies.
For-profit organizations desiring to use this software and others
wishing to incorporate this software into commercial
products or use it for commercial purposes should contact the:
Office of Innovation & Commercialization
University of California San Diego
9500 Gilman Drive, La Jolla, California, 92093-0910
Phone: (858) 534-5815
E-mail: [email protected]
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE
TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT
OF THE USE OF THIS SOFTWARE, EVEN IF THE UNIVERSITY OF
CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE
MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
THE UNIVERSITY OF CALIFORNIA MAKES NO REPRESENTATIONS AND
EXTENDS NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR
THAT THE USE OF THE MATERIAL WILL NOT INFRINGE ANY PATENT,
TRADEMARK OR OTHER RIGHTS.
P3DFFT - Highly scalable parallel 3D Fast Fourier Transforms library
Version 2.7
------------
Features
------------
* Parallel implementation of 3D FFT with 2D (a.k.a. pencils) data
decomposition, overcoming an important limitation to scalability of other
3D FFT libraries implementing 1D, or slab, decomposition.
* Optimized for parallel communication and single-CPU performance.
* Uses established libraries (FFTW, ESSL) for underlying local 1D FFT.
* Fortran and C interfaces.
* Pruned input/output options
* User-defined communicator
The 1D decomposition suffers from the limitation that the number
of processors used cannot be greater than the maximum linear grid size of the
cubic domain to be processed. With the 2D domain decomposition scheme
the maximum number of processors is significantly higher, equal to the
square of the linear grid size.
This library is especially suited for large-data-volume applications on ultra-scale
parallel platforms.
------------
Machine requirements
------------
This library is built on top of an externally provided 1D FFT library.
Current choices are ESSL (for IBM systems) or FFTW. Either one of these
libraries must be installed on the system in order to use P3DFFT.
The choice of the library is specified at compile time.
P3DFFT is written in Fortran 90 with MPI. Having an Fortran90/MPI compiler
is essential to building the library on your system. C interface is
provided.
P3DFFT currently supports compilation by PGI, Intel, GCC and IBM
compilers. Additional support for other compilers will be added in the future.
------------
Directory structure
------------
build/
The library files are contained here. Building the library is required
before it can be used. In order to build the library, you must run
./configure from the top level directory. Then type "make"
and then "make install". For further instructions
on building the library see the P3DFFT User Guide, or visit the web site
https://github.com/sdsc/p3dfft/wiki/install. You can also see a list of options
by typing "./configure --help".
sample/
This directory has example programs in both FORTRAN and C, in
separate subdirectories. Tests provided include
out-of-place and in-place transforms 3D FFT, with error checking.
Also provided is an example of power spectrum calculation.
Example programs will be compiled automatically with the library
during make.
include/
The library is provided as a Fortran module.
After installation this directory will have p3dfft.mod (for Fortran interface),
p3dfft.h (the C wrapper/include file), and config.h (header generated by
configure script that contains all arguments used when configure script was
executed).
------------
Feedback
------------
Please send your feedback, including bugs and suggestions, to
Dmitry Pekurovsky, [email protected], or open an issue on github
(https://github.com/sdsc/p3dfft/issues/new).