Железо → Трассировка пути на GPU, часть 1 из песочницы
Железо и рендеринг
Наиболее популярные, на сегодняшний день, архитектуры процессоров — x86-64. Их относят к CISC. Они обладают огромным набором команд, что привело к большой площади ядра на кристалле. Это, в свою очередь, повлекло за собой сложность в реализации нескольких ядер на чипе. Процессоры x86 не идеальны для многопоточных вычислений, где требуются многократное выполнение небольшого набора команд (RISC).
В свою очередь, рендеринг — алгоритм, который отлично распараллеливается практически на неограниченное количество ядер.
Unbiased renders
В виду того, что производительность железа неуклонно растет — технические вопросы (например семплинг отражений материалов в V-Ray, количество биасов при антиалиасинге, размытии в движении, глубине резкости, мягких тенях) все больше переходят на плечи железа. Так, несколько лет назад появился первый коммерческий рендер «без допущений» (unbiased render) — Maxwell Render.
Основным его преимуществом было качество финальной картинки, минимум настроек, всевозможных «биасов». С течением времени качество картинки приближается к «идеальному». А недостатком было и есть — время рендеринга. Ждать, пока шум сойдет, приходилось очень долго, и многие люди после нескольких проб сразу от него отказались. Еще хуже обстояли дела с анимацией (по понятным причинам).

Наиболее популярные, на сегодняшний день, архитектуры процессоров — x86-64. Их относят к CISC. Они обладают огромным набором команд, что привело к большой площади ядра на кристалле. Это, в свою очередь, повлекло за собой сложность в реализации нескольких ядер на чипе. Процессоры x86 не идеальны для многопоточных вычислений, где требуются многократное выполнение небольшого набора команд (RISC).
В свою очередь, рендеринг — алгоритм, который отлично распараллеливается практически на неограниченное количество ядер.
Unbiased renders
В виду того, что производительность железа неуклонно растет — технические вопросы (например семплинг отражений материалов в V-Ray, количество биасов при антиалиасинге, размытии в движении, глубине резкости, мягких тенях) все больше переходят на плечи железа. Так, несколько лет назад появился первый коммерческий рендер «без допущений» (unbiased render) — Maxwell Render.
Основным его преимуществом было качество финальной картинки, минимум настроек, всевозможных «биасов». С течением времени качество картинки приближается к «идеальному». А недостатком было и есть — время рендеринга. Ждать, пока шум сойдет, приходилось очень долго, и многие люди после нескольких проб сразу от него отказались. Еще хуже обстояли дела с анимацией (по понятным причинам).

C++ → Подробности о разработке для GPU в Visual Studio и платформе C++ AMP
Все большую популярность и актуальность приобретают технологии разработки приложений, которые на полную мощность используют вычислительные ресурсы графических ускорителей (GPU). Сегодня практически каждый компьютер и ноутбук комплектуется графическим адаптером с огромными вычислительными мощностями, которые потенциально могут быть использованы приложениями для значительного ускорения вычислений.
Одним из последних результатов исследований компании Microsoft в рамках вычислений в гетерогенной среде (связка CPU+GPU) стал анонс платформы С++ AMP, которая позволяет полностью утилизировать все возможности современных многоядерных процессоров и GPU. Анонс платформы был произведен на конференции AMD Fusion’11 летом этого года, подробности об этом вы можете прочитать в этой записи блога. На этом же мероприятии были анонсированы встроенные средства отладки и профилирования GPU кода в следующем поколении Visual Studio. Подробные доклады по новой платформе так же были прочитаны в рамках конференции BUILD, которая прошла совсем недавно.
Одним из последних результатов исследований компании Microsoft в рамках вычислений в гетерогенной среде (связка CPU+GPU) стал анонс платформы С++ AMP, которая позволяет полностью утилизировать все возможности современных многоядерных процессоров и GPU. Анонс платформы был произведен на конференции AMD Fusion’11 летом этого года, подробности об этом вы можете прочитать в этой записи блога. На этом же мероприятии были анонсированы встроенные средства отладки и профилирования GPU кода в следующем поколении Visual Studio. Подробные доклады по новой платформе так же были прочитаны в рамках конференции BUILD, которая прошла совсем недавно.
Блог компании Intel → Кремниевый коктейль

В канун GDC Europe стали доступны новые графические примеры для разработчиков, помогающие получить наилучшую производительность графики в играх, на системах Intel HD Graphics. Некоторые из них уже хорошо знакомы разработчикам игр, а некоторые являются новыми технологиями, разработанными в Intel. Все эти примеры можно было видеть на стенде Intel на конференции в Кельне, сейчас они доступны на нашем сайте.
Одним из примеров является Shadow Explorer, объединяющий несколько широко используемых техник визуализации теней в одном примере,. Четыре алгоритма наложения теней встроены в этот пример:
- Simple cascaded shadow map
- Percentage closer filtered (PCF)
- Variance shadow map (VSM)
- Exponential variance shadow map (EVSM)
Flash-платформа → Очередная версия Alternativa3D 8.12.0 с поддержкой Flash Player 11 Beta 2
Представляем вашему вниманию новую публичную сборку движка Alternativa3D 8. Версия 8.12.0 поддерживает Flash Player 11 Beta 2, то есть полностью совместима с самой свежей на данный момент сборкой Flash Player. Мы также значительно ускорили систему мышиных событий и добавили изометрический режим камеры.
Высокая производительность → OpenCL: мы дождались — версия 1.1 от nVidia, а что нового?
Немного истории или обещанного три года ждут
Чуть больше года назад Khronos Group представила новую версию OpenCL 1.1 и nVidia сразу похвасталась тем, что у нее уже готов пре-релиз драйвер с поддержкой нового стандарта. Все бы хорошо, да только пре-релиз — это не рабочий инструмент (тут и в официальных драйверах багов хватает, а в тестовой версии уж подавно), поэтому разработчики честно ждали релиза новой версии. Вышла CUDA 4, а OpenCL'а все не было и не было. Причем из новой версии драйверов исключили даже пре-релиз версию OpenCL, т.е. приходилось выбирать между старый драйвер с CUDA 3 + OpenCL 1.1 или новый драйвер с CUDA 4 + OpenCL 1.0. Но сегодня свершилось! Разработчикам пришло письмо о том, что финальная версия уже доступна в официальных драйверах 280.13, правда пока что бета версии, но это не надолго.
Итак, я решил вспомнить о том, что же там такого нового и хорошего в новой версии, поделиться комментариями о том зачем та или иная функция может понадобится и есть ли подводные камни о которых надо знать.
Высокая производительность → OpenCL: универсальность и высокая производительность или не так все просто? из песочницы
На Хабре уже были статьи об OpenCL, CUDA и GPGPU со сравнениями производительности, базовыми понятиями и примерами, поэтому рассказывать об основах и принципах работы я тут не буду, даже код не покажу. Но я хочу описать в чем заключаются реальные трудности при использовании GPU (про ограничения и их последствия), почему нельзя сравнивать производительность CPU и GPU, а также про то насколько “универсален” OpenCL на самом деле.
AMD → AMD Fusion 11 Developer Summit — как это было, ч.2 (подробности о платформе C++ AMP)
второй день конференции, подробности про платформу C++ AMP, очень много картинок

Это продолжение рассказа про конференцию AMD Fusion 11 Developer Summit, которая прошла на прошлой неделе в городе Белвью, США. Начало рассказа можно прочитать здесь (в сокращенной технической форме) или здесь (начало и продолжение в расширенной личной форме).
В первой части рассказа я говорил про первые дни конференции, пленарные доклады компаний AMD и ARM, новые технологии и продукты, представленные на конференции. В этой части рассказа речь пойдет про второй день конференции, пленарный доклад компании Microsoft и анонс технологии С++ AMP.
Это сокращенная версия моего отчета о конференции. Здесь вы найдете только информацию о мероприятии, анонсах и технологиях. Если вам интересны мои личные ощущения, мысли и другая посторонняя информация о поездке, то перейдите по этой ссылке на более расширенную версию статьи.
Второй день конференции начался с пленарного доклада Microsoft на тему технологий гетерогенных и параллельных вычислений. Доклад читал Герб Саттер, один из архитекторов продуктов в компании.
Блог компании Microsoft → Анонс C++ AMP — открытой платформы построения гетерогенных (GPU+CPU) приложений на C++

Привет, Хабрапользователи! Сейчас я нахожусь в США, город Белвью, на конференции AMD Fusion 11 Developer Summit. Про впечатления о городе и конференции я напишу позднее, когда обобщу все накопленные материалы. Пока же мне хотелось рассказать вам про важный анонс, который был сделан сегодня в ходе пленарного доклада Microsoft.
Microsoft представила свое видение разработки приложений для работы в гетерогенной среде с использованием всех возможностей многоядерных процессоров и GPU. Была представлена новая платформа, которая станет частью следующей версии Visual Studio.
Новая платформа получила название C++ Accelerated Massive Parallelism или C++ AMP. Цели данной платформы следующие: дать возможность использовать преимущества параллельных вычислений и GPU однвременно на языке C++, так же как сегодня эти преимущества используются на языке С (или его подобии) в разных платформах разработки: OpenCL, CUDA, DirectCompute.
В ходе пленарного доклада было наглядно продемонстрировано использование новой платформы для разработки приложений, которым требуются высокие вычислительные мощности. Так с помощью возможностей, которыми обладает C++ AMP были достигнуты отличные результаты по использованию имеющихся GPU и многоядерных CPU даже на нетбуке, который смог выдать десятки гигафлопс для решения демонстрационной задачи рассчета взаимодействия множества тел в пространстве. Более мощная система с двумя GPU позволила использовать тому же коду уже сотни гигафлопс ресурсов (был продемонстрирован результат в 800+ гигафлопс).
Высокая производительность → Поддержка GPU в математическом пакете MATLAB
За последние год-полтора создание кластеров и суперкомпьютеров на GPU стало новым трендом для высокопроизводительных систем. Это вполне имеет смысл, потому что графические процессоры прекрасно поддерживают параллельную работу и на некоторых задачах обладают производительностью гораздо выше, чем у бюджетных CPU.
В этом смысле вполне логичной выглядит новость, что в пакете программ математического моделирования MATLAB версии 2010b появилась нативная поддержка Nvidia CUDA (версия Compute Capability 1.3 или выше). Она включена в набор инструментов Parallel Computing Toolbox. Теперь распараллеливание команд осуществляется прямо из MATLAB и не нужно переписывать код на C++ или Fortran специально для CUDA.
В этом смысле вполне логичной выглядит новость, что в пакете программ математического моделирования MATLAB версии 2010b появилась нативная поддержка Nvidia CUDA (версия Compute Capability 1.3 или выше). Она включена в набор инструментов Parallel Computing Toolbox. Теперь распараллеливание команд осуществляется прямо из MATLAB и не нужно переписывать код на C++ или Fortran специально для CUDA.
Git → GitHub Reflog v1.5.16
Добро пожаловать в GitHub Reflog — еженедельную хронику замечательных репозиториев GitHub и активности сообщества. Предыдущие выпуски доступны в Архиве Reflog.