cuda - On plans reuse in cuFFT -
this may seem simple question cufft usage not clear me.
my question is: which 1 of following implementations correct?
1)
// called in loop cufftplan3d (plan1, x, y, z) ; cufftexec (plan1, data1) ; cufftexec (plan1, data2) ; cufftexec (plan1, data3) ; destroyplan(plan1) 2)
init() //called 1 time in application { cufftplan3d (plan1, x, y, z) ; } exec () //called many times data changing size remains same { cufftexec (plan1, data1) ; cufftexec (plan1, data2) ; cufftexec (plan1, data3) ; } deinit() //called 1 time in application { destroyplan(plan1) } 3)
cufftplan3d (plan1, x, y, z) ; cufftexec (plan1, data1) ; destroyplan(plan1) cufftplan3d (plan2, x, y, z) ; cufftexec (plan2, data2) ; destroyplan(plan2) .... ... assume data sizes of data1, data2 , data3 same. please ignore correctness of syntax. need conceptual answer.
the third implementation doesn't correct me...
i think 3 can made work. method 2 fastest, long plan fits data each of data1, data2, , data3.
you can reuse plan many times want, long transform intent doesn't change.
Comments
Post a Comment