mpip / pfft

Parallel fast Fourier transforms
GNU General Public License v3.0
54 stars 23 forks source link

Distributed Matrix Transposes #34

Open croor opened 6 years ago

croor commented 6 years ago

Is there a PFFT way to transpose pencil-decomposed 3D array globally?

Is using a pfft_planmany*_skipped function, and skipping all three transforms a viable option?

rainwoodman commented 6 years ago

I've been looking into this feature as well. However, this (skip_trafo) is probably different from the kind of transpose you really wanted. I think it would only do the kind of transpose due to TRANSPOSED_IN and TRANSPOSED_OUT; and even for that I suspect it won't work for the half-plane hermitian complex field.

A proper solution will probably need one to at least provide the desired new axes ordering, like this

https://docs.scipy.org/doc/numpy/reference/generated/numpy.transpose.html

and it shall still accept flags like TRANSPOSED_IN and TRANSPOSED_OUT flags, which really is mostly concerned about the data distribution scheme more than a transpose. I believe the global transp routines in pfft can do this, but I don't think I know how to implement this.