Как стать автором
Обновить

AMD APP SDK: Intermediate Language (IL)

Время на прочтение8 мин
Количество просмотров14K
AMD APP
ATI Stream SDK было переименовано в AMD Accelerated Parallel Processing (APP) SDK, на смену основного языка программирования GPGPU вычислений Brook+ пришел OpenCL. Однако, не многие догадываются, что писать код для ATI-шных карточек можно при помощи другой технологии: AMD Compute Abstraction Layer (CAL) / Intermediate Language (IL). Технология CAL предназначена для написания кода, взаимодействующего с GPU и выполняющегося на CPU, в то время как технология IL позволяет писать код, который будет выполняться непосредственно на GPU.

В данной статье будет рассмотрена технология IL, ее область применения, ограничения, преимущества по сравнению с OpenCL. Кому интересно, прошу под кат.

Follow the white rabbit
Всего голосов 23: ↑23 и ↓0+23
Комментарии6

Быстрое сжатие изображений по алгоритму JPEG на CUDA

Время на прочтение13 мин
Количество просмотров20K
Краткое содержание: Создан быстрый кодер FVJPEG для сжатия изображений по алгоритму JPEG на видеокартах NVIDIA. Значительное ускорение получено при распараллеливании алгоритма, его реализации и оптимизации с помощью технологии CUDA. По скорости сжатия кодер FVJPEG превосходит все существующие в настоящее время программные и аппаратные решения для компрессии изображений по алгоритму Baseline JPEG.
Читать дальше →
Всего голосов 74: ↑59 и ↓15+44
Комментарии49

Рендеринг наоборот. Преобразование Хафа на GPU

Время на прочтение10 мин
Количество просмотров19K
title

Преобразование Хафа служит для поиска на изображении фигур, заданных аналитически: прямых, окружностей и любых других, для которых вы сможете придумать уравнение с небольшим количеством параметров. О преобразовании Хафа написано немало, и данная статья не ставит цели подробно осветить все аспекты. Я лишь объясню общий принцип, останавливаясь на особенностях, мешающих его реализации на GPU «в лоб» и, конечно же, предложу решение. Те, кто знают проблемы и хотят сразу видеть решение, могут пропустить пару-тройку разделов.

Читать дальше →
Всего голосов 77: ↑76 и ↓1+75
Комментарии9

Nvidia для профессиональных 3D приложений

Время на прочтение6 мин
Количество просмотров179K
Пол года назад я искал себе видеокарту, на которой я смог бы заниматься 3d моделированием, и рендерингом на GPU. В связи с появлением на рынке большого числе рендеров на CUDA мне не терпелось приобрести видеокарту с поддержкой CUDA, а именно Nvidia.

Как некоторые уже знают, Nvidia выставляет на продажу видеокарты нескольких моделей Geforce, Quadro, Tesla, ION, Tegra. В этом коротком сравнении упустим ION и Tegra, т.к. предназначены для мобильных устройств и слабые по производительности.

Нам нужна мощь!

Nvidia power...

Читать дальше →
Всего голосов 45: ↑38 и ↓7+31
Комментарии35

Используем OpenCL в Python

Время на прочтение6 мин
Количество просмотров31K
В последнее время параллельные вычисления прочно входят в жизнь, в частности, с использованием GPU.

Здесь было много статей на эту тему, поэтому ограничусь лишь поверхностным описанием технологии. GPGPU — использование графических процессоров для задач общего назначения, т.е. не связанных напрямую с рендерингом. Пример — библиотека Nvidia PhysX для расчёта физики в некоторых современных играх. Эта технология выгодна тем, что GPU хороши на параллельном выполнении с множеством потоков. Правда, потоков должно быть много, иначе производительность сильно упадет. Ещё из-за особенностей работы с памятью приходится несколько хитрить с передачей данных из оперативной памяти в видеопамять. Известные реализации: CUDA (Nvidia, только для видеокарт), OpenCL (Khronos Group, для гетерогенных систем) и AMD FireStream. Здесь будет обсуждаться только OpenCL.

Итак, приступим к практике. В качестве языка основной программы выберем Python. Он, конечно, не очень быстр сам по себе, зато отлично работает как «клей» — во многих применениях основной расчёт идёт в OpenCL, а код на Python только «подносит патроны». Существует отличная библиотека PyOpenCL, которой и будем пользоваться.

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии6

Первые шаги с OpenCL или сказ о том как одинаковый код на GPU и CPU запускать

Время на прочтение15 мин
Количество просмотров58K
Итак, прошел почти год с момента моего первого поста о программировании видеокарт и страшилок о том, как это все сложно. Теперь настала пора показать, что все не так плохо и как пользоваться этой странной штукой по имени OpenCL, да еще и использовать его главное преимущество, то есть возможность запускать один и тот же код на разных девайсах. А еще я покажу как можно получить на порядок большую производительность обычного процессора практически бесплатно.
За деталями под кат...
Всего голосов 57: ↑54 и ↓3+51
Комментарии21

CUDA: синхронизация блоков

Время на прочтение12 мин
Количество просмотров43K
При использовании средств параллельных вычислений весьма вероятно может сложиться ситуация, когда алгоритм содержит два таких последовательных этапа: i) каждый j-ый поток сохраняет некоторый промежуточный результат вычисления в j-ой ячейке памяти, а, затем, ii) этот поток должен использовать результаты одного или более «соседних» потоков. Очевидно, что необходимо организовать в коде программы некий барьер по времени, который каждым потоком преодолевается уже после того, как все сохранят свои промежуточные результаты в соответствующих ячейках памяти (этап (i)). В противном случае, какой-то поток может перейти к этапу (ii), пока какие-то другие потоки еще не завершили этап (i). Как это ни прискорбно, но создатели CUDA посчитали, что такой специальный встроенный механизм синхронизации любого числа потоков на одном GPU не нужен. Так как же можно бороться с этой напастью? Хотя Google, судя по подсказкам, и знаком с данным вопросом, но готового удовлетворительного рецепта под свою задачу найти не удалось, а на пути к достижению желаемого результата для новичка (которым я и являюсь) имеются некоторые подводные камни.

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии19

Unbiased DirectX Рендеринг на GPU, CPU и в облаке

Время на прочтение9 мин
Количество просмотров44K
Как создать рендерер, который бы работал даже на компьютере вашей бабушки? Изначально перед нами стояла немного другая задача — создать unbiased рендер для всех моделей GPU: NVidia, ATI, Intel.
Хотя идея такого рендера для всех видеокарт витала в воздухе давно, до качественной реализации, тем более на Direct3D, дело не доходило. В своей работе мы пришли к весьма дикой связке и дальше расскажем, что нас к ней привело и как она работает.

renderbro resource combined
Читать дальше →
Всего голосов 83: ↑79 и ↓4+75
Комментарии55

Intel поглощает разработчика ARM-чипов — компанию ZiiLabs

Время на прочтение3 мин
Количество просмотров11K
Корпорация Intel сообщила о сделке с компанией Creative Technology по приобретению за 50 млн.$ компании ZiiLabs — дочернего предприятия Creative Technology, занимающегося разработкой многоядерных ARM-чипов ZMS-40 и ZMS-20, которые до сих пор применялись в различных Android-устройствах: планшетах, медиа-плеерах таких как Creative Zii Egg и других аппаратах.

ZiiLabs известна тем, что в январе 2012 года представила 100-ядерный SoC-чип ZMS-40. И на рынке мобильных устройств, GPU-решения ZiiLabs конкурируют с графическими чипами PowerVR разрабатываемыми компанией Imagination Technologies.

Согласно условиям достигнутого соглашения, из 50 млн.$, около 30 млн заплачены за основные фонды и инженерные ресурсы ZiiLabs, а остальные — за патенты и лицензии на GPU-технологии ZiiLabs.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии67

Руководителем Intel может стать гендиректор Nvidia Джен-Сен Хуан

Время на прочтение2 мин
Количество просмотров10K
Ресурса Bright Side Of News ссылаясь на свои источники пишет, что новым руководителем Intel может стать один из основателей и генеральный директор Nvidia — Джен-Сен Хуан (Jen-Hsun Huang).
И тогда сама компания Nvidia может быть приобретена корпорацией Intel.

Известно, что ранее Intel уже делала попытки поглотить Nvidia (после того как AMD поглотила компанию ATI), но сам Джен-Сен Хуан, пользующийся широкой поддержкой совета директоров, не соглашался на условия предлагаемые Intel. Кроме того были большие сомнения, что антимонопольные органы США разрешат данное слияние.
Возможность же получения должности гендиректора Intel может изменить позицию Джен-Сен Хуана.
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии39