Jeśli chcecie mnie wesprzeć to zapraszam do kupna mojego poradnika "Jakim jesteś Makiem?".

Nowy Mac Pro z jednym GPU wspierającym CPU →

· Wojtek Pietrusiewicz · 11 komentarzy

Guy English:

This machine fascinates me not because it seems like it’ll make everything I currently do faster. It fascinates me because it’s fundamentally new. There’s only one CPU socket and it bets heavily on the bus and GPU performance. While this looks to software to be just another Mac, it isn’t. Its capabilities aren’t traditional. The CPU is a front end to a couple of very capable massively parallel processors at the end of a relatively fast bus. One of those GPUs isn’t even hooked up to do graphics. I think that’s a serious tell. If you leverage your massively parallel GPU to run a computation that runs even one second and in that time you can’t update your screen, that’s a problem. Have one GPU dedicated to rendering and a second available for serious computation and you’ve got an architecture that’ll feel incredible to work with.

To właśnie o wytłuszczeniu z powyższego cytatu mówię w ostatnim (prawie) Codzienniku. Nie wiem skąd są te informacje ani czym są potwierdzone, ale zainteresuję się tematem w wolnej chwili. Jak coś znajdziecie to dajcie znać.

Chcesz zwrócić mi na coś uwagę lub skomentować? Zapraszam na @morid1n lub na forum.

  • Dariusz Gardyński

    Nie czaje, co w tym jest takiego zajebistego. Rozumiem, że podczas renderingu inne procesy, jak animacje działają gorzej, bo GPU jest zajęte. Druga karta dla systemu zlikwidowałaby ten problem – ok, ale… A) mamy tak wydajne procesory, a nie potrafią one obslużyć paru animacji ?? B) CPU i YouTube to zło, wiadomo, ale czy przypadkiem CPU nie ma Intel HD Graphis

  • Mamy tutaj na myśli trochę bardziej hardcore’owe zastosowanie niż rysowanie UI OS X. Na przykład montaż kilkudziesięciu GB materiałów video. :)

  • Dariusz Gardyński

    No ok, ale niby co wcześnie robiły 2 karty graficzne ?? Bo mi się wydaje, że przy renderowaniu dzieliły się robotą i tyle, więc gdzie tu coś nowego ?? W ogóle ten podział jest dziwny – jedna karta GPU do renderingu, druga dla systemu, który… też zajmuje się renderingiem… Możesz jaśniej mi to wyłożyć, o co chodzi z tą technologią i czemu jest ona taka fajna i jak to wyglądało wcześniej ??

  • Jeden GPU do obsługi monitora, drugi GPU przejmuje obciążenie od CPU i wykonuje dla niego obliczenia – tak w skrócie.

  • Dariusz Gardyński

    Czy tu chodzi przypadkiem o takie lepsze CUDA ?? Bo tak bym to rozumiał i to byłoby fajne pod warunkiem, że ta karta dynamicznie byłaby przydzielana do CPU, bo nie sądzę, żeby nie było sytuacji w których CPU ma wakacje, a GPU ostro haruje. Wręcz przeciwnie, wydaje mi się, że jest ich więcej. Jest jeszcze kwestia, a raczej wniosek, że skoro to jest fajne i potrzebne do bardziej hardcore’owych zastosowań, to duuużo operacji przy tym montażu robi CPU. Ten nie daje rady, bo (logicznie rzecz biorąc) te operacje nie są dla niego przeznaczone. Czy na pewno nie są ?? No tak, bo inaczej dali by kolejne CPU. Więc w tym wypadku wynika, że soft programu jest źle napisany. To uznaje za rzecz mało prawdopodobną (bo to już by było jakieś kuriozum), więc ta karta powinna być przydzielana dynamicznie. W tedy ma to dla mnie sens – CPU ma czasem bardzo wiele do obliczenia i by mu pomóc, przekierowuje się moc GPU dla niego, w postaci całej 1 karty GPU, gdzie wcześniej, to był zapewne jakiś oddzielny proces tworzony na całej architekturze GPU (czyli np. dla 2 kart) i czekający w kolejce (stosie) wśród innych procesów dla GPU. Teraz właśnie potrzebuje info., czy się mylę czy nie.

    Na koniec o GPU Intela – żeby nie gmatwać, to opiszę to osobno – mamy 2 GPU, CPU i GPU Intela zintegrowane z w socket’cie z CPU. Ok. GPU jak są rozdzielane tak są, mniejsza tu o nie. CPU działa, a GPU Intela coś robi czy jest wyłączony, skoro mamy dwa GPU ?? Bo nie oszukujmy się, kolejnym kuriozum będzie informacja, że GPU Intela nic nie robi… Skoro jest, to trzeba z niego korzystać, amen.

  • Waldek

    Temat związany z programowaniem GPU nie jest mi obcy, ale też nie rozumiem na czym ma polegać ta inność od tego co jest dzisiaj (x*CPU + z*GPU, nawet gdy x i z są większe od 1)… No, chyba, żeby dać możliwość pobierania danych do pamięci karty graficznej bez udziału pamięci głównej (np. bezpośrednio z dysku/sieci). Ale to bardzo wątpliwe…

    Zresztą, przecież większość laptopów ma dzisiaj jeden lub więcej GPU – od software’u zależy czy GPU będzie wykorzystany do obliczeń…

    No i ten podział na sztywno “jeden GPU do obsługi monitora, a drugi do obliczeń” byłby marnotrawieniem zasobów GPU. Jeśli problem daje się przyspieszyć na GPU, a mamy do dyspozycji dwa GPU, to szkoda tego drugiego nie użyć.

    @Dariusz Gardyński – pamiętaj, że w Mac Pro będzie Xeon – wątpię, że będzie to model z grafiką Intela, zwłaszcza, że ma to być 12 rdzeni…

  • Filip Wesołowski

    Tak troche z innej beczki. Czy ktokolwiek odnalazł źródło na jakim się Guy opiera, mówiąc o takiej architekturze?

  • Dariusz Gardyński

    @disqus_rsOeiTe4j7:disqus – no chyba, że faktycznie te Xeony nie będą mieć dodatkowego GPU, to jeden problem mniej. Ja tych CPU i GPU tak nie śledzę, w sumie, to nawet nie sprawdziłem jakie CPU będzie montowane w Mac’u Pro, tylko wziąłem jakiś najwyższy model procka z Haswella na Wiki, kliknąłem i wyczytałem na stronie Intela, że ma HD Graphics :P.

  • Filip Wesołowski

    Dogrzebałem się źródła tej informacji. Informacja od osoby, biorącej udział w prezentacji nowego sprzętu po keynocie. Podobno tylko jedna karta jest podpięta pod interface wyjścia obrazu. Ale informacja zdaje się opierać na domysłach autora i niedopowiedzeniach pośrednika między Apple a Guy’em. Czyli tradycyjny Crossfire cały czas niewykluczony.

    https://twitter.com/gte/status/348997519310716931

  • Waldek

    “tylko jedna karta jest podpięta pod interface wyjścia obrazu” – brzmi dosyć nierealnie, żeby DisplayPort jednej z kart nie był podłączone do kontrolera Thunderbolt’u na płycie głównej. Ale nawet gdyby, to do możliwości stwierdzenia “One of those GPUs isn’t even hooked up to do graphics” daleko – wszystkie procesory (CPU i GPU) mogą się ze sobą komunikować i wykonywać jakiekolwiek obliczenia (graficzne czy nie). W tym sensie wciąż nie wiem, co jest tu bardzo innego – laptop z CPU z grafiką Intela i dyskretną kartą graficzną z GPU ma dokładnie taką architekturę (1 CPU, 2 GPU). Software może odpytać ile jest GPU i z jakimi możliwościami, a następnie określić które zadania (lub ich fragmenty) gdzie będą wykonywane (zarówno na CPU, jak i na GPU).

    W przeciwieństwie do kickingbear, to akurat w tym podejściu multi-GPU nie upatrywałbym innowacji Apple. Paradoksalnie, raczej innowacyjność widzę w braku rozszerzalności Mac Pro w inny sposób niż poprzez Thunderbolt’a – co pewnie zaowocuje akcesoriami typu zewnętrzne karty z CPU/GPU, a przede wszystkim nowymi modelami programistycznymi z rozdziałem zadań poprzez stosunkowo wolne łącze (tak, 20 Gbit/s dla Thunderbolt vs. 288 GB/s między GPU a jego RAM robi różnicę).

    Mam też nadzieję, że pomysł z osadzaniem płyt (głównej, z GPU, itd) w trójkącie i z elementami elektronicznymi po obu stronach też się przyjmie.

  • dc

    Dokładnie. Nie ma sensu takie rozdzielanie skoro i tak software może decydować co gdzie się liczy (nie, nie ma technologii a’la Fusion Drive, gdzie CPU/system jest w stanie zdecydować gdzie wykonać obliczenia – albo program liczy na CPU albo na GPU i musi mieć odpowiednią wersję kodu). Odcięcie od kontrolera thunderbolt GPU jest ograniczeniem a nie daje żadnych plusów.