AccelerEyes объявила в декабре 2012 года, что она работает с Mathworks по коду GPU и прекратила выпуск своего продукта Jacket для MATLAB:
http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/
К сожалению, они больше не продают лицензии Jacket.
Насколько я понимаю, решение ArrayFire на основе массива Jacket GPU было намного быстрее, чем решение gpuArray, предоставленное MATLAB.
Я начал работать с gpuArray, но вижу, что многие функции реализованы плохо. Например, простой
myArray(:) = 0
очень медленный. Я написал несколько пользовательских ядер CUDA, но плохо реализованная стандартная функциональность MATLAB добавляет много накладных расходов, даже если она постоянно работает с gpuArrays. Я исправил некоторые проблемы, заменив код MATLAB на написанный вручную код CUDA, но я не хочу переопределять стандартные функции MATLAB.
Еще одна особенность, которую мне не хватает, - это разреженные матрицы графических процессоров.
Итак, мои вопросы:
Как ускорить неудачно реализованные реализации GPU по умолчанию, предоставляемые MATLAB? В частности, как ускорить работу с разреженной матрицей в MATLAB с помощью GPU?