Пройдёт всего-то два с небольшим месяца, и на полках компьютерных магазинов всего мира появятся вычислительные устройства под управлением Windows 8. При этом часть таких аппаратов будет представлена старыми добрыми х86-платформами, а другая, вполне сопоставимая количественно, часть станет базироваться на процессорах ARM. Вполне вероятно, что вслед за тем программисты начнут создавать всё больше высокопараллелизуемых программ, а древняя как фантазии мамонта архитектура x86 наконец-то примется сдавать позиции.
466.jpg
читать дальше
Чуть больше года назад Khronos Group ...
Немного истории или обещанного три года ждут
Чуть больше года назад Khronos Group представила новую версию OpenCL 1.1 и nVidia сразу похвасталась тем, что у нее уже готов пре-релиз драйвер с поддержкой нового стандарта. Все бы хорошо, да только пре-релиз — это не рабочий инструмент (тут и в официальных драйверах багов хватает, а в тестовой версии уж подавно), поэтому разработчики честно ждали релиза новой версии. Вышла CUDA 4, а OpenCL'а все не было и не было. Причем из новой версии драйверов исключили даже пре-релиз версию OpenCL, т.е. приходилось выбирать между старый драйвер с CUDA 3 + OpenCL 1.1 или новый драйвер с CUDA 4 + OpenCL 1.0. Но сегодня свершилось! Разработчикам пришло письмо о том, что финальная версия уже доступна в официальных драйверах 280.13, правда пока что бета версии, но это не надолго.
Итак, я решил вспомнить о том, что же там такого нового и хорошего в новой версии, поделиться комментариями о том зачем та или иная функция может понадобится и есть ли подводные камни о которых надо знать.
Читать дальше →
... о вычислениях на
(видеокартах), на текущий ... , полученными при использовании
в сравнении с ...
Здравствуй, уважаемое хабра-сообщество.
Многие, наверное, уже слышали о вычислениях на GPGPU(видеокартах), на текущий момент существует много реализаций этой техники программирования. Мы остановимся на двух из них — это небезызвестная CUDA от компании Nvidia, и я думаю чуть менее популярный, но также известный фреймворк OpenCL. На хабре уже есть достаточное количество статей, в которых описан основной принцип работы этих технологий, поэтому мы не будем заострять на этом внимание. В статье я хочу поделиться результатами, полученными при использовании GPGPU в сравнении с CPU для сжатия данных.
Читать дальше →
... значит SIMD, SMP,
и другие страшные ...
Компьютеры, даже персональные, становятся все сложнее. Не так уж давно в стоящем на столе ящике все было просто — чем больше частота, тем больше производительность. Теперь же системы стали многоядерными, многопроцессорными, в них появились специализированные ускорители, компьютеры все чаще объединяются в кластеры.
Зачем? Как во всем этом многообразии разобраться?
Что значит SIMD, SMP, GPGPU и другие страшные слова, которые встречаются все чаще?
Каковы границы применимости существующих технологий повышения производительности?
Введение
Откуда такие сложности?
Компьютерные мощности быстро растут и все время кажется, что все, существующей скорости хватит на все.
Но нет — растущая производительность позволяет решать проблемы, к которым раньше нельзя было подступиться. Даже на бытовом уровне есть задачи, которые загрузят ваш компьютер надолго, например кодирование домашнего видео. В промышленности и науке таких задач еще больше: огромные базы данных, молекулярно-динамические расчеты, моделирование сложных механизмов — автомобилей, реактивных двигателей, все это требует возрастающей мощности вычислений.
В предыдущие годы основной рост производительности обеспечивался достаточно просто, с помощью уменьшения размеров элементов микропроцессоров. При этом падало энергопотребление и росли частоты работы, компьютеры становились все быстрее, сохраняя, в общих чертах, свою архитектуру. Менялся техпроцесс производства микросхем и мегагерцы вырастали в гигагерцы, радуя пользователей возросшей производительностью, ведь если «мега» это миллион, то «гига» это уже миллиард операций в секунду.
Но, как известно, рай бывает либо не навсегда, либо не для всех, и не так давно он в компьютерном мире закончился. Оказалось, частоту дальше повышать нельзя — растут токи утечки, процессоры перегреваются и обойти это не получается. Можно, конечно, развивать системы охлаждения, применять водные радиаторы или совсем уж жидким азотом охлаждать — но это не для каждого пользователя доступно, только для суперкомпьютеров или техноманьяков. Да и при любом охлаждении возможность роста была небольшой, где-то раза в два максимум, что для пользователей, привыкших к геометрической прогрессии, было неприемлемо.
Казалось, что закон Мура, по которому число транзисторов и связанная с ним производительность компьютеров удваивалась каждые полтора-два года, перестанет действовать.
Пришло время думать и экспериментировать, вспоминая все возможные способы увеличения скорости вычислений.
Читать дальше →