Всем здравствуйте! У меня есть самописанная программа для расчета кое-какой дифракции, смысл которой состоит в многократном взятии FFT от 2Д-массивов. Необходимо, чтобы массивы были размером 4k x 4k (или больше) и комплексные. Сейчас я использую fftw и MPI-параллелизацию, при разбрасывании на 100 процессоров на кластере выходит минут 20 на одну конфигурацию.
Конечно же, хочется это дело ускорить и упростить, и поговаривают что cuda поможет. Процесс переписывания может оказаться долгий и мучительный (у меня это всё на фортране пока что) и вовсе не обязательно, что он увенчается успехом ввиду больших массивов. Вот здесь в разделе 2.8.4 вообще написано что только до 2k при комплексных 2Д.
Может кто-нибудь подсказать, правильно ли я понимаю там по ссылке, что при 2Д и комплексных числах оно только до 2k x 2k? У меня комплексные вообще двойной точности. Не будет ли возня с cudo-й слишком долгой, из-за копирования туда-сюда больших массивов?