1D FFTs von Spalten und Zeilen einer 3D-Matrix in CUDA
Ich versuche, Batch-1D-FFTs mit @ zu berechnecufftPlanMany
. Der Datensatz stammt aus einem 3D-Feld, das in einem 1D-Array gespeichert ist, in dem ich 1D-FFTs im @ berechnen möchtx
undy
Richtung. Die Daten werden wie in der folgenden Abbildung gezeigt gespeichert. kontinuierlich inx
danny
dannz
.
Batch-FFTs im @ ausführx
-direction ist (glaube ich) geradlinig; mit eingangstride=1
, distance=nx
undbatch=ny * nz
, berechnet die FFTs über Elemente{0,1,2,3}
, {4,5,6,7}
, ...
, {28,29,30,31}
. Ich kann mir jedoch keine Möglichkeit vorstellen, dies auch für die FFTs im @ zu erreichey
-Richtung. Eine Charge für jedesxy
Flugzeug ist wieder unkompliziert (Eingabestride=nx
, dist=1
, batch=nx
führt zu FFTs über{0,4,8,12}
, {1,5,9,13}
, etc.). Aber mitbatch=nx * nz
, gehen von{3,7,11,15}
zu{16,20,24,28}
, der Abstand ist größer als1
. Kann das irgendwie mit cufftPlanMany gemacht werden?