Я работаю с трехмерным массивом реальных чисел.
В одной части моего кода я должен взять 3DFFT этих значений, а затем поставить полученную сложную матрицу другой матрицей чисел с плавающей точкой.,(точка = точечное умножение)
Затем я беру обратное БПФ и обновляю исходный массив.
Что важно, когда вы делаете первый cufftPlan3d()
?то есть, что на самом деле ищет План?
Нужно ли плану просто видеть размеры и тип массива, чтобы он работал быстро, или он также смотрит на величины реальных и сложных частей?
Я пытаюсь использовать план как можно меньше, чтобы я мог быстрее вычислить преобразования, но я также хочу, чтобы FFT (и iFFT) были максимально быстрыми, поскольку это является узким местом кода.
Сначала я подумал, что я должен составить план перед начальным БПФ, а затем составить другой план после полученного точечного произведения / БПФ для обратного БПФ, а затем использовать эти 2 плана везде позже в цикле.
Спасибо за любые предложения.