On Mon, Nov 23, 2015 at 1:31 AM, Giuseppe Pitton <[email protected]> wrote:
> Dear users and developers, > I am trying to interface PETSc with the parallel fast Fourier transform > library PFFT ( > https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en), > based in turn on FFTW. My plan is to build a spectral differentiation code, > and in the attached files you can see a simple example. > Is it possible to write this example using the existing calls? http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateFFT.html That way we would have a baseline we could both run that works, and then we could look at something broken. Thanks, Matt > The code works correctly in serial, but in parallel there are some > problems regarding the output of the results, I think due to some > differences in the way PETSc and PFFT store data, but I'm not sure if this > is really the issue. > In the attached code, the number of processors used should be specified at > compile time in the variable "ncpus". As long as ncpus = 1, everything > works fine, but if ncpus = 2 or an higher power of 2, the code terminates > correctly but the results show some artifacts, as you can see from the > generated hdf5 file, named "output-pfft.h5". > In the makefile the variables PFFTINC, PFFTLIB, FFTWINC and FFTWLIB should > be set correctly. > Thank you, > Giuseppe > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
