Мыслящие машины Дженсена Хуанга: История Nvidia и мировой ИИ-революции - Стивен Витт
В обеих играх был предусмотрен режим «смертельной схватки», позволявший устраивать многопользовательские бои. Благодаря инженерным находкам Кармака игры Quake работали более плавно, чем все остальные, но одновременная отрисовка десятков участников в одном игровом пространстве оставалась сложной задачей. «Мы хотели, чтобы игра реагировала быстрее, позволяя участникам эффективнее уничтожать противника, – говорит Кармак. – Большинство существовавших графических акселераторов не могли обеспечить такой результат».
Это была прекрасная возможность для Хуанга. Теперь консоли Sega в офисе Nvidia простаивали без дела. Quake завоевала сердца всех; коллектив настолько пристрастился к игре, что Хуанг запретил устраивать сражения днем. Некоторые производители ПК, например Dell, стали устанавливать графические акселераторы Nvidia непосредственно в свои компьютеры, чтобы пользователям не приходилось покупать их отдельно. «Было понятно, что победа в гонке за лидерство в графике достанется тому, кто сумеет лучше других отрисовать эту конкретную игру», – говорит Кирк. Хуанг поручил своей команде разработать новый графический акселератор специально для Кармака – как кастомный «стратокастер» для Джими Хендрикса.
Одним из пожеланий Кармака было наличие большого количества «пиксельных шейдеров» – алгоритмов, задающих цвета каждому пикселю в трехмерных сценах. Запуская сразу несколько таких алгоритмов, можно было, например, вначале разместить на стене источник света, а затем добавить брызги крови. Но в работе такие шейдеры удваивали нагрузку на вычислительные ресурсы. 3dfx, лидер на рынке графических карт, решила эту проблему, разместив два графических акселератора на одной плате. Но Кирк и его команда задумались о более революционном подходе: что, если разделить шейдинг на два потока и выполнять одни и те же команды на двух каналах одного процессора? Это подходило для графического рендеринга, где вычисления часто повторялись.
Изначально Хуанг отнесся к этой идее скептически. Метод параллельных вычислений уже пытались использовать производители дорогостоящих суперкомпьютеров. «Кремниевая долина усеяна трупами компаний, пытавшихся запустить платформы параллельных вычислений, – говорит он. – Кроме нас, никому не удалось создать успешную компанию, используя эту технологию, – вообще никому, буквально ноль» (Хуанг иногда склонен к преувеличениям). Но затем он, как это свойственно ему, начал рассуждать. Кармак вряд ли остановится на двух пиксельных потоках. Сложность шутеров будет расти, а вместе с ней и потребность в вычислительных ресурсах. Представьте сцену: все залито огнем, кругом стреляют, вдали взрывается космический корабль и все это – на планете с двумя солнцами. Если применить подход 3dfx и для каждого источника использовать отдельный процессор, то на плате просто не хватит места. Единственная возможность удовлетворить растущие потребности Кармака – увеличить число потоков на одном кристалле.
Но прежде чем принять окончательное решение, Хуанг должен был провести тщательный анализ. Ему необходимо было понять, почему остальные, кто пытается воплотить этот подход, терпят неудачи. Сеймур Крей, создатель суперкомпьютеров, использующих технологию параллельных вычислений, столкнулся с серьезными проблемами: суперкомпьютеры работали нестабильно, а клиенты жаловались на их сложность и высокую стоимость. Ларри Эллисон, основатель Oracle, вложил миллионы в стартап nCube, ориентирующийся на метод параллельных вычислений, но к концу 1990-х годов этот проект тоже оказался в упадке. Проблема заключалась в сложности программирования при параллельных вычислениях: управление одновременно двумя и более потоками данных требовало от пользователя умения постоянно переключаться между множеством банков памяти, и научить этому было очень сложно. Это ставило компании, работающие над методом параллельных вычислений, в невыгодное положение по сравнению с Intel.
Процессоры Intel использовали стандартный последовательный подход, выполняя вычисления по порядку, но их мощность росла экспоненциально, удваиваясь примерно каждые 18 месяцев в соответствии с прогнозом, сделанным в 1965 году Гордоном Муром, бывшим гендиректором Intel[7]. Этот прогноз многократно подтверждался и получил название «закон Мура». Если не брать в расчет такие высокоспециализированные области, как метеорология или физика высоких энергий, то одного мощного процессора (CPU) было вполне достаточно для удовлетворения нужд даже самых требовательных пользователей. «Если вам нужно было ускорить работу какой-либо программы, – объяснял мне специалист по параллельным вычислениям Билл Дэлли, – то у вас было два варианта. Первый – переписать миллион строк кода, чтобы перенести ее на компьютер с параллельными вычислениями, второй – просто подождать два года, пока CPU не станет вдвое быстрее».
Закон Мура в полной мере оправдывал себя на рынке периферийных устройств, на которых поначалу специализировалась Nvidia.
В 1993 году 3D-графический акселератор задумывался как одна из дополнительных карт наряду со звуковыми, сетевыми и картами для принтеров. Но к концу 1990-х Intel интегрировала звуковой чип и контроллеры подключения сети и принтера непосредственно в материнскую плату.
В итоге из всей экосистемы дискретными остались только 3D-графические карты. Их спасла ненасытность: они пожирали всю доступную вычислительную мощность и жаждали еще. Остальные мультимедийные функции ПК были ограничены в развитии: как только качество аудио достигло уровня компакт-дисков, дальнейшее его улучшение не требовалось. Но развитие 3D-графики не имело предела.
«В Intel недооценили перспективы графических компаний, – говорит Мозесманн. – Спрос на вычислительные мощности в этом сегменте был практически бесконечным». Ни один центральный процессор не смог бы угнаться за требованиями 3D-рендеринга – ни сейчас, ни когда-либо в будущем. «Вдвое быстрее» было недостаточно быстро.
Акселератор Riva TNT вышел в свет в июне 1998 года. Аббревиатура TNT расшифровывалась как twin texels (двойные тексели), что означало наличие двух пиксельных каналов рендеринга, контролируемых сложным механизмом переключения. Кармак был рад своему «стратокастеру», называя карту идеальной. Quake III он создавал специально под архитектуру с двойным потоком и многочисленным фанатам рекомендовал использовать для этой игры видеокарту Nvidia. Кармак видел, как сбывается пророчество Хуанга о том, что именно видеоигры предоставят Nvidia возможность одержать победу на рынке над рабочими станциями. «Производительность TNT во многих случаях была действительно лучше, чем компьютера за 10 000 долларов», – говорит он.
Это понял не только Кармак. Кирк, успешно переманивавший лучших сотрудников провалившихся стартапов, теперь подбирался и к специалистам Silicon Graphics. Одним из них был Дэн Виволи, бывший инженер, занявшийся маркетингом. Виволи использовал TNT для укрепления авторитета бренда Nvidia. Последовавшие советам Кармака покупатели были в восторге от продукции Nvidia, возведя ее чуть ли не в культ, что не могло не привлечь внимания Хуанга. Стопки книг


