Журнал «Компьютерра» № 33 от 11 сентября 2007 года
Шрифт:
Спираль эволюции сделала очередной виток. Помните карты от ARTVPS, напичканные специализированными процессорами, которые только ускоряли рейтрейсинг и больше ничего не делали. (Кстати, карты Pure и рендерер RendeDrive от ARTVPS еще живы и называются теперь AR500 и RayBox соответственно. И даже продаются по цене 8300 долларов.) Конечно, в решениях от nVidia прослеживается определенная прагматичная последовательность: вы покупаете ускоритель вычислений (младшая модель Tesla CPU Computing Processor стоит полторы тысячи долларов), затем, если вы не разработчик, а скромный труженик cg-индустрии, вы должны прикупить еще продукты от nVidia, поддерживающие этот ускоритель, – например, рендерер Gelato, действительно интересный, быстрый, но и не дешевый, 1500 долларов. Он умеет обрабатывать сцены из Maya, 3ds max и других трехмерных пакетов. Таким образом,
Если в позапрошлом году Сигграф сходил с ума от ускорения рендеринга на GPU, в прошлом – от ускорения физики (в основном для игр) с использованием видеокарт, то в этом году дискуссии наконец-то вышли на более абстрактный уровень обсуждения GPGPU (General Purpose GPU) – графических процессоров общего назначения. Столь модная еще год назад игровая физика начисто исчезла со стендов.
Приложения, задействующие GPU, пошли «вширь». Среди них на стенде nVidia был замечен mental mill от компании mental images, интерактивная среда разработки материалов, причем не только для системы mental ray (как следовало бы ожидать), но и с возможностью экспорта результата в различные языки описания шейдеров – HLSL, GLSL, Cg FX, MetaSL. Удивительной особенностью mental mill является то, что все иконки-ноды, традиционно обозначаемые условными значками, представлены здесь как мини-openGL-окна, внутри которых можно видеть промежуточный или финальный результат (трехмерную картинку) без всякого просчета, прямо в реальном времени. В окошках можно панорамироваться, приближаться, крутить камеру, как в обычных трехмерных пакетах. Есть даже заготовка материала для воды в виде мини-пляжа с набегающей на берег волной. Кстати, mental mill был впервые показан в апреле в Москве на конференции CGEVENT и вызвал, помнится, большой фурор. По заявлению производителя, работает эта радость пока лишь на картах Quadro FX 3400 и выше, но время покажет, сумеют ли пользователи приспособить это решение к более демократичным устройствам.
Меня давно занимала мысль о том, когда, наконец, процессор Cell пойдет в широкие массы. На околице выставки мною была обнаружена компания Mercury Computer Systems, предлагающая населению карту PCI Express, на которой размещено некоторое количество процессоров Cell. Карту сию следует вставить в обычный PC и наслаждаться преимуществами новой процессорной архитектуры. Чтобы оприходовать магическую мощь Cell, надо иметь программы, которые умеют этот процессор использовать. Дабы перекомпилировать свои шедевры под Cell, компания Mercury предоставляет специальный MultiCore Plus SDK, который может быть использован с коммерческими компиляторами от IBM либо с неким бесплатным компилятором под Linux. Никакой Microsoft Visual/Net не поддерживается, ибо работает все это хозяйство только под Linux. На стенде работали сертифицированные Mercury «писюки» в лице HP+AMD+Cell-карта; на них, к сожалению, крутились уже набившие оскомину двадцать четыре окна-плеера, одновременно и плавно декодирующие двадцать четыре потока видео в формате H.264. По словам разработчиков, сертификация условная и желающие могут попытаться собрать Linux-машину из любых доступных компонентов. Стоит Cell-карта с программной обвязкой 8000 долларов. В ответ на мои слова о том, что за такие деньги я могу собрать много (например, двадцать) изрядно мощных компьютеров (без всяких мониторов, дисков и видеокарт), стендовые инженеры не моргнув глазом заявили, что ожидают ускорения приложений в сорок раз.
Шумиха вокруг Cell подогревалась заявлениями некоторых компаний о портировании своих приложений под Cell-архитектуру. И если до Сигграфа я благополучно игнорировал громкие маркетинговые пресс-релизы компаний, не относящихся к миру «тяжелой» графики, то обещания mental images и Side Effects (!) портировать свои приложения на так называемый Cell Computing Board от Sony заставили меня срочно нырнуть в Интернет. Одно только сочетание "Houdini для Cell" отдает сильнейшей интригой для всей индустрии компьютерной графики.
Смущает, правда, что компании планируют показать первые результаты во второй (!) половине будущего года. Для заявлений, сделанных в экзальтированной индустрии компьютерной графики, это может означать "никогда".
Подытожить дискуссии о специальных ускорителях вычислений можно, упомянув находящийся в разработке процессор Larrabee от компании Intel, традиционно не участвующей в Сигграфе. Похоже, Intel собирается одним выстрелом убить целую популяцию зайцев. И под обстрел попадут не только nVidia, ATI, AMD, но и многие другие. Производительность 1 терафлопс, до 48 ядер на процессоре, графические ядра и пр. По слухам, этот монстр может вначале появиться как графический ускоритель на плате PCI Express 2, и вот тогда расстановка сил на рынке графических (и не только графических) ускорителей может сильно измениться. Но не раньше 2009 года.
Пока конкуренты сходят с ума от ускорения вычислений на GPU или разрабатывают специальные процессоры и платы-ускорители, немецкая компания Bunkspeed (www.bunkspeed.com) взяла и написала чисто программный рендерер HyperShot, то есть пакет для просчета трехмерных сцен. Он не использует никаких ускорителей, но считает сверхъестественно быстро. Мистически быстро. Нечеловечески быстро. С поразительным качеством и уровнем фотореализма. Вы слегка поворачиваете в пространстве свою модель и пытаетесь подвинуть источник света, а в это время картинка уже полностью пересчитана. "Интерактивная фотография" – так называют свое детище разработчики. Рейтрейсинг в реальном времени.
Программа предназначена прежде всего для автомобильной промышленности и промышленного дизайна, поэтому деформация моделей не поддерживается, это скорее интерактивный рендерер для моделей, «приехавших» из CAD-систем. HyperShot призван полностью заменить процесс прототипирования – изготовления демонстрационных образцов будущих изделий для визуального контроля и коррекции. Действительно, просчитанные за несколько секунд автомобили выглядят очень реалистично. Картинка звенит и хрустит. Рейтрейсинг поддерживается на полную мощность, включая Full Global Illumination. HDRI-карты и тени. Реальная оптика и линзы. Физически корректные материалы. CPU, никакого GPU. И скорость, скорость, скорость! Промышленные дизайнеры бились в истерике прямо на стенде.
В отличие от многих выставок, на Сигграфе работают исключительно компетентные люди. Если не брать титанов индустрии, то на стенде зачастую находятся авторы идеи и кода, инженеры-разработчики, основатели компаний. Практически на все ядовитые вопросы можно получить не менее перченые ответы. Исключение составляет компания Corel, на стенде которой я уже третий год подряд не могу получить ответ на вопрос, где и как мне найти документацию к мощным скриптовым возможностям пакета Corel Painter. Похоже, ее прячут от хакеров специально.
Рендерер Gelato – детище легендарного Ларри Гритца, соавтора книги "Advanced Renderman". Компания Pixar уже много лет пытается засудить Ларри за использование в Gelato ряда алгоритмов, вроде бы являющихся интеллектуальной собственностью Pixar. Последнюю, очевидно, раздражает полная и элегантная renderman-совместимость Gelato в совокупности с коммерческим успехом. Тем не менее Ларри прекрасно выглядит и шлет большой привет российскому renderman-сообществу (мы с Лешей Пузиковым пытались заставить его прочесть пару страниц на русском из посвященной рендерману главы, которую Леша написал для книги "Понимая Maya").
Кстати, года три назад на одной из первых презентаций Gelato в России какой-то пытливый ум, прослушав впечатляющие цифры о том, что пакет ускоряет просчет сцен в два-пять раз благодаря только использованию GPU видеокарты, невинно спросил: "Но ведь на полторы тыщи долларов я могу собрать пять материнских плат с процессорами, запихнуть их в стойку и ускорять любой процесс (а не только рендеринг) не в два-пять раз, а ровно в пять раз, причем независимо от загрузки CPU, GPU и вообще независимо ни от чего!" Вот такая сермяжная правда, не принимающая во внимание стоимость некоторых программных лицензий на каждый процессор.