These routines should be able to handle a variety of different decompositions of the data over the processors. The 3D FFTs are implemented as a series of local 1D FFTs combined with a series of data transposes among processors, so that all data points along a coordinate dimension undergoing a 1D transform are present within one processor. These 1D FFTs use the vendor-supplied routines, which are highly optimized. For example, for the forward transform with Z decomposition among processors in the space domain, the X and Y dimensions are transformed first, the exchange transposes the data into a Y decomposition, and then the Z dimension is transformed.
All combinations currently are available except for real data with X decomposition.
These routines have been placed in the ESS software repository. Also produced software for XY rod decomposition for real data in the space domain. Timing runs on the Intel Paragon at JPL, the Intel Touchstone Delta at Caltech, and the Cray T3D at JPL showed good performance. Depending on the nature of the program using these routines, it is convenient to use different decompositions of data over parallel processors for different applications. The principal investigators in the HPCC project will have access to these routines through the software repository.