1.4 Применение вычислений на GPU

Необходимо отметить, что по назначению вычисления на GPU ничем не отличаются от вычислений на CPU. Но в отдельных областях вычислений на много превосходят в производительности универсальные процессоры. Ниже описаны несколько областей успешного применения вычислений на GPU.

Медицина: Компания TechniScan внедряет в практику многообещающую методику трехмерного ультразвукового сканирования. В системе ультразвукового сканирования компания TechniScan использует GPU Tesla от компании NVIDIA для улучшения возможностей врачей по прогнозированию и диагностике рака молочной железы на ранних стадиях, причем более точно, чем традиционные методы. Американский национальный институт по изучению раковых заболеваний сообщил о 12х ускорении при использовании CUDA для вычислений связывания протеинов, которые используются для разработки новых лекарств от таких болезней как рак или болезнь Альцгеймера.

Индустрия: Компании, подобные OptiTex, используют CUDA для разработки одежды для потребительского рынка. Автомобильные компании создают дизайн машин следующего поколения с помощью трассировки лучей на GPU, используя CUDA. Компании производители чистящих средств и средств гигиены применяют GPGPU для моделирования молекул своих продуктов. Так, промышленный гигант Procter Gamble совместно с университетом Темпл работают над моделированием взаимодействия молекул поверхностно-активных веществ с грязью, водой и другими материалами.

Мультимедиа: Задача конвертации видео на портативные устройства теперь гораздо удобней и быстрее благодаря приложению Badaboom от компании Elemental. Тесты показывают, что стандартный полуторачасовой фильм на нем с применением технологии CUDA конвертируется в формат iPod/iPhone менее чем за двадцать минут. И это при том, что на CPU этот процесс занимает больше часа. Технология NVIDIA PhysX — симуляция физических законов для игр и компьютерной анимации. Статистически было доказано, что, какой бы сложный рендеринг ни выполнял GPU, часть его ядер все равно простаивает. Именно на этих ядрах и работает движок PhysX. Благодаря CUDA львиная доля вычислений, связанных с физикой игрового мира, стала выполняться на видеокарте. По оценкам экспертов, прирост производительности игрового процесса с PhysX, работающем, на CUDA возрос минимум на порядок. CUDA берет на себя рутинный расчет реализации трения, тяготения и прочих привычных нам вещей для многомерных объектов. Современные игры выглядят очень реалистично. Благодаря разработчикам текстур. Но чем больше реальности в текстуре, тем больше она занимает драгоценной памяти. Чтобы этого избежать, текстуры предварительно сжимают и динамически распаковывают по мере надобности. А сжатие и распаковка — это сплошные вычисления. Для работы с текстурами NVIDIA выпустила пакет NVIDIA Texture Tools. В NVIDIA Texture Tools 2 реализована поддержка CUDA. По оценке NVIDIA, это дает 12-кратный прирост производительности в задачах сжатия и распаковки текстур. Помогает CUDA и профессиональным меломанам. Любой из них полцарства отдаст за эффективный FIR-кроссовер — набор фильтров, разделяющих звуковой спектр на несколько полос. Процесс этот весьма трудоемкий и при большом объеме аудиоматериала заставляет звукорежиссера на несколько часов отойти от своих обязанностей. Реализация FIR-кроссовера на базе CUDA ускоряет его работу в сотни раз.

Наука: Проблема параллелизации алгоритма на множество потоков с целью адаптации для GPU. Это ведь сама по себе научная задача, какие алгоритмы и методы можно успешно распараллелить и провести на GPU. На эту тему было защищено множество диссертаций и выпущено множество научных исследований. Использование массивно параллельной архитектуры NVIDIA GPU позволяет получать превосходные результаты при работе с приложениями в сфере молекулярной динамики. Ведь вирусы, возбудители многих болезней, являются самыми маленькими известными живыми организмами на планете. В силу простоты строения и маленького размера вирусов исследователи в области вычислительной биологии выбрали их для своей первой попытки создать полную модель формы жизни при помощи компьютера, выбрав для своих экспериментов один из самых крошечных вирусов — вирус табачной мозаики. Они использовали программу под названием NAMD (Nanoscale Molecular Dynamics), разработанную Университетом Иллинойса в Урбане-Шампэйн, для моделирования вируса в капле соленой воды. Работа NAMD была ускорена почти в 12 раз благодаря CUDA и в целом показала прирост скорости в 330 раз по сравнению с одноядерным CPU при запуске на кластере с GPU-ускорением в Национальном центре суперкомпьютерных приложений (NCSA). В нескольких проектах гидродинамики, использующих модели Навье-Стокса и “метод решеток Больцмана”, было отмечено значительное ускорение благодаря GPU с поддержкой CUDA. В течение многих лет задачи проектирования эффективных винтов и лопаток находилось в застое. Невероятно сложное движение воздуха и жидкости, обтекающих эти устройства, невозможно исследовать на простых моделях, а точные модели оказываются слишком ресурсоемкими с вычислительной точки зрения. Лишь самые мощные суперкомпьютеры могли предложить ресурсы, достаточные для обсчета численных моделей, требуемого для разработки и проверки конструкции. Исследователи из Кэмбриджского университета получили колоссальный выигрыш в производительности за счет использования CUDA. В результате применения дешевых GPU-кластеров принципиально изменил подход к проведению исследований. Почти интерактивное моделирование открыло новые возможности для новаторских идей в области, которая раньше страдала от застоя. Также ведутся более эффектиные работы по моделированию погодных явлений и океанической поверхности планеты с использованием GPU.

На сайте http://www.nvidia.ru/object/cuda_in_action_ru.html вы можете найти дополнительную информацию о применении GPU вычислений.