БПФ для гига образцов и дольше - PullRequest
1 голос
/ 19 ноября 2011

У меня есть задача, которая включает в себя вычисление 1D БПФ очень большого размера.И под «очень большим» я подразумеваю измерения, которые превышают объем моей физической памяти.Например, сейчас у меня в системе 16 ГБ памяти, что будет достаточно для одновременного хранения 2 ^ 30 операций с двойной точностью.Я хочу иметь возможность делать БПФ размером 2 ^ 30 и, возможно, БПФ на еще большем числе чисел (скажем, 2 ^ 35), что, очевидно, потребовало бы передачи их в библиотеку БПФ по частям.

Согласно моим тестам, FFT IPP не будет превышать 2 ^ 27, а NVIDIA CUFFT не будет превышать 2 ^ 24.Мне удалось подготовить некоторый код для этого, но я не доволен производительностью.

Есть ли проект с открытым исходным кодом или библиотека, которая сделала бы это для меня?

1 Ответ

2 голосов
/ 19 ноября 2011

БПФ вне ядра будут ограничены доступной пропускной способностью диска, а затем задержкой при поиске диска, если не будет оптимальным чередование. Возможно, вы захотите установить пару быстрых SSD-дисков в вашей системе или вместо этого арендовать время на сервере (в «облаке»), на котором достаточно физической оперативной памяти (и, возможно, также процессоров с огромными dcache, например, Itanium или Power 7), чтобы сделать это. БПФ в ядре.

...