Преамбула: имеется вектор из 100e6 элементов, который необходимо нарезать на фрагменты размером N, применить к каждому фрагменту fft, а затем применить к ним ряд операций линейной алгебры (в тч. копирование, вырезание поддиапазона, так же в numpy как vstack, roll, conj, поэлементное произведение). Результирующий код на numpy выполняется порядка 5-10 минут на одном ядре core i5.
Есть мнение, что «matlab может в gpu из коробки, просто нажимаешь какую-то галочку и все выполняется на GPU, ну, по крайней мере, операции линейной алгебры над векторами легко»!
Вопрос к знатокам - действительно ли тулбокс параллельной обработки данных в матлабе настолько крут? Настолько, что можно сформировать параллельный алгоритм с минимальным редактированием кода?
Сейчас смотрю в сторону PyOpenCL, я правильно понимаю, что для этого необходимо изучить как бы другой язык? Язык написания kernel-ов?
Вот это читал - не очень ясно в контексте сабжа, где тут ниша именно вычислений? Theano?
UP 1: Видеокарта Radeon :)
Перемещено leave из desktop