
Решил написать еще один небольшой пост в продолжение темы обзора сайта Intel Software Network (ISN). Хочется рассказать о некоторых статьях, которые можно найти на сайте ISN. Тема ориентирована на программистов или тех, кто планирует ими стать.
Я сделал небольшую выборку статей для тех, кто интересуется разработкой эффективных программ или вообще программированием. Эти и другие статьи тихо пылятся на полках ISN, и мало кто видел их. На Хабре, к сожалению, мало постов посвящено программированию, и возможно этот обзор откроет для кого-то новый источник информации.
Итак, статьи на сайте ISN и их краткая аннотация.
Наглядно о числах с плавающей точкой
Числа с плавающей точкой проникли почти во все области программирования компьютерных игр. Они используются для представления всего — от позиции, скорости и ускорения до хитрых переменных ИИ, координат текстур и цветов. Однако, несмотря на их повсеместное присутствие, лишь немногие программисты утруждают себя изучением механизмов, стоящих за числами с плавающей точкой, их внутренних ограничений и специфичных проблем, которые могут возникнуть в играх. В данной статье рассматриваются некоторые проблемы чисел с плавающей точкой и приводятся соответствующие примеры в надежде на то, что программисты, если эти проблемы вдруг встанут посреди работы над проектом, будут к ним готовы.
Повышение производительности памяти с помощью потоковой загрузки Intel Streaming SIMD Extensions 4 (SSE4)
Intel SSE4 — это новый набор команд SIMD (Single Instruction Multiple Data). Intel SSE4 включает команду MOVNTDQA для управления «потоковой загрузкой» с устройств, отображаемых в памяти USWC (Uncacheable Write Combining) процессора. Потоковые загрузки улучшают функции считывания с устройств ввода/вывода, обеспечивая увеличение скорости в 7,5 раза по сравнению с обычными загрузками (как, например, MOVDQA). В статье представлен обзор команды потоковой загрузки, описаны улучшения производительности, достигаемые с помощью ее использования.
Оценка движения с помощью набора команд Intel Streaming SIMD Extensions 4 (SSE4)
В статье описано, как с помощью команд Intel SSE4 в программах кодирования видео можно повысить уровень производительности поиска целочисленных векторов движения от 1,6 до 3,8 раз. Для представления некоторых разбросов, которые используются при оценке движения и для иллюстрации того, как код может быть адаптирован к этим разбросам, применяются блоки трех разных размеров: 4x4, 8x8 и 16x16.
Восемь простых правил разработки многопоточных приложений
В статье вы познакомитесь с восемью несложными правилами эффективного преобразования последовательного программного кода в параллельный. Следуя этим правилам, вы значительно быстрее создадите многопоточные решения, которые будут обладать повышенной надёжностью, оптимальной производительностью и меньшим количеством узких мест.
Прирост производительности с помощью распараллеливания приложения, использующего генератор случайных чисел
Распараллеливание программного кода, в котором используется набор случайных чисел, связано с обходом возникающих зависимостей по данным. Набор псевдослучайных чисел должен одинаково качественно создаваться как в последовательной, так и в параллельной версии приложения. В этой статье рассматривается метод для безопасного распараллеливания алгоритма создания случайных чисел. Так как в программном коде используется встроенная функция языка, данный метод не требует доработки кода или реализации в нём дополнительного алгоритма проверки качества случайных чисел.
Разработка физической модели разбиения твердого тела для игрового движка
На сегодняшний день одной из наиболее интересных задач в visual computing является моделирование физических явлений реального мира. В данной статье представлено исследование по моделированию разрушения твёрдого тела. Рассматриваются два подхода к реализации визуально корректного разбиения — метод, основанный на физической теории распространения трещин, и эвристический алгоритм. Обсуждаются особенности, достоинства и недостатки обоих методов, проблемы, возникающие при моделировании.
Введение в технологии параллельного программирования
Когда-то параллельное программирование было уделом только тех одиночек, которых интересовали задачи для огромных суперкомпьютеров. Но теперь, когда на многоядерных процессорах начали работать обычные приложения, параллельное программирование быстро становится технологией, которую должен освоить и уметь применять любой профессиональный разработчик ПО.
Параллельные механизмы выделения памяти
При распараллеливании приложений на С/С++ часто оказывается, что функция malloc() (или new) является узким местом, ограничивающим максимальную производительность приложения. В данной статье объясняются четыре основные проблемы, которые может решить хороший параллельный механизм выделения памяти: потокобезопасность, дополнительные издержки, соревновательность, дрейф памяти.
Секреты использования Intel Parallel Inspector для поиска ошибок многопоточности
В статье будет сделан обзор особенностей инструмента для диагностики ошибок многопоточности Intel Parallel Inspector, который является одним из компонентов пакета продуктов для разработки многопоточных приложений Intel Parallel Studio.
Перекодировка и оптимизация кодека: советы и приемы
В этой статье приведены практические советы и способы повышения производительности механизма кодека. Эти советы охватывают использование событий анализатора производительности Intel VTune и инструкций Prescott New Instructions (SSE3).