~ubuntu-branches/ubuntu/quantal/fftw/quantal

« back to all changes in this revision

Viewing changes to mpi/README.f77

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2011-11-29 01:48:33 UTC
  • mfrom: (5.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20111129014833-3leawsns2nghyaoj
Tags: 2.1.5-1
* Team upload.
* New upstream release
* Package moved into the Debian Science team (no answer from the previous
  maintainer) and package not maintained.
* Standards-Version updated to version 3.9.2
* Vcs-Browser & Vcs-Svn updated
* Switch to mpi-default-dev (Closes: #571446)
* Get ride of .la files (Closes: #633175)
* Fix lintian warning debhelper-but-no-misc-depends
* Fix lintian warning patch-system-but-direct-changes-in-diff 
* Switch to dpkg-source 3.0 (quilt) format

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
      parameter(FFTW_SCRAMBLED_INPUT=8192)
37
37
      parameter(FFTW_SCRAMBLED_OUTPUT=16384)
38
38
 
 
39
4) The array is divided among the processors for fftwnd in the last
 
40
dimension, not the first.  See below.
 
41
 
39
42
MPI Communicator Parameters:
40
43
 
41
44
It's not clear how one passes MPI_Comm parameters from Fortran to C.
67
70
sizes when declaring the array.
68
71
 
69
72
3) Use C.
 
73
 
 
74
The arguments to fftwnd_f77_mpi_local_sizes are interpreted as follows:
 
75
 
 
76
call fftwnd_f77_mpi_local_sizes(plan,
 
77
                                local_nlast,
 
78
                                local_last_start,
 
79
                                local_nlast2_after_transform,
 
80
                                local_last2_start_after_transform,
 
81
                                total_local_size)
 
82
 
 
83
As in C, your array must contain at least total_local_size elements
 
84
(which may be slightly larger than you expect).  "last" refers to the
 
85
last dimension of your data and "last2" refers to the second-to-last
 
86
dimension (for when you do the transform with transposed-order
 
87
output)--this it the opposite of C, where those arguments refer to the
 
88
first and second dimensions, respectively.
 
89
 
 
90
For example, if you are doing a 3d nx x ny x nz transform, your array
 
91
will be declared as data(total_local_size) and should be interpreted
 
92
as a Fortran (column-major) array data(0:nx-1, 0:ny-1,
 
93
0:local_nlast-1), where the last dimension corresponds to the nz
 
94
indices starting at local_last_start.  Note that the indices are
 
95
zero-based.  If you transform the array with transposed-order output,
 
96
the array should then be interpreted as data(0:nx-1, 0:nz-1,
 
97
0:local_nlast2_after_transform-1), where the last dimension
 
98
corresponds to the ny indices starting at
 
99
local_last2_start_after_transform.