7 години AMD Graphics Core Next

7 години AMD Graphics Core Next

В раздел: Ревюта, статии и ръководства, Статии от на 5.09.2018, 7,211 показвания
Страница от ревюто: 1 2 3 4 5 6 7 8


Fourth Generation GCN/GCN 1.3

С тази версия AMD най-накрая премина отвъд 28-нанометровия техпроцес, а и смени производителя на чиповете – за Polaris се използваше 14 nm FinFET процес на Global Foundries. На ниво архитектура отново имаме по-скоро инкрементални подобрения, като Polaris 10 използва вече познатите ви 4 графични клъстера, но с по 9 CU във всеки и с по едва 2 дяла ROP. Това дава общо 2304 ALU, 144 текстуриращи модула и едва 32 ROP, при 256-битова памет GDDR5 8 ГТ/с. ACE блоковете са намалени на 4, но за сметка на това се появява втори хардуерен диспечер, който е от голяма полза за изчисленията async. compute, тъй като разтоварва драйвера и по начало позволява по-бърза смяна на контекста. В рамките на самият CU са вкарани множество дребни подобрения на различни нива, които според AMD увеличават производителността за такт спрямо Tonga с около 15%. Заедно с това за първи път се появява  поддръжката за изчисления с “половин” точност FP16, както и на целочисления формат Int16, макар че това не води да по-висока скорост, а само до подобрение на енергоефективността. Според AMD са приложени и много сериозни усъвършенствания на теселиращия и геометричния блок, усъвърщенствана е също и цветовата компресия.

amd_gcn4_1 amd_gcn4_2 amd_gcn4_5 amd_gcn4_6

GCN 1.3 стои в основата на няколко графични чипа от серията Polaris, като всички те са насочени към ниския и средния клас, като под оригиналният Polaris 10 се разполагат след това Polaris 11, Polaris 12/22.

Fifth generation GCN /GCN 1.4

Това е най-прясната инкарнация на GCN архитектурата, която според AMD вече е толкова напреднала, че има нужда от означаването на отделният изчислителен блок като Next Generation Compute Unit. Може би най-голямото новъведение е използването на Rapid Packed Math, което позволява един 32-битов АЛУ да изпълнява две 16-битови целочислени или FP операции или дори цели 4×8-битови целочислени операции, увеличавайки рязко гъвкавостта и потенциалната производителност на архитектурата. Добавени са и още 40 нови инструкции за подобряване на ефективността при различни изчисления, сред които и хеширане. Друго подобрение са Primitive Shaders и Draw Stream Binning Rasterizer, които би трябвало да ускорят драстично обработката на геометрия, като това е комбинирано и с генерално усъвършенстване на геометричните енджини. ACE са запазени до 4, както в Polaris. За памет отново (като при Fiji) се използва HBM, но този път тя е във втората си версия, която работи на двойно по-голяма честота и предлага до 8 пъти по-висока плътност. Поради това Vega използва само 2 стека памет (2048-битова шина), но разполага с 8 ГБ памет при десктоп моделите и 16 ГБ за професионалните карти. Заедно с това контролерът на паметта разполага и с нов режим на работа, при който локалната памет се използва като допълнителен кеш и данните могат да се разполагат и в част от системната памет. Производителността при двойна точност обаче все още остава 1/16. Има подобрения и при виртуализация. Наследен е турбо механизма от Polaris, който разполага с много голяма гъвкавост както като честоти, така и като напрежения, като се контролира освен с консумацията, също и с температурата на графичният адаптер.

Като цяло версията “Vega” на GCN е може би най-голямото единично подобрение на архитектурата. Заедно с това, въпреки че GCN започна развитието си като архитектура DX11, всички версии поддържат и DX12 (Tahiti поддържа до ниво Feature Level 11_1), като Vega поддържа и DX Feature Level 12_1. Архитектурата се използва в едноименния чип Vega, който лежи в основата на адаптерите Radeon RX Vega 64/56, както и в първите APU-та на AMD използващи процесорната архитектура Zen, с кодовото име Raven Ridge.



Всички страници от статията:

  1. Tahiti и първата версия на GCN
  2. Hawaii, Tonga, Fiji: GCN 1.1 и 1.2
  3. Polaris и Vega: GCN 1.3 и 1.4
  4. Претендентите
  5. Тестова система
  6. Резултати
  7. Обобщения и разсъждения
  8. Консумация и заключение


Страница от ревюто: 1 2 3 4 5 6 7 8




Етикети: , , , , ,


10 коментара

  1. 1 craghack // 06.09.2018 в 08:30

    Таитито го пропуснах. Хавая и вегата ги видях ;)

  2. 2 Mustaka // 07.09.2018 в 18:04

    Аз сега и сега си ползвам 7970-ката на 1600 х 1200 играя си танковете и нямам грижи :-)
    Имах 7990, ама за съжаление нещо се прецака, иначе беше супер карта.

  3. 3 Комаро // 10.09.2018 в 14:50

    Еми колега така е 7970 си е супер карта, ама хора като мен видяха възможност, продадох си вярната ми R9 280X (на проклет копач) която също беше купена от копач ама малко ползвана за 400 лева в бума последния път, а я бях купил за 200 лева предните години, и малко след това изчаках промото на Emag черен петък и отнесох една RX580 8GB за малко над 500 лева, за какво да се занимавам със старата ми акрта, като мога да взема по нова.

  4. 4 Сашо // 10.09.2018 в 18:11

    единно адресиране на паметта, така и не стана реалност доколкото знам

    > безсмислено само по себе си дефиниране (SIMT)

    защо да е безсмислено?

  5. 5 Димитър Чизмаров (DeepBlue) // 10.09.2018 в 19:26

    @Сашо – единнота адресиране на паметта е факт отдавна в архитектурите на АМД, Мисля че от Hawaii нататък и от Kaveri се поддръжа на хардуерно ниво.
    А SIMT е безмислица, просто защото е. Нвидия са натворили купища маркетингови безмислици и това е една от тях. Както и желанието да дефинират отделните АЛУ елементи във SIMD блока като “ядра”, само за да се покажат колко по-напред са от Интел. При положение че ядро в най-дбория слyчай е SM-a.

  6. 6 Сашо // 11.09.2018 в 15:12

    Ако имаш предвид HBCC не мисля, че това може да се брои за единно адресиране. Единно адресиране би значило, че цялата памет на картата е достъпна като RAM за процесора, а аз такова нещо не съм видял (освен може би при някои интегрирани решения /GPU в CPU-то/).
    Имаш ли някаква друга информация?

  7. 7 Димитър Чизмаров (DeepBlue) // 11.09.2018 в 22:58

    Не изобщо нямам предвид HBCC, той е нещо съвсем друго. И изобщо не значи че цялата рам на графиката ще е достъпна за процесора. Между другото по начало има мапинг на видеопаметта към адресното пространво на процесора. Единното адресиране значи че видеокартата “вижда” директно цялото х86 адресно пространство без нужда от транслация, както в предходните модели и което е част от HSA. И да това го имат от доста време. Мисля че това е едно от нещата, които им помага да пускат ония безумни профи модели които имат по 2 ТБ памет (SSD).

  8. 8 Ico // 22.09.2018 в 21:29

    Никъде не пише при каква резолюция са направени тестовете!!!

  9. 9 Сашо // 27.09.2018 в 13:50

    Димитър, достъпът до оперативната памет не може да зависи само от видео картата, а и от останалия хардуер. Доколкото си спомням първоначалната идея на AMD е да има наистина единно адресно пространство, което доколкото знам не се реализира. Мапинг на паметта на картата в адресното пространство на процесора е друго нещо.
    Новите карти ползват PCIe atomic операции с оперативната памет, което е много добро, но според мен не е същото като първоначалната идея. Ето малко информация, как се ползват в момента:
    https://rocm.github.io/ROCmPCIeFeatures.html

  10. 10 Димитър Чизмаров (DeepBlue) // 28.09.2018 в 21:17

    Къде видя да обяснявам, че оперативната памет зависи само от видео картата?! И атомарните операции са нещо отделно, това са просто независими операции.

    Идеята по принцип е, че преди HSA видеокартата си оперира в нейно си адресно пространство (оперативната й памет), процесора си оперира в неговото си адресно пространство. Ако се наложи някаква междупроцесна комуникация, това означва че всеки път трябва да се “превежда” от едното пространство в другото, което отнема време и ако има някакви данни, които се намират примерно в GPU-то, а трябват на процесора, то те трябва да се копират в системната памет.

    Модерните адаптери обаче “разбират” Х86 адресациията и могат да работят с адресното пространство на х86 модела, а паметта на графичният адаптер влиза в общото адресно пространство. По този начин няма нужда от транслация и при нужда както процесора може да чете директно в паметта на картата, така и картата може да чете директно от паметта на процесора, без да се налага преди това да се копират данните локално. Отделно това позволява да се поддържа и кеш кохерентност. Именно това позволява на HBCC да работи (по същество използва оперативната памет, а локалната памет работи като кеш, което няма как да стане с различни адресни пространства) и разни други шукаритети. Нвидия вече също поддържат общо адресно пространство с процесора.

    Ако все още не разбираш какво имам предвид – https://en.wikipedia.org/wiki/Heterogeneous_System_Architecture , http://www.mpsoc-forum.org/previous/2013/slides/8-Hegde.pdf