Intel Arc A770 в изпълнение Asrock Phantom Gaming D
Дизайнът и производството на графични адаптери за персонални компютри е изключително скъпо начинание. За това и през последните примерно 15-тина години пазарът беше разделен между само две компании – Nvidia и ATI/AMD. Последните ми лични сблъсъци с продуктите на някакви компании, опитващи се да се съревновават с тези два гиганта са от преди около 20 години са свързани с опитите на опитите на Silicon Integrated Systems или SiS се опита да прокарат линията си Xabre. Някъде по това време Matrox също се опитаха да се завърнат на гейминг пазара с Parhelia 512. E, мисля че се досещате че не им се получи… SiS пренасочиха графичния си опит изцяло към интегрираната графика в чипсетите, докато още имаше пазар за различни от тези на Intel и AMD, а Matrox се насочиха изцяло към специализираният пазар за многомониторни системи и в последствие преминаха към използване на чипове на други компании като AMD.
В последствие имаше опит на VIA Technologies да направи нещо с наследството на S3 Graphics, които закупи преди много време, като дори изкара серия от няколко поколения в ниския клас с моделите си Chrome(Delta/Gamma Chrome, Chrome 400/500). За съжаление тези модели не бяха особено достъпни на нашия пазар, така че нямам пряка среща с тях. И някъде към 2009-та година авантюрата на VIA с графиката приключи, като използването на графичната им архитектура остана само за вградените чипсети на системите им. При това VIA не са коя да я компания, все пак често забравяме че те са 3-тия производител на x86 процесори, макар че бяха много по-активни в миналото, а и в края на краищата тя наследи разработките на S3, а S3 бяха един от големите играчи на графичния пазар в миналото. А дори и те не успяха да се установят на пазара…
Последваха над 10 години дуопол на Nvidia и AMD. През последните няколко години обаче ситуацията рязко се промени. Първо, от преди Intel даде заявка, че иска да се завърне на пазара на дискретна графика (някога, още в древното минало на края на 20-ти век имаше един чип наречен Intel i740), като от години тя разработва, подобно на VIA, собствена графична архитектура при интегрираните си чипсети/процесори (макар че за известен период преди това използваше разработки на Imagination Technologies). Заедно с това две китайски компании (Innosilicon и Moor’s Threads) пуснаха на пазара собствени графични разработки, но при тях основният акцент е повече в насока изкуствен интелект, макар че специално втората се опитва да използва решението си и за гейминг. Във всеки случай последните две работят за момента само на китайският пазар, така че не са ни особено интересни на този етап.
Intel обаче съвсем реално успя да произведе серия от графични чипове и дори ги пусна на пазара през миналата година първо за преносими и след това и за декстоп машини, макар и след порядъчно сериозно забавяне от първоначално заявеното. През последните месеци компанията упорите пуска нови драйвери и подобрява ситуацията с чиповете си, така че реших че е крайно време за пълноценно ревю. Още повече че от над 6 месеца притежавам версия на „топ“ модела им Intel Arc A770.
Архитектурата Intel Arc
Преди да започна с обясненията, искам да подчертая, че докато с архитектурите на NVidia и AMD смятам, че съм доста добре запознат, като следя развитието им от повече от 20 години, а и двете компании редовно публикуват подробни документи с информация за промените и реализацията им, то архитектурата на Intel не е толкова добре позната, самата компания не предлага толкова подробна информация, поне доколкото на мен ми е известно и лично аз нямам никакви канали за връзка. Така че това е по-скоро личната ми интерпретация на базата на публикуваните слайдове от последните из разните Intel Architecture Day документи. Така че е напълно възможно някои от нещата да не съм разбрал правилно.
Първото нещо което се забелязва при Intel е поредната различна версия на терминология за много от елементите на архитектурата, която ползват, в сравнение с използваното от Nvidia и AMD. Първата разлика от по-високо ниво е така нареченият Render Slice, който според мен отговаря на геометричните енджини при Nvidia/AMD, като съдържа един цял напълно функционален блок поддържащ целият графичен конвейер – от създаването на полигоните до финалното растеризиране. В един RS има 4 от така наречените Xе Cores, което грубо отговаря на Thread Processing Cluster-ите на NVidia и Wavegroup Processor-ите на AMD, които съдържат същинските изчислителни и текстуриращи блокове. Прилежащи към всяко XE ядро имаме и по един рейтрейсинг блок както и група от 8 Samplers. Освен тях RS има и по един геометричен и растеризиращ блок, както и две групи от по 8 ROP блока (общо 16 РОП-а).
Един от проблемите в оценката на Arc е, че аз поне не намирам информация относно производителността на RT блоковете както и какво точно Intel разбират под Samplers. За първите, това което мога да намеря като информация е, че поддържат ускорение както на обиколката на BVH структурите, така и ускорение на изчисленията за пресичане на лъчите с полигоните. Което предполага по-функционалност в сравнение с RT ускорителите на AMD и прилича доста на възможностите на RT ядрата в Ampere. Няма обаче информация за производителността им.
Колкото до „samplers“ – типично в терминологията на NVidia и AMD под това се разбират блокове, които могат да извършат четене/запис от/в паметта, които се използват в процеса на текстуриране, както и за захранване на изчислителните блокове с данни при работа на процесора като изчислителен или ИИ ускорител. Обикновено в един текстуриращ модул има 4 семплера за да може да извършва билинейната филтрация на един такт. Съответно при типичното на наличие на 4 текстуриращи модула в рамките на SM и CU, то те имат по 16 семплера и 4 филтриращи блока. Съответно в този смисъл всеки TPC/WGP има общо по 8 текстуриращи блока или 32 семплера. Така че ако Intel използва сходна терминология, то всяко Xе ядро разполага само с ¼ от наличните в алтернативните архитектури модули за достъп до паметта, или само 2 текстуриращи модула. Което лично на мен ми изглежда крайно малко като количество. Така че за момента всеобщото разбиране изглежда е, че Intel под Samplers разбират всъщност целите текстуриращи блокове, което би докарало ситуацията до паритет спрямо архитектурите на Intel и AMD. За съжаление не разполагам с данни за производителността на текстуриращите модули при различните формати за текстури, така че е трудно да се прецени доколко този паритет би се запазил при реална работа.
Xe ядрата сами по себе си съдържат 16 векторни АЛУ (Execution Units или EU в по-по-ранната терминология на Интел, напоследък май вече са Xe Vector Unit, XVE) и 16 XMX тензорни процесора. Всеки от XVE блоковете може да обработва по 8-елемента или може би по-точно ще е да се каже че всеки от тях е 256-битов, като може да се преконфигуриран да работи освен в режим за 32 битови стойности (8 на такт), така и в 16-битов FP/Int режим(16 стойности), а (вероятно) и в 64-битов(4 стойности), като съответно производителността се удвоява или намалява наполовина. Няма да се изненадам, ако тези EU силно наподобяват 256-битовите AVX векторни АЛУ в процесорите на компанията. В случая компанията изглежда запазва сходство в архитектурата си с изчислителните си ускорители от серията „Knights“ и настолните си процесори.
В този смисъл тук имаме една от големите разлики спрямо вариантите на NVidia и AMD, които първо използват субгрупиране под формата на SM (shader multiprocessor) и CU (Compite Unit). В добавка във всяка от тези подгрупи компаниите използват по-малко на брой, но по-широки векторни процесори, като NVidia разполага с 4 двойки 512 битови векторни АЛУ (16х32), докато при AMD в RDNA 3 имаме две двойки 1024-битови (32х32) АЛУ, като от всяка двойка единият АЛУ е пълнофукнционален, т.е. поддържа и целочислени изчисления, и операции с плаваща запетая, докато вторият е само за плаваща запетая. Ако погледнем едно поколение назад, AMD в RDNA 2 разполага само с 2 отделни 1024-битови АЛУ, които са пълнофункционални, докато Ampere на NVidia използва същата организация като в Ada Lovelace.
По този начин пиковата 32-битова производителност при Xe е 128 MAC (multiply-accumulate, умножение+събиране) операции, докато при един TPC в последните две генерации на NVidia са 256 MAC. При AMD това са 256 операции за RDNA3 и 128 (подобно на Xe) в RDNA2 в рамките на един WGP. В същото време за целочислените изчисления производителността е еднаква при всички – 128-операции. Различната вътрешна организация предполага оптимизиране за различни натоварвания, като може да се каже че при AMD нещата са по-силно насочени към обработката на графични данни, при Intel са по-силно оптимизирани за общи изчисления, докато NVidia седи някъде по средата между двете. В този смисъл предполагам че при графична обработка архитектурата на Intel вероятно има по-големи загуби от нуждата да управлява повече на брой по-малки елементи, в сравнение с другите две от гледна. Но пък може би ги превъзхожда при работа в изчислителен режим.
XMX тензорните процесори са 1024-битови, което означава че могат да обработват матрици с размер 16х16 елемента. В това отношение тензорните ядра на Intel приличат на по-ранните вариации на тези на NVidia, докато в ADA „зелените“ се прехвърлиха към 16х32 организация. При AMD като цяло специализиран тензорен хардуер изобщо липсва, като самите векторни процесори са оптимизирани за по-ефективна работа с ИИ изчисления, като поддържат повечето(всички?) актуални формати за целта, като в RDNA 3 имаме и новите „ИИ ускорители“, за които обаче AMD не предоставят информация какво точно правят, освен че помагат за 2,7х ускорение на ИИ изчисленията.
Arc архитектурата разполага и с видео процесор, способен да декодира, но и да кодира AV1 поток (както и h.264/H.265), като това беше първият модел на пазара с тези възможности.
Пълната версия на графичният чип ACM-G10, който е текущият върхов чип на Intel разполага с 8 RS, което му дава общо 32 XE/РТ ядра или 512 векторни процесора (еквивалент на 4096 32-битови АЛУ), 512 тензорни процесор, 256 текстуриращи модула и 128 ROP блока. За връзка с паметта се използва 256-битова шина към GDDR памет, която се подпомага от масивен 16 МБ L2 кеш, който е доста по-голям от използвания в Ampere, но по-малък от този в Ada Lovelace. При AMD и в RDNA2, и в RDNA3 L2 кешът е малък, но за сметка на това компенсират с огромния си Infinity Cache от последно ниво (практически L3 кеш). PCI Express шината е х16 с Gen. 4 поддръжка.
Изненадващо или не, но от Intel са предпочели да използват 6-нанометровата технология на TSMC за производството на ACM-G10, вместо собствените си производства. Чипът има размер от 406 кв. мм. площ и 21,7 млрд. транзистора. Това го поставя някъде между GA104 и GA103 или Navi 22 и Navi 21 като брой транзистори, но тепърва ще видим дали може да се доближи като производителност до тях.












