Некоторые геймеры, в том числе Джонатан Вендел, уменьшали разрешение экрана, чтобы увеличить частоту кадров. Йен Бак пошел по другому пути: он стремился максимально увеличить картинку. Будучи аспирантом Стэнфордского университета по специальности «компьютерная графика», Бак понял, что, обладая некоторыми техническими навыками, можно задействовать кластер из нескольких графических процессоров Nvidia. В 2000 году он соединил 32 ускорителя GeForce, чтобы демонстрировать прохождение Quake III при помощи восьми проекторов. «Это была первая игровая установка с разрешением 8K, и она занимала всю стену, – вспоминал Бак. – Это было великолепно».
Погрузившись в принципы работы графических процессоров, Бак стал задумываться, можно ли использовать несколько GPU для иных задач, помимо швыряния виртуальных гранат в неприятелей. Если бы вы решили нарисовать 30 кадров Quake III в разрешении 8K вручную карандашами на бумаге, вам бы понадобилось около 16 000 лет непрерывного труда. А набор GeForce, использованный Баком, решал подобную задачу за секунду. При этом вся установка стоила около 20 000 долларов, что по меркам оборудования для высокопроизводительных вычислений было сущим пустяком. Решив поиграть в Quake на стене, Бак случайно придумал бюджетный суперкомпьютер.
Бак понял, что эта доступная высокая производительность может найти свое применение в науке и промышленности, однако программное обеспечение видеокарт Nvidia было рассчитано лишь на стандартные графические операции. Чтобы использовать массив графических процессоров для других целей, Баку предстояло найти способ обойти ограничения их программной модели. Изучив учебник Nvidia по шейдингу – тот самый, с феей Дон на обложке, – он стал одним из первых программистов, применивших шейдеры для универсальных вычислений. Парадоксально, но интерес к компьютерной графике он потерял. Как герой научно-фантастического фильма «Трон», попавший в киберпространство, Бак с головой погрузился во внутреннюю архитектуру графического процессора.
Йен обладал острым умом и энтузиазмом. Чем больше он изучал возможности своих видеокарт, тем сильнее увлекался этой работой. Подобно астроному, отставившему в сторону телескоп, чтобы ощутить необъятность Вселенной, Бак постоянно поражался тому, какое количество арифметических операций способен выполнить его компьютер: 60 гигафлопс (то есть 60 миллиардов операций в секунду) только на одной карте! Работая с графическими процессорами, он все больше испытывал благоговение перед этой мощью.
Йен Бак сумел получить грант от DARPA, исследовательского подразделения Минобороны США, и собрал для своего проекта команду инженеров. В 2003 году они представили новый язык программирования с открытым исходным кодом, названный Brook. Этот язык позволял решать сложные математические задачи – например, моделировать формирование галактики или взрыв ядерной бомбы – на оборудовании, изначально предназначенном для визуализации угонов автомобилей и выпускания кишок в видеоиграх. Графический вывод программы, написанной на Brook, представлял собой бессмысленную серию треугольников, но при их рендеринге GPU производил чрезвычайно сложные расчеты. «Чтобы взломать эти треугольники, нужно было очень хорошо разбираться в компьютерной графике», – говорит Бак.
Brook сделал параллельные вычисления доступными. Научное сообщество начало закупать видеокарты GeForce и объединять их в массивы, разрабатывая приложения для финансового моделирования, прогнозирования погоды, исследований в области физики высоких энергий и медицинской визуализации. Игровые видеокарты уже были не только видеокартами – они превратились в инструменты для научной работы. Появление этого нового рынка не прошло незамеченным для Дженсена Хуанга. «Я опубликовал кучу статей, и многие заинтересовались моими исследованиями, – вспоминает Бак. – А где-то в 2004 году Дженсен предложил мне прийти в Nvidia и заняться этим всерьез».
История Бака похожа на истории многих талантливых людей, оказавшихся в Nvidia. В 2005 году Silicon Graphics, не сумевшая конкурировать с линейкой Quadro, была исключена из списка Нью-Йоркской фондовой биржи, а ее штаб-квартира стала частью Googleplex. Как и в случае с 3dfx, многие сотрудники SGI приняли предложение Хуанга о работе, так что штат компании увеличился до 2000 человек. Из них 1200, то есть 60%, занимались исследованиями и разработками. Со стороны компания все еще выглядела слегка эксцентричным производителем игрового оборудования, но на самом деле она потихоньку превращалась в научную лабораторию.
Билл Дэлли, заведующий кафедрой информатики Стэнфордского университета и убежденный пропагандист параллельных вычислений, с воодушевлением наблюдал за растущей производительностью чипов Nvidia в области математических вычислений. Он полагал, что они могут стать основой для принципиально нового типа компьютеров. Дэлли опубликовал несколько статей, в которых восхвалял инновации компании, а в 2003 году Дженсен Хуанг лично пришел в его университетский офис, чтобы предложить работу консультанта. Многие годы Дэлли убеждал скептически настроенных топ-менеджеров в ценности параллельных вычислений, а Хуанг пришел к нему сам. «Он обладает глубокими техническими знаниями и всегда задает правильные вопросы, – говорит Дэлли. – Иногда он даже опережает тебя, и это в теме, где ты считаешься экспертом».
Однако Дэлли все же не до конца доверял Хуангу. Он слышал о его эмоциональной неустойчивости и о жестком рабочем графике в Nvidia. Вероятно, предвидя его колебания, Хуанг принес на встречу уже подписанный чек. И Дэлли, один из ведущих мировых ученых в своей области, все-таки согласился.
Йен Бак, Билл Дэлли и десятки других талантливых инженеров были привлечены для участия в секретном проекте Nvidia под названием Compute Unified Domain Architecture, или CUDA (название намеренно выбирали непонятное «вычисление унифицированной доменной архитектуры»). Идея CUDA заключалась в том, чтобы использовать параллельные вычислительные схемы, разработанные для видеоигр, в научных целях. Больше не требовалось взламывать треугольники ради драгоценных гигафлопсов – архитектура была открыта для любого пользователя. «Фактически CUDA можно представить как карту для видеоигр, оснащенную дополнительным переключателем, – объясняет Дуайт Диркс. – Вы щелкаете им, и видеокарта превращается в суперкомпьютер».
CUDA придумал Джон Николлс, инженер Nvidia, который ранее был одним из основателей прогоревшего стартапа, занимавшегося параллельными вычислениями. Николлс увлекался горнолыжным спортом и сборкой моделей поездов, а его офис украшали изображения микросхем в рамках. Он был одержим идеей сделать компьютеры быстрее, а в своей компании MasPar он пытался внедрить рабочий график 9–9–6, как в TSMC, где сотрудники работали с девяти утра до девяти вечера шесть дней в неделю. Даже после краха компании Николлс остался верен своим идеям, считая, что в конечном итоге они получат развитие, так как на его стороне законы физики.
Долгие годы миниатюризация электроники происходила в соответствии с «законом масштабирования Деннарда». По этой концепции транзисторы должны были продолжать эффективно работать по мере уменьшения размеров – именно благодаря этому компьютеры каждый год становились быстрее[12]. Однако Николлс подсчитал, что около 2005 года это правило перестанет работать. Пришлось бы создавать транзисторы размером в сотню атомов, что примерно в 6000 раз тоньше человеческого волоса и в 700 раз меньше эритроцита. На таком уровне миниатюризации проводимость транзисторов ухудшится и появится утечка тока из них, в результате чего скорость работы компьютеров снизится.
Николлс видел, что индустрия игнорирует эту проблему, особенно Intel, уверенная в линейном улучшении параметров транзисторов при уменьшении их размеров вплоть до атомов. Он полагал, что это невозможно, и в начале 2003 года по собственной инициативе написал Хуангу письмо, излагая свои «еретические» взгляды. В письме он точно и объективно, исходя из законов физики, объяснил, почему доминирование Intel с ее подходом близится к концу. «Мы все видели приближение этого момента, но именно Николлс убедил меня, что действие закона Мура закончилось, – говорит Хуанг. – В том, что Nvidia стала такой, какая она есть, в большой степени его заслуга».
Хуанг предложил Николлсу работу и назначил руководителем пилотного проекта по разработке научных приложений для GeForce. Даже среди сотрудников Nvidia Джон выделялся упорством и силой характера. Через две недели после начала работы у него обнаружили меланому, однако он продолжал трудиться по 70 часов в неделю, параллельно проходя лечение и не показывая ни семье, ни коллегам, насколько ему тяжело. Вскоре меланома Николлса перешла в стадию ремиссии, а первые версии платформы CUDA начали работать.
Николлс совершенно не интересовался видеоиграми и вообще компьютерной графикой, его заботила только вычислительная мощность устройств. Однако в остальном он был типичным сотрудником Nvidia. «Мой отец частенько повышал голос, – рассказывает его сын Алек. – Я часто слышал, как во время телефонных совещаний он кричит на людей. Но это не казалось чем-то плохим, скорее он просто хотел быть уверен, что люди понимают, что делают, и будут работать продуктивно».
В личной жизни Николлс был столь же жестким, как и на работе. Он хитростью затаскивал сына на самые сложные горнолыжные трассы, а в клубе железнодорожного моделирования больше интересовался устройством путей, чем общением. Когда Алек был бойскаутом, ему никак не удавалось пройти классическое испытание на выживание, которое заключалось в том, чтобы сделать спасательное средство на воде из собственных штанов. Николлс загнал сына в бассейн и не выпускал оттуда, пока тому не удалось наполнить брюки воздухом.
Николлс был одержим задачей заставить платформу CUDA работать. Друзья иногда удивлялись тому, что он работает в компании, связанной с видеоиграми, хотя сам ими не интересуется. Николлс отвечал, что занимается не играми: он работает над одной из самых значимых технологий всех времен. Он стремился создать платформу столь быструю, чтобы в сравнении с ней другие компьютеры выглядели калькуляторами. «Немногие изобретения так повлияли на мир, как повлияет CUDA», – утверждал он.
Конечно, это скорее отражало его веру в свою работу, чем реальное положение дел. К концу 2000-х годов компьютеры достигли скорости, достаточной для большинства потребительских нужд, и очевидного спроса на то, что создавал Николлс, пока не было. Объединить CUDA с обычной видеокартой было все равно что поставить на минивэн реактивный двигатель и попытаться продать его обычному жителю пригорода. Но Николлса это не смущало. Он хотел не просто обойти закон Мура, а развенчать его навсегда.
Для этого Николлсу нужно было увеличить вычислительную мощность микросхем. Частоты, на которых они работали, словно подчинялись некоему ускоряющемуся с каждым годом метроному. К середине 2000-х этот метроном выдавал сотни миллионов тактов (герц) в секунду, а возможности электрических соединений в устройствах уже не соответствовали таким скоростям. Параллельные вычисления решали проблему не за счет увеличения скорости каждого транзистора, а благодаря росту их количества. В процессорах Intel одновременно работало ограниченное количество транзисторов, в графических процессорах Nvidia их были тысячи.
Nvidia было сложно найти пользователей, которым понадобилась бы такая мощность. «Поначалу нашими единственными клиентами были двое исследователей рака груди», – вспоминает Диркс. Эти ученые, работавшие в Массачусетской больнице общего профиля, предложили Nvidia улучшить их маммографические сканеры. Хуанг доверил больнице провести альфа-тестирование CUDA, вложив несколько миллионов долларов в пилотный проект, который в итоге привел к продаже всего лишь двух графических карт. «Это было вполне в духе Дженсена», – замечает Диркс.
Маммографическая визуализация стала первым примером того, что Хуанг позже назвал «потенциальный рынок с оборотом в миллиарды долларов». Он давно стремился найти способ выделить Nvidia на фоне конкурентов. Инновации в аппаратном обеспечении не могли решить эту задачу, так как они легко копировались. В сети фанаты электроники обменивались своим опытом изучения микросхем Nvidia: они растворяли корпус чипа в серной кислоте и затем сканировали его под специальным микроскопом. Параллельно с энтузиастами микросхемы пытались копировать многочисленные профессиональные лаборатории, занимающиеся промышленным шпионажем. Теоретически технологии изготовления и схемотехника микросхем защищены патентами, но опыт 3dfx продемонстрировал бесполезность судебных разбирательств. «Все изучают, как работают аппаратные решения конкурентов, – говорит Диркс. – Это ни для кого не секрет».
Чтобы выделиться на общем фоне, Nvidia нужно было следовать стратегии, которая настолько противоречила общепринятой практике, что, к примеру, та же ATI ни за что не стала бы этим заниматься. Нужно было создать экспериментальный продукт, что-то вроде суперкомпьютера начального уровня стоимостью примерно 300 долларов, у которого тогда не было не только конкурентов, но и явных покупателей. «Потенциальный миллиардный рынок» по определению должен был стать таковым: на нем пока не только не было других участников, о нем даже никто не знал. Хуанг намеревался построить бейсбольный стадион посреди кукурузного поля и ждать, когда на него придут игроки.
При параллельных вычислениях масштабная задача разбивается на множество мелких, которые выполняются одновременно. Чтобы детально объяснить этот сложный процесс, потребуется написать целый учебник, но кое-что можно объяснить на пальцах. Представьте электронную схему размером с танцпол. На нем толпа людей размахивает светящимися палочками (это как бы символизирует транзисторы). Мигают огни, гремит музыка, но большинство танцоров стоит на месте: они могут двигаться только тогда, когда наступает их очередь[13]. Кто-то вступает на первый удар первого такта, кто-то на четвертый удар второго такта и так далее. Мы видим, как палочки вспыхивают то там, то здесь, но большинство просто находится в режиме ожидания.
Руководящий их последовательным движением диджей пытается расшевелить толпу, ускоряя ритм, но успех такого подхода ограничен. В этот момент на сцену выходит другой диджей, управляющий выполняемыми параллельно действиями. Вместо того чтобы ускорять ритм, он придумывает значительно более сложные движения для танцоров, которые можно выполнять группами. И это работает: активность танцоров резко увеличивается, пол начинает дрожать, в помещении становится жарко (некоторые танцоры настолько активны, что могут перегреться). Теперь тысячи светящихся палочек качаются в такт.
Переосмысление работы микросхем таким образом было кардинальным решением. Сложность параллельных вычислений состоит в необходимости координации подобной «хореографии», которая требует от программистов абсолютно нового подхода. Относительно просто составить инструкцию для процессора Intel, который работает как фургон, развозящий посылки по одной. Да, это медленно, зато не требует от программиста больших ухищрений. Нужно доставить посылку? Просто киньте ее в фургон!
Графический процессор Nvidia, работающий по принципу параллельных вычислений, больше напоминал армию мотоциклистов, разъезжающих по городу. Все курьеры доставляют посылки примерно одновременно, и весь процесс может занять не более получаса, однако управлять им сложнее: требуется больше водителей, автомобилей, нужна продуманная логистика. Необходимо выдать каждому мотоциклисту правильную посылку и указать правильный путь.
На протяжении десятилетий программисты отдавали предпочтение фургону, но, как и предсказывал Николлс, вскоре фургону предстояло застрять в пробке законов физики. Николлс считал, что, как только это произойдет, всем придется перейти к управлению армией мотоциклистов. Просто не останется выбора.
Тем не менее Nvidia ориентировалась не на программистов как таковых; они были лишь посредниками. Настоящими клиентами должны были стать врачи, астрономы, геологи и другие ученые – специалисты в различных областях, которые, возможно, вовсе не умели программировать. Именно они будут тратить деньги на CUDA, и им нужно было более простое объяснение.
Объяснить ученым различие между последовательными и параллельными вычислениями было проще всего, сравнив выполняющий последовательные операции процессор Intel с кухонным ножом из нержавеющей стали. Этот нож – великолепный многоцелевой инструмент, с помощью которого можно нарезать что угодно как угодно: соломкой, кубиками, ломтиками, крошить или рубить. Немного умения, и с его помощью повар приготовит целый обед. Но ножом можно резать только один продукт за раз.
В свою очередь графический процессор Nvidia, выполняющий параллельные операции, можно сравнить с кухонным комбайном. Это профессиональное устройство, шумное, большое и мощное. Он неспособен нарезать хрен тонкой стружкой или сделать надрезы в виде решетки на филе кальмара. Однако когда необходимо быстро нарезать одновременно большое количество овощей, такой комбайн – то, что нужно.
Невозможно приготовить все блюдо с помощью одного лишь комбайна, не применяя кухонный нож. И компьютер не может работать, используя только графический процессор. Это слишком специализированное устройство для конкретных задач; в любом случае для работы необходим и центральный процессор. В этом контексте последний всегда является основным инструментом, а GPU – мощным дополнением с узким функционалом. Поэтому, как и многие современные кухонные инструменты, его тоже поначалу воспринимали с долей скепсиса. Однако представьте, что шеф-повар приходит на работу и обнаруживает, что для банкета крупной международной организации нужно срочно нарезать грузовик свежих овощей. У него нет времени аккуратно их нарезать, ему нужно срочно измельчить сотни килограммов продуктов. В такой ситуации кухонный комбайн будет весьма полезен. Фактически для такой задачи хорошо бы использовать множество комбайнов, работающих одновременно.
В этой аналогии грузовик с овощами обозначает большие массивы данных. К середине 2000-х годов ученые накопили такие объемы данных, которые многократно превышали все, что до этого собиралось веками. Это были данные по астрономии, геологии, медицине, правительственные и финансовые записи, а также неуклонно растущий объем информации, закачиваемой пользователями в интернет.
Ученый прошлых веков был бы счастлив, получив ящик овощей на несколько недель. К середине 2000-х годов ему пришлось бы ежедневно разбирать нескольких грузовых контейнеров. «Кухонные ножи» от Intel просто не справлялись с этой задачей: требовалась машина с мощным вращающимся лезвием. Конечно, нарезка не всегда получалась идеальной – ну и что? Все равно вскоре прибудет еще один грузовик. Графический процессор стал кухонным комбайном для обработки данных. Это было устройство, которое превращало массивы информации в грубо нарезанные кубики.
Под руководством Николлса команда Nvidia начала компоновать свои микросхемы в «ядра CUDA» – массивы, способные одновременно выполнять одну и ту же команду для нескольких групп данных. Арджун Прабху, директор Nvidia по аппаратным решениям, сравнивал проектирование нового процессора с градостроительством, когда зоны застройки должны выполнять разные функции. Иногда транзисторы даже снились Прабху, как падающие блоки игрокам в «Тетрис». «Самые лучшие идеи возникают у меня в пятницу перед сном – они буквально снятся мне», – признавался Прабху.
Решение выпускать карты двойного назначения вызвало в Nvidia споры, поскольку это увеличивало себестоимость видеокарт GeForce по сравнению с устройствами Radeon (в компании это увеличение расходов стали называть «налог CUDA»). Хуанг сделал ставку на то, что геймеры, завороженные графикой Half-Life 2, не придадут значения своему фактическому участию в рискованных и, возможно, бесполезных исследованиях в области высокопроизводительных вычислений. «Многие из решений, примененных в ядрах CUDA, давно использовались в суперкомпьютерах и специализированных процессорах, но они были слишком дорогими для рынков, которые обслуживали, – говорит Бретт Кун, один из первых инженеров CUDA. – На мой взгляд, "дар" CUDA заключался в том, что она позволила нам переложить на геймеров расходы на разработку».
На микросхемах, созданных Прабху, должны были работать несколько уровней программного обеспечения. Первым слоем был машинный код, превращающий сложные математические формулы в простую арифметику. Над этим в основном работал Йен Бак. Это был «подвал» вычислений, работа на базовом уровне кода, где команды передавались непосредственно устройству. Многие программисты считали эту работу утомительной и скучной, но Бак обожал ее – впоследствии он получил ряд патентов на методы программирования на уровне ассемблера. «Это то место, где резина встречается с дорогой», – говорит он.
Бак нанял команду специалистов по вычислениям, многие из которых окончили Московский государственный университет. «Куча Петров и Борисов», – шутил он. Вместе с русскими специалистами он трансформировал любимые учеными сложные математические структуры – дифференциальные уравнения, многомерные матрицы и т. п. – в простейшие уравнения, использующие только сложение, вычитание, умножение и деление. Параллельное выполнение этих базовых операций на множестве наборов данных требовало исключительной способности чипа к комплексным операциям. «Люди привыкли мыслить линейно, – поясняет Бак. – Вы можете объяснить человеку, как попасть в Starbucks, описывая путь шаг за шагом, но вряд ли вы будете объяснять, как добраться до любого Starbucks из любого места. Мыслить параллельно мы просто не привыкли».
Над первым слоем находился компилятор, который переводил языки программирования, например C++ и Python, в машинный код. Бас Аартс, голландский разработчик и автор первого компилятора CUDA, был предан своему делу не меньше Бака. Он неделями существовал в мире собственных идей, забывая о друзьях, личной жизни и хобби и пытаясь представить, как компьютер воспринимает информацию. «Некоторые люди считают меня ограниченным, – говорит он, – но все это так красиво! И так сложно! Так что для меня это вызов, а без вызова мне скучно».
Бизнес-стратегия для CUDA была рассчитана на долгосрочную перспективу. Хуанг убеждал Николлса приманивать потребителей из среды ученых и ни за что их не отпускать. Прирост производительности от CUDA обещал быть настолько впечатляющим, что пользователи сами должны были создавать новые академические дисциплины, использующие эту платформу. «У них должно отпасть желание перейти на что-то другое, – говорит Аартс. – Это как привязка к поставщику».
Так Nvidia создала то, что разработчики программного обеспечения окрестили «комплекс CUDA». В нижнем «этаже» располагались электрические схемы, над ними – машинный код для управления электронами, еще выше – компилятор, который преобразовывал машинный язык в человеческий, и на самом верху – программный интерфейс, доступный пользователю.
CUDA была представлена широкой публике в конце 2006 года. Программный пакет предоставлялся бесплатно, но работал только на оборудовании Nvidia. За 2007 год его скачали всего 13 000 раз. Меньше сотой процента из сотен миллионов владельцев GeForce решились сделать суперкомпьютер на базе своей игровой платы. Скептически настроенные инвесторы задавались вопросом, нужна ли кому-то вообще эта технология. «Уолл-стрит не просто не увидела ценности в CUDA; она считала, что платформа способна принести только убытки», – говорит сотрудник компании, хорошо знакомый с ситуацией.
Для многих программистов CUDA оказалась слишком сложной. Чтобы использовать всю мощность графического процессора, требовалось разбить большие задачи на сотни маленьких подзадач, называемых потоками. Затем эти потоки нужно было очень аккуратно направлять в ядра CUDA. Это был весьма непростой процесс со множеством скрытых ловушек. Разработчикам приходилось управлять одновременно несколькими банками данных, избегая путаницы, а также учитывать рассогласование во времени, которое могло привести к ошибкам. Обучение принципам параллельных вычислений оказалось сложным и требовало глубоких знаний в области информатики. Ученые из других сфер, таких как физика или медицина, обычно не обладали навыками программирования, необходимыми для работы с CUDA.
Стремясь повторить успех использования шейдеров, Кирк решил продвигать технологию с помощью учебника. Вместе со специалистом по информатике Вэнь Мэй Ху он написал книгу «Программирование массивов параллельных процессоров». Во введении авторы отметили, что архитектура компьютеров не менялась с тех пор, как в 1945 году венгерский гений Джон фон Нейман сформулировал ее основные принципы. «Пользователи компьютеров привыкли к тому, что программы работают быстрее с каждым новым поколением микропроцессоров, – писали они, – но сегодня оснований для подобных ожиданий уже нет». Лишь немногие преподаватели включили это пособие в свои курсы. Подвергать сомнению авторитет фон Неймана в кибернетике было равнозначно богохульству в религии.
На промышленном рынке Nvidia стремилась привлечь самых разных клиентов – от биржевых трейдеров до нефтегазовых компаний и молекулярных биологов. В какой-то момент компания даже заключила соглашение с General Mills о создании симуляции термической обработки замороженной пиццы Totino's. Однако большинство подобных сделок заглохло в течение полугода; для приготовления пиццы такие вычислительные мощности были не нужны.
Высокие расходы на научно-исследовательские и опытно-конструкторские работы в рамках проекта CUDA легли большим финансовым бременем на Nvidia, но дело было не только в прямых затратах. В компании начались внутренние разногласия: Николлсу приходилось с боем выбивать ресурсы для своего проекта. «Гораздо проще было объяснить разработчикам, зачем нужно улучшать производительность в играх, чем в задачах вроде умножения матриц или быстрых преобразований Фурье», – вспоминает Кун. Тем временем кодовая база усложнялась: программный пакет GeForce вскоре перешагнул отметку 100 миллионов строк, превзойдя по сложности некоторые версии Windows.
Вероятно, хуже всего было то, что CUDA отвлекала внимание Хуанга от ключевых клиентов. Первые слухи о производственных проблемах в Nvidia появились в конце 2006 года: геймеры жаловались, что графические процессоры в ноутбуках выходили из строя после нескольких недель использования. К тому времени, как в компании признали наличие проблемы, на игровых форумах уже распространилась конспирологическая теория о том, что Nvidia неправильно распаяла чипы на платах. Так начался «Бампгейт»[14]: геймеры уходили к конкурентам, и акции Nvidia вновь рухнули, во второй раз за шесть лет потеряв почти 90% своей стоимости. Члены совета директоров, изучавшие график изменения цены акций на терминале Bloomberg, сравнивали его с ЭКГ при сердечном приступе.
Сторонники Radeon не преминули воспользоваться ситуацией, обвиняя Хуанга в утаивании информации. «Мы давно говорили, что Nvidia идет ко дну», – прокомментировал один из них. В начале 2009 года Dell отказалась от услуг Nvidia в качестве поставщика видеочипов для игровых ноутбуков. «Мы долго ждали, когда же ничем не обоснованная глупость Nvidia обернется потерями, – язвительно отмечал один из обозревателей. – Теперь, по крайней мере в Dell, все точно знают, что этот момент настал».
Хуанг, стремясь смягчить последствия «Бампгейта», выделил 200 миллионов долларов на компенсации клиентам. Эта сумма свела на нет годовую прибыль Nvidia, и впервые с момента выхода на биржу компания понесла убытки. Хуанг организовал пресс-конференцию, чтобы объяснить ситуацию. Он появился в очках, черных джинсах и свободной серой футболке, которая подчеркивала его отличную физическую форму – результат многолетних занятий спортом. «Я просто не хочу, чтобы наши потребители страдали из-за нас, – спокойно объяснял он. – Конкуренты, конечно, стараются раздуть эту ситуацию, но на самом деле все не так страшно». Лишь те, кто хорошо знал Дженсена, могли почувствовать, какой гнев он прятал за своей размеренной речью.
Nvidia регулярно проводила выездные стратегические сессии. Пытаясь сэкономить после «Бампгейта», встречу 2008 года перенесли в корпоративную столовую. «Никогда я не слышал, чтобы он кричал так громко», – рассказывает Самир Халепете, один из ведущих инженеров компании. На этот раз объектом гнева Дженсена стал талантливый и преданный разработчик микросхем, проработавший в компании много лет. Он стоял в одном углу столовой, а Хуанг в противоположном. Вдоль стен выстроились около 150 топ-менеджеров, молча наблюдавших за этой мучительной сценой. «Я до сих пор помню, как Дженсен отчитывал его в течение добрых полутора часов, – вспоминает Халепете. – А то и двух; он был абсолютно взбешен».
Тем не менее инженер сохранил свое место. «Дженсен редко прибегает к радикальным мерам, – продолжает Халепете. – Он не хочет, чтобы люди боялись рисковать и внедрять инновации, поэтому обычно прощает даже весьма серьезные ошибки». Халепете высказывает предположение, что вспышки ярости Дженсен использует вместо увольнения: «Он обрушит на вас свой гнев, накричит, может даже унизить, но никогда не уволит», – добавляет он.
Чтобы исправить ситуацию, Хуанг обратился к Деборе Шоквист, которая управляла глобальной сетью поставщиков Nvidia. Географически границы ее ответственности простирались от Гвадалахары до Ханоя и Бангалора. Шоквист отвечала за своевременную поставку всех необходимых компонентов в нужном количестве. Порой ее работа требовала проводить жесткие телефонные переговоры, и бойкая, экспрессивная Шоквист всегда была готова к конфронтации. В 2007 году, вскоре после ее прихода в Nvidia, Хуанг поручил ей договориться о сокращении времени поставок от тайваньского производителя корпусов чипов, работавшего в связке с TSMC. Шоквист посчитала это невозможным. Тайваньские партнеры и так работали на пределе, и она не думала, что процесс можно еще как-то ускорить. Она начала спорить с Хуангом и в конце концов заявила: «Вы не понимаете, как это работает».
Все это происходило за большим столом, за которым сидели топ-менеджеры с открытыми ноутбуками. Как только Шоквист сказала Хуангу, что он не понимает ситуацию, ее почтовый ящик заполнился сообщениями от коллег. «Остановись! – писали ей. – Не надо! Не продолжай, попробуй его послушать». Но было уже поздно. Хуанг обрушился на Шоквист, обвиняя ее в том, что она не знает своей работы. «Я думал, что ты специалист по операционному менеджменту, но это не так! – кричал он. – Ты не разбираешься в нем!» Шоквист тоже вышла из себя. Она занималась этой работой двадцать лет, и ее возмущало, что кто-то упрекает ее в непрофессионализме. Стремясь доказать свою правоту, Шоквист заявила Хуангу, что полетит на Тайвань и лично изучит работу поставщика корпусов.
Поставщик был очень рад ее визиту: клиенты не часто посещали предприятие, занимающееся производством корпусов чипов, и визит представителя Nvidia был событием. На протяжении недели Шоквист изучала, как здесь организована работа. Время от получения заказа до его выполнения оказалось равно трем неделям, но при этом Шоквист с удивлением обнаружила, что чистое время, необходимое для того, чтобы поместить партию микрочипов Nvidia в черные корпуса, составляло всего 36 часов. Поставщик объяснил, что теоретически можно сократить время выполнения всей работы до этого срока, но это увеличит стоимость работы с каждым чипом с 8 долларов до 1000. Хуанг оказался прав: возможность ускорить процесс существовала. Это было дорого, но реально.
Признав поражение, Шоквист вернулась в Nvidia с расчетами затрат, необходимых для ускорения работы над корпусами. Она дождалась момента, когда останется с Хуангом наедине, чтобы показать ему свои вычисления. («Я не хотела привлекать внимание к этому разговору», – признается она.) Дебора ожидала очередной вспышки гнева и была удивлена, когда ее не последовало. Хуанг просто сказал: «Вот это правильный ответ». Впоследствии Шоквист проделала аналогичные расчеты для всех поставщиков, участвовавших в производственной цепочке Nvidia. Затем она приступила к сокращению времени поставок, уменьшив производственный цикл Nvidia с нескольких месяцев до недель, и в конце концов установила рекорд – 13 дней.
Призывая Шоквист ускорить процесс, Хуанг использовал методику планирования, которую сам называл «скорость света». С энтузиазмом религиозного проповедника он стремился внушить эту управленческую концепцию всем сотрудникам, и почти все работники Nvidia, с которыми мне довелось беседовать, упоминали эту «скорость света». Однако она отнюдь не предполагала, как можно было бы подумать, мгновенных действий. Хуанг рекомендовал менеджерам определить максимально возможную скорость выполнения задачи без учета ограничений бюджета и прочих замедляющих работу факторов (например, «скорость света» для путешествия из Нью-Йорка в Лондон могла бы означать движение при наличии идеальной погоды, свободных дорог и сверхзвукового самолета). Затем менеджеры могли от этого недостижимого идеала двигаться назад, рассчитывая реалистичные, но все равно впечатляющие сроки выполнения работы. «Звучит сложно, но на самом деле освобождает от психологического давления, – объясняет Шоквист. – Как только ты осознаешь физические пределы возможного, становится понятно, что конкуренты тоже не смогут справиться быстрее».
Хуанг стремился к идеалу каждый день своей жизни. «Я должен быть настолько измотан работой, что буду крепко спать ночью, несмотря на любые помехи, – говорил он позже. – Это, пожалуй, единственное, что я могу контролировать». Ему удавалось поддерживать такой темп на протяжении десятилетий, но другие рядом с ним выгорали. Устав от ежедневных поездок в офис, Дэвид Кирк в 2007 году решил, что больше не хочет работать в режиме полной занятости. Продав часть акций, которые Хуанг выдал ему еще в 1990-х, он переехал в Теллурайд, штат Колорадо, а позже на Гавайи, и продолжал сотрудничать с Nvidia в качестве консультанта так же, как и начинал, – в режиме неполного рабочего дня.
На момент своего ухода Кирк возглавлял Nvidia Research – группу из 30 ученых, работавших над передовыми графическими технологиями. Но Хуанг посчитал, что для работы над растущей мощностью CUDA нужен некто более амбициозный, и поручил Кирку найти себе замену. Человек, которого предложил Кирк, жил «со скоростью света» и вскоре превратил Nvidia Research в самый успешный корпоративный отдел исследований и разработок в мире.