Intel Larrabee

**Intel Larrabee**  — былинный, эпичный и, разумеется, былинно провальный проект™ корпорации Intel по созданию вундерваффе, которое должно было одним махом вернуть Голубому Гиганту доминирование на рынке дискретной графики, заодно откусив жирный кусок у зелёных и красных в сфере высокопроизводительных вычислений. Представлял собой попытку скрестить ежа с ужом, а именно — процессор общего назначения с графическим ускорителем, используя для этого магию x86-архитектуры. В результате получился не столько Франкенштейн, сколько гомункул, которого сначала долго и с помпой вынашивали, а потом тихо и стыдливо утопили в формалине, явив миру под вывеской Xeon Phi.

## Зачатие в пробирке

В середине нулевых, когда трава была зеленее, а Intel безраздельно царствовал на процессорном Олимпе, не давая AMD продохнуть, в головах синих стратегов зародилась крамольная, но гениальная в своей наглости мысль. Рынок дискретных видеокарт, плотно поделенный между вечно бодающимися Nvidia и ATI (ещё не купленной AMD), выглядел уж больно аппетитно. Интеловские встроенные решения, вроде GMA, годились разве что для показа рабочего стола, созерцания пиксельных пасьянсов и отрисовки Кваки в полноцвете (хоть и получше Tomb Raider на S3 ViRGE, господа!), вызывая у любого уважающего себя геймера лишь гомерический хохот и праведный гнев. Попытки влезть в  *высшую лигу*  у Intel уже были, например, былинный провал i740, после которого компания, казалось, зареклась соваться в дискретную графику. Но амбиции и жажда тотального доминирования взяли своё.

Идея была не в том, чтобы просто сделать  *ещё одну видеокарту* , которая будет чуть быстрее или чуть дешевле конкурентов. Нет, Intel замахнулась на самое святое — на саму парадигму построения GPU. Вместо того чтобы городить огород из узкоспециализированных блоков для растеризации, шейдеров, и прочей графической магии, как это делали Nvidia и ATI, было решено пойти путём истинных джедаев x86. Концепция Larrabee, анонсированная с большой помпой на SIGGRAPH в 2008 году, заключалась в создании  *многоядерного*  (many-core) процессора, состоящего из десятков (в перспективе — сотен) упрощённых, но вполне себе полноценных x86-ядер.

> *Мы дадим разработчикам чистый холст, на котором они смогут творить, как никогда прежде.* 
> — Маркетинговый буллшит Intel того времени

За основу для этих ядер был взят не какой-нибудь новомодный Core 2 Duo, а старый, добрый и простой как валенок Pentium первого поколения (конкретнее, ядро P54C). Конечно, его основательно допилили, прикрутив 64-битные расширения, многопоточность (до четырёх потоков на ядро) и, что самое главное, — широченный 512-битный векторный блок (VPU). Именно этот VPU и должен был стать тем самым  *секретным ингредиентом* , который позволит куче мелких  *пентиумов*  ворочать графонием не хуже, а то и лучше, чем специализированные монстры от конкурентов. Связываться вся эта орава ядер должна была через высокоскоростную кольцевую шину (1024-битную, по 512 в каждом направлении).

Философия Larrabee была проста и соблазнительна:  *всё в софте* . Задачи, для которых у обычных GPU были намертво впаянные в кремний блоки (z-буферизация, отсечение, блендинг), здесь предполагалось выполнять программно, на этих самых x86-ядрах. Это сулило невиданную гибкость. Можно было на лету менять рендеринговый пайплайн, реализовывать любые, самые экзотические алгоритмы, и вообще, творить дичь. Разработчикам обещали рай на земле: больше не нужно было ковыряться со специфическими шейдерными языками, всё можно было писать на привычном C++, используя стандартные инструменты. Программируемость должна была стать альфой и омегой Larrabee.

## Беременность слона

Слухи о проекте, тогда ещё под кодовым названием SMAC, поползли в 2005-м, а официальные намёки начались в 2007-м. Intel развернула мощнейшую пиар-кампанию. На всех конференциях и форумах разработчиков (IDF, SIGGRAPH) представители компании с горящими глазами рассказывали о грядущей революции. Особый упор делался на трассировку лучей в реальном времени — священный Грааль компьютерной графики. В то время как Nvidia и AMD только-только осваивали унифицированную шейдерную архитектуру, Intel уже показывала демки Enemy Territory: Quake Wars с фотореалистичными отражениями в воде, полностью обсчитанными методом рейтрейсинга на прототипе Larrabee.

> *Если вы посмотрите на воду... это сделано всего лишь десятью строчками... кода.* 
> — Билл Марк, старший научный сотрудник Intel, на демонстрации в 2009 году

Демка, конечно, выглядела впечатляюще. Водичка блестела, отражала пролетающие кораблики, и всё это, как утверждалось, работало в реальном времени. Публика ахала, конкуренты нервно курили в сторонке и делали хорошую мину при плохой игре. Один из сотрудников Nvidia тогда назвал презентацию Intel  *маркетинговой пылью*  и процитировал аналитика, сравнившего архитектуру Larrabee с GPU 2006 года. Но хайп-трейн уже было не остановить. Intel обещала выпустить потребительскую видеокарту на базе Larrabee в 2010 году. Игровое сообщество замерло в ожидании третьего игрока, который придёт и всех рассудит.

За кулисами, однако, всё было далеко не так радужно. Разработка шла со скрипом. Концепция  *всё в софте*  натолкнулась на суровую реальность: написать эффективный программный растеризатор, который бы не уступал специализированному железу, оказалось задачей титанической сложности. Драйверы были сырыми и глючными. Производительность в реальных играх, использующих традиционный растеризационный конвейер DirectX и OpenGL, оставляла желать лучшего. Инженеры Intel, во главе с такими светилами как Том Форсайт, трудились не покладая рук, но время уходило.

Проблема была в том, что Larrabee пытался усидеть на двух стульях. С одной стороны, это был GPGPU-ускоритель, идеально подходящий для параллельных вычислений и новомодных штук вроде трассировки лучей в реальном времени. С другой — его пытались заставить эффективно работать с легаси-кодом, написанным и заточенным под совершенно другую архитектуру. И если в синтетических тестах и специально написанных демках Larrabee мог показывать чудеса, то в обычном Crysis он сливал тогдашним топам от Nvidia и ATI. А геймерам, как известно, нужны не красивые демки, а высокий FPS.

## Выкидыш

К концу 2009 года стало очевидно, что слон не родится в срок. Задержки в разработке как железа, так и софта, становились критическими. А конкуренты не дремали: ATI выпустила свою сверх-успешную линейку Radeon HD 5000 с поддержкой DirectX 11, а Nvidia готовила к выходу своих  *фермиевых*  монстров. На фоне этого первые тесты Larrabee выглядели, мягко говоря, неубедительно. По слухам, производительность прототипов едва дотягивала до уровня GeForce GTX 285, который на тот момент уже считался решением прошлого поколения.

4 декабря 2009 года Intel была вынуждена сделать официальное заявление: Larrabee не выйдет на потребительский рынок в качестве игровой видеокарты. Вместо этого, проект переориентировали на рынок высокопроизводительных вычислений (HPC), где он должен был стать  *платформой для разработчиков* . Это был эвфемизм, означавший полный и безоговорочный провал первоначальной затеи. В мае 2010 года было объявлено об окончательном прекращении проекта по созданию дискретной GPU на базе Larrabee.

Причины провала были комплексными. Во-первых, банально не успели. Рынок GPU развивался стремительно, и к моменту гипотетического релиза Larrabee был бы уже неконкурентоспособен. Во-вторых,  *производительность на ватт*  оказалась ниже плинтуса. Пытаться эмулировать в софте то, что у конкурентов делало специализированное железо, оказалось крайне энергозатратно. В-третьих, сказалась излишняя самоуверенность Intel. Они верили, что магия x86 и программная гибкость сами по себе обеспечат победу. Но оказалось, что десятилетия эволюции специализированных GPU нельзя просто так выкинуть на свалку истории.

> *Я просто думаю, что непрактично пытаться реализовать все функции программно, учитывая всю сложность программного обеспечения. И мы столкнулись с проблемой производительности на ватт, пытаясь это сделать.* 
> — Томас Пьяцца, старший научный сотрудник Intel

Так закончилась эта амбициозная сага. Мечта о  *третьей силе*  на рынке игровых видеокарт рассыпалась в прах. Геймеры вздохнули и продолжили выбирать между красным и зелёным. А Intel... Intel не была бы собой, если бы просто так похоронила многомиллиардный проект.

## Реинкарнация в зомби: Xeon Phi

Пепел Larrabee недолго оставался холодным. Уже в 2010 году Intel анонсировала новую архитектуру  *Many Integrated Core*  (MIC), которая, по сути, была прямым наследником идей Larrabee. Технологию, не взлетевшую в игровом сегменте, решили пристроить туда, где её сильные стороны — огромное количество x86-ядер и мощные векторные блоки — были бы более востребованы: в мир суперкомпьютеров и HPC. Так на свет появился бренд  **Xeon Phi** .

Первые продукты, известные под кодовым названием  *Knights Corner* , вышли в 2012 году. Они представляли собой карты-ускорители на PCI Express, которые работали в паре с обычными процессорами Xeon. На одной такой плате могло размещаться до 61 ядра, и всё это великолепие, произведённое по 22-нм техпроцессу, обещало более 1 Терафлопса производительности в вычислениях с двойной точностью. Главным преимуществом перед GPGPU-решениями от Nvidia (Tesla) и AMD (FirePro/Instinct) была всё та же нативная поддержка x86. Учёным мужам и прочим бородатым админам суперкомпьютерных кластеров не нужно было переписывать свой код под CUDA или OpenCL — достаточно было относительно небольшой оптимизации, чтобы заставить его работать на сотнях ядер Phi. По крайней мере, так это выглядело в рекламных проспектах.

И поначалу дела шли неплохо. Xeon Phi нашёл свою нишу. Например, китайский суперкомпьютер  *Тяньхэ-2* , который несколько лет подряд возглавлял топ-500 самых мощных систем мира, был построен именно на связке из процессоров Xeon и ускорителей Xeon Phi.

Следующее поколение,  *Knights Landing*  (2016), сделало ещё один шаг вперёд. Теперь Xeon Phi мог быть не только сопроцессором-картой, но и самостоятельным, загрузочным процессором, устанавливаемым в обычный сокет. Это был монстр с 72 ядрами, собственной высокоскоростной памятью MCDRAM и интегрированным сетевым контроллером Omni-Path. Казалось, что зомби-Larrabee обрёл вторую жизнь и вполне счастлив в своей новой ипостаси.

Но идиллия длилась недолго. Пока Intel почивала на лаврах, Nvidia не сидела сложа руки. Их архитектуры GPU эволюционировали, экосистема CUDA росла и крепла, а производительность в задачах, связанных с машинным обучением и нейросетями, росла экспоненциально. Xeon Phi, со своими корнями из мира  *классических*  HPC-задач, стал отставать в этом новом, хайповом направлении. Программировать под него всё равно оказалось не так просто, как обещалось, а производительность в реальных задачах не всегда оправдывала ожидания.

К тому же, сама Intel начала испытывать серьёзные проблемы со своими производственными процессами, в частности, с переходом на 10-нм техпроцесс. Следующее поколение Xeon Phi,  *Knights Hill* , которое должно было производиться по этой технологии, было отменено. А в 2018-2019 годах Intel тихо и без лишнего шума начала сворачивать производство и продажу существующих моделей Knights Landing и Knights Mill. К 2020 году бренд Xeon Phi был официально мёртв. Круг замкнулся. Зомби, порождённый провалом, в конце концов, сам был отправлен на покой.

## Наследие

Несмотря на провал, Larrabee не был совсем бесполезным. Работа над ним дала инженерам Intel бесценный опыт в создании многоядерных архитектур. А самое главное — именно из Larrabee вырос набор инструкций  **AVX-512** , который сегодня является неотъемлемой частью топовых процессоров Xeon и даже некоторых десктопных Core. Так что каждый раз, когда ваш сервер сжимает данные или обсчитывает научную модель с использованием AVX-512, где-то в кремниевом раю улыбается один маленький, но гордый призрак Larrabee.

Более того, сама идея гибридного процессора, сочетающего в себе CPU и GPU-подобные возможности, никуда не делась. Её, в том или ином виде, реализовала AMD в своих APU. Да и сама Intel, нахлебавшись с Larrabee, не оставила попыток вернуться на рынок дискретной графики. В 2018 году они переманили у AMD гуру графики Раджа Кодури и даже вернули в свои ряды одного из архитекторов Larrabee, Тома Форсайта. Результатом этих усилий стала линейка видеокарт Intel Arc, которая, в отличие от своего идейного предка, построена по вполне традиционным канонам.