Дизайн OpenCL

В статье рассматриваются основные принципы дизайна OpenCL согласно стандарту версии 1.1. Не вдаваясь в излишние на данном уровне изложения подробности описаны 4 модели, на которых держится стандарт: модель платформы, модель исполнения, модель памяти и модель программирования. В статье не приведено ни единой строчки программного кода, так как цель - лишь ввести читателя в мир разработки на OpenCL, осветив различные стороны его дизайна.

Microsoft представила C++ AMP

На конференции AMD Fusion 11 Developer Summit Герб Саттер (Herb Sutter) анонсировал новую технологию для разработки гетерогенных приложений на языке С++, получившую название C++ Accelerated Massive Parallelism (AMP). Данная технлогия, по заявлению разработчиков Microsoft, позволит использовать возможности параллельного выполнения кода на CPU, так и выполнения кода на GPU.

IBM OpenCL Development Kit для Linux на платформе Power v0.3

31 марта IBM представила средства разработки OpenCL-приложений для операционной системы Linux, работающей на платформе Power. По заявлению разработчиков была реализована спецификация OpenCL 1.1 в полном объеме.

NVIDIA выпускает CUDA 4.0 Toolkit

Анонсирована новая версия инструментария CUDA. В 4-й версии разработчики сделали упор на упрощение портирования CPU-кода на платформу GPGPU-вычислений. Этого они попытались достичь с помощью следующих основных нововведений: NVIDIA GPUDirect 2.0, Unified Virtual Addressing, а также библиотеки Thrust C++ Template Performance Primitives. 

AMD представляет OpenCL University Kit

OpenCL University Kit - это набор материалов от компании AMD для обучения студентов технологии OpenCL в течение одного семестра. Материалы логически поделены на 13 лекций, каждая из которых включает информацию для преподавателя и план проведения лекций. Также данный набор дополнен примерами кода для трех лекций (2,3 и 13), кодом полноценного OpenCL-приложения (лекция 9) и набором упражнений для закрепления материала.

Представлена альфа-версия Intel OpenCL SDK

Intel представила новый SDK для написания программ с использованием OpenCL 1.1, оптимизированный для процессоров семейства Intel Core. Первый вариант SDK требует операционную систему Microsoft Windows 7 или Vista. Сейчас этот SDK поддерживает компиляцию лишь 32 битных приложений.

Представлен Aparapi - API для написание OpenCL-ядер на Java

Aparapi - новое API языка программирования JAVA для написания и выполнения OpenCL-ядер на графических акселераторах компании AMD. Если целевая платформа поддерживает OpenCL, то байткод будет проанализирован "на лету" и в случае отсутствия неконвертируемого в OpenCL кода, он транслируется в OpenCL, компилируется и запускается на GPU (если подходящий GPU присутствует). В противном случае, код будет запущен как обычный байткод на CPU. 

Особенности следования стандартам

Недавно возникла необходимость сравнить производительность работы кернела (kernel) на CPU и GPU под Linux. Однако, выяснилось, что устройства типа CPU не оказалось в списке доступных устройств для платформы, в связи с чем было произведено обновление драйверов nVidia под Linux со старых версий до последних. Результат был неожиданным: получилась неработающая программа. Почему и как побороть - далее.

В MATLAB добавлена поддержка GPGPU

В новой версии MATLAB R2010b в компонент Parallel Computing Toolbox была добавлена официальная поддержка вычислений с применением GPU. В настоящий момент объявлено о поддержке графических процессоров NVidia. Об этом заявила глава направления Parallel Computing в компании MathWorks Silvina Grad-Freilich на конференции NVIDIA GPU Technology Conference.

PGI представляет CUDA C компилятор для платформы x86

На конференции SC10 в Новом Орлеане компания PGI (The Portland Group) продемонстрирует новый CUDA компилятор для 32 и 64 битных платформ x86. Об этом заявил CEO компании PGI Jen-Hsun Huang на конференции GPU Technology Conference 2010, проходящей в San Jose. 

RSS-материал