Где я работаю, некоторые исследователи скомпилировали эту библиотеку Фортрана, которая устанавливает и вызывает FFTW для конкретной проблемы.В этой библиотеке Fortran (модуль с некоторыми подпрограммами) ожидаются некоторые входные данные (2D-списки) из моей программы на Python.
Я создал небольшое C-расширение для Python, обертывающее библиотеку Fortran, где я в основном вызываю«init» для настройки планировщика FFTW, а также другая функция для подачи моих 2D-списков (массивов) и «compute».
Создание C-расширений - небольшая задача, и там много хорошегоучебники для этой конкретной задачи.
К хорошему в этом подходе является то, что мы получаем скорость ... большую скорость.Единственный недостаток в C-расширении, где мы должны перебирать список Python и извлекать все данные Python в буфер памяти.