В MATLAB добавлена поддержка GPGPU
В новой версии MATLAB R2010b в компонент Parallel Computing Toolbox была добавлена официальная поддержка вычислений с применением GPU. В настоящий момент объявлено о поддержке графических процессоров NVidia. Об этом заявила глава направления Parallel Computing в компании MathWorks Silvina Grad-Freilich на конференции NVIDIA GPU Technology Conference.
Пользователи новой версии получили возможность использовать GPGPU вычисления двумя способами. Первый - это возможность вызова пользователями CUDA-ядер (kernels), разработанных программистами MathWorks, в своих приложениях на языках C и Fortran. Во втором варианте происходит вызов специальных процедур, встроенных в MathLab. Например, следующий код демонстрирует эту возможность.
>> A = someArray(1000, 1000);
>> G = gpuArray(A); % Передача данных в память GPU
>> F = fft(G); % Вычисления БПФ на GPU
>> x = G\b; % Вычисления на GPU
>> z = gather(x); % Возвращение результатов вычислений
В этом случае MATLAB берет на себя все заботы по инициализацией GPU, передаче данных из обычной оперативной памяти в память графической карты и другим достаточно низкоуровневым манипуляциям с GPGPU. Такая забота о пользователях будет важна в первую очередь прикладным специалистам в своей области, которые не являются профессиональными программистами.
Помимо этого в новой версии работу можно распределить между GPU-процессорами узлов вычислительного кластера. Это предоставляет еще большие возможности по интеграции MATLAB в такие системы распределенных вычислений как Grid.
Ссылки по теме новости:
- О поддержке GPGPU на официальном сайте MathWorks
- Данная новость на HPCWire
- Описание Parallel Computing Toolbox
- Конференция NVIDIA GPU Technology Conference
- Войдите на сайт для отправки комментариев