<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 23, 2015 at 1:31 AM, Giuseppe Pitton <span dir="ltr"><<a href="mailto:gpitton@sissa.it" target="_blank">gpitton@sissa.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Dear users and developers,<br>
I am trying to interface PETSc with the parallel fast Fourier transform library PFFT (<a href="https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en" rel="noreferrer" target="_blank">https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en</a>), 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.<br></blockquote><div><br></div><div>Is it possible to write this example using the existing calls?</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateFFT.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateFFT.html</a></div><div><br></div><div>That way we would have a baseline we could both run that works, and then we could look</div><div>at something broken.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
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.<br>
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".<br>
In the makefile the variables PFFTINC, PFFTLIB, FFTWINC and FFTWLIB should be set correctly.<br>
Thank you,<br>
Giuseppe<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>