Новости про GPGPU и Microsoft

Microsoft патентует GPU-ускорение кодирования видео

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

Сейчас использование мощностей графических процессоров для операций с видео стало обыденностью. Многие владельцы современных видеокарт на базе NVIDIA воспользовались продуктами от Badaboom или MotionDSP с данной функциональностью. Тем удивительнее стало обнаружение факта, что на подобные технологии кем-то получен патент, и этот кто-то — Microsoft. Буквально на днях Бюро по регистрации патентов и торговых марок США утвердило за компанией патент за номером 7,813,570 под многообещающим заголовком «Accelerated video encoding using a graphics processing unit».

Первые реакции на выдачу такого патента были ожидаемы — попытка компании-монополиста наложить лапу на перспективный рынок, шаг против прогресса, заговор против производителей GPU… Однако, изучение содержания патента позволяет существенно снизить накал страстей.

Прежде всего, заявка на патент была отправлена в Бюро… 22 октября 2004 года. В ту пору возможность использования графических процессоров для общих вычислительных задач еще была предметом научных исследований. К примеру, в 2004 году университетом Стэнфорда была выпущена программа GPUBench, как иллюстрация к обсуждению перспектив GPGPU перед выставкой SIGGRAPH 2004 (обсуждавшиеся тогда вопросы сегодня могут вызвать лёгкую улыбку).

Во-вторых, указанный патент покрывает лишь случай использования GPU для выполнения операции определения движения — нахождения движущихся объектов в кадре и расчёта векторов движения и информации, необходимой для последующего восстановления видео при воспроизведении, как это определено в стандартах MPEG-1/2. Все остальные операции выполняет центральный процессор. Современные программы кодирования с применением GPGPU-технологий не выделяют какие-то этапы кодирования, используя GPU как математический сопроцессор для всех или почти всех операций с видеопотоком. Ну и, согласно тексту патента, работа с видео должна была осуществляться путём помещения кадров в текстуры, обработке их с помощью пиксельных и вершинных шейдеров образца Direct3D 9.0 и использованием Z-буфера для хранения промежуточных результатов операции. Нынешнее программное обеспечение видеокодирования с функциями GPGPU использует высокоуровневые интерфейсы вроде CUDA или ATI Stream.

В целом, заявка на пресловутый патент, вероятно, была подана в рамках разработки следующих версий приложений Windows Movie Maker/Movie Encoder для будущей операционной системы Longhorn, но проект умер вместе с самим Longhorn. К настоящему моменту Microsoft пришла к собственному GPGPU API DirectCompute в составе DirectX 11 и врядли нуждается в патентовании схемы использования аппаратного ускорения шестилетней давности. Так что история с патентом за номером 7,813,570 является лишь иллюстрацией неповоротливости и ограниченности патентной системы, с непоправимым опозданием «защитившей» права на давно потерявшую актуальность разработку.

Аппаратное ускорение в Internet Explorer 9

Следующая версия веб-браузера от Microsoft будет использовать графический процессор для ускорения рендеринга страниц.

На конференции MIX10 Microsoft опубликовала предварительную технологическую версию следующего поколения своего веб-браузера. Особый упор был сделан на использование аппаратного ускорения GPU в новом движке.

Прежде всего, новый движок осуществляет рендеринг изображений и текстов с помощью API Direct2D, появившегося в Windows 7 и доступного в качестве обновления для Windows Vista. Рендеринг конечного изображения страницы занимает достаточно большой процент общего времени отображения страницы и использование нового API, специально разработанного для ускорения вывода двухмерной графики и шрифтов, позволяет заметно ускорить этот процесс.

Также в IE 9.0 будет реализовано аппаратное ускорение стандарта векторной графики SVG. Операции с векторной графикой всегда отличались ресурсоёмкостью, и вычислительные мощности GPU пришлись как нельзя кстати. Да и в целом, поддержка SVG ранее в браузерах от Microsoft отсутствовала как класс.

Помимо GPU-ускорения, разработчики следующей версии Internet Explorer не остались в стороне и от еще одной актуальной технологии — многопоточности. Интерпретатор JavaScript «Chakra» использует отдельный поток для компиляции JS на лету и оптимизирован для новых процессоров Intel Core i7. Microsoft приводит результаты бенчмарков, согласно которых IE9 встал вровень со своими конкурентами по производительности JavaScript.

Также обещано очередное улучшение соответствия веб-стандартам, включая HTML 5, DOM, CSS3. Правда, в известном тесте Acid 3 технологическое демо Internet Explorer пока набирает лишь 55 баллов из 100. В любом случае, новая версия браузера будет востребована пользователями офисных и корпоративных продуктов самой Microsoft, для прочих же пользователей, в соответствии с решением Европейской антимонопольной комиссии, будет сделан экран выбора браузера при установке операционной системы.

Несколько видео от разработчиков:

NVIDIA сотрудничает с Microsoft для высокопроизводительных вычислений

NVIDIA сообщила о работе с компанией Microsoft по продвижению графических процессоров Tesla в качестве мощных высокопараллельных процессоров для операционных систем Windows HPC Server 2008.

«Вычисления на GPU и CPU демонстрируют невероятную мощь и возможность многоядерной совместной обработки данных», — отметил Ден Рид, корпоративный вице президент отдела высокотребовательных вычислений в Microsoft и добавил: «Работа NVIDIA с Microsoft и серверной платформой Windows HPC помогает учёным и исследователям во многих областях получить возможность достижения производительности суперкомпьютеров в различных приложениях».

Лаборатория NVIDIA Research разработала ряд приложений с поддержкой GPU-вычислений для платформы Windows HPC Server 2008, к примеру, визуализатор с трассировкой лучей, который может быть использован в передовом фотореалистичном моделировании автомобилей и проч. Калифорнийская компания работает с Microsoft Research для установки мощных вычислительных кластеров на базе параллельных процессоров Tesla GPU и исследования приложений, оптимизированных для работы с GPU.

Огромное количество ресурсоёмких задач может быть серьёзно ускорено благодаря технологии NVIDIA CUDA: это и сложный анализ массивов данных, и задачи обучения машин и корпоративные ресурсы предприятия наряду с научными приложениями вроде молекулярной динамики, финансовых вычислений, обработки сейсмических данных и многие другие высокопараллельные задачи.

Архитектура CUDA позволяет использовать как ресурсы центрального процессора, так и мощности графических ускорителей, работающих совместно.

Учёное сообщество первым осознало огромный потенциал расчётов  средствами параллельных процессоров NVIDIA, позволяющих добиться от 20 до 200-кратного преимущества в скорости работы.