Od grafiki do obliczeń
Jak co roku na wiosnę, w Centrum Konferencyjnym w San Jose w Kalifornii odbyła się największa na świecie konferencja poświęcona profesjonalnym zastosowaniom architektury graficznej – zarówno w grafice wizualizacyjnej, jaki i w wysokowydajnych obliczeniach HPC. Konferencja GTC 2013 (GPU Technology Conference), bo o niej mowa, zorganizowana przez nVidię przyciągnęła kilka tysięcy profesjonalistów związanych z grafiką i obliczeniami HPC z całego świata.
O samej konferencji GTC 2013 i głównych odbywających się na niej wydarzeniach przeczytać mogliście pod koniec marca, w trakcie jej trwania. Teraz w nieco szerszej, formie chcieliśmy przedstawić najważniejsze pod względem technologicznym, niekoniecznie już tak medialne, zagadnienia, które zaprezentowane zostały podczas tego najważniejszego forum graficzno-obliczeniowego.
Zastosowania architektury CUDA
O architekturze CUDA i wykorzystujących ją najnowszych kartach graficznych z serii GeForce i Quadro oraz obliczeniowej platformie Tesla powstało już sporo artykułów, książek i opracowań. Architektura CUDA wraz z różnego rodzaju oprogramowaniem wykorzystującym jej funkcjonalność w czasie ostatnich kilku lat stała się praktycznie standardem. Możliwości CUDA wykorzystywane są nie tylko w komercyjnych aplikacjach, ale również przez rzesze naukowców implementujących odpowiednie funkcje obliczeniowe do swoich programów służących np. do sekwencjonowania genomu, obrazujący zachowanie się cząsteczek, reakcji chemicznych, dynamiki zachowań się cząsteczek cieczy, gazu, badań wszechświata, czy obliczeń inżynieryjnych np. związanych z wytrzymałością konstrukcji.
Tą tendencję wyraźnie widać było na wspomnianej konferencji GTC 2013. Na poprzednich jej edycjach przeważały tematy związane z możliwością implementacji procedur wykorzystujących architekturę CUDA w różnego rodzajach zastosowaniach obliczeniowych i programach – komercyjnych i pisanych samodzielnie przez zespoły naukowców. Teraz praktycznie nie było już o tym mowy, a większość prezentacji dotyczyła wyników prac naukowych i osiągnięć poszczególnych zespołów badawczych, które powstały przy wykorzystaniu architektury CUDA – zarówno wizualizacji różnych procesów fizycznych czy chemicznych, układania się i struktury cząsteczek chemicznych, białek, DNA, formowania się galaktyk itp.
GPU w obliczeniach HPC
Popularność architektury CUDA (skrót pochodzi od ang. słów Compute Unified Device Architecture co można przetłumaczyć jako zunifikowana architektura jednostek obliczeniowych), w zastosowaniach inżyniersko-naukowych wynika przede wszystkim z ceny i możliwości. Za stosunkowo niewielkie pieniądze, które są akceptowalne z punktu widzenia uczelnianych budżetów, na biurku można postawić komputer wyposażony z akcelerator graficzno-obliczeniowy o mocy superkomputera sprzed kilku lat. Do tego dochodzi bardzo dobrze udokumentowane środowisko programistyczne, wspierane przez wiele aplikacji wykorzystywanych przez inżynierów i naukowców.
Jak już wspomniałem, wysokowydajne obliczenia HPC (High Performance Computing), z wykorzystaniem możliwości równoległego przetwarzania danych w kartach graficznych nie są niczym nowym. Karty graficzne od dawna charakteryzowały się bardzo wysoką mocą obliczeniową przy równoległym przetwarzaniu danych. Dla przykładu współczesny układ GeForce GTX 680 ma moc obliczeniową wynoszącą 3090 gigaflopów, a Nvidia GeForce GTX 660 Ti 2,5 TFLOPS-a, podczas gdy procesor Intel Core i7-990X Extreme Edition pracujący z zegarem 3,46 GHz dysponuje wydajnością obliczeniową wynoszącą „tylko” 83,18 gigaflopów. Procesory serwerowe z rodziny Xeon pracując z pełną prędkością zegara przekraczają zaś niewiele ponad 100 GFLOPS-ów (np. Xeon E7-8870 ma moc obliczeniową 112 GFLOPS-ów)
Pierwsze prace nad wykorzystaniem kart graficznych do strumieniowego przetwarzania danych rozpoczęto w 2004 roku. Pierwsze udane próby wykorzystania do obliczeń karty graficznej miały miejsce w listopadzie 2004 roku. Wówczas to wykorzystano kartę Nvidia Quadro FX 3400 do obliczeń związanych z symulacją zapadającej się gwiazdy. Karta graficzna wykonała obliczenia czterokrotnie szybciej niż specjalnie optymalizowany kod na procesorze Intel Pentium 4 Xeon 3.0 GHz. Sukces ten dał podwaliny pod opracowanie akceleratorów obliczeniowych znanych obecnie pod nazwą Tesla.
Pierwsze Tesle pojawiły się na rynku pod koniec 2006 roku i bazowały na zmodernizowanych układach graficznych 8800 GTX, a ich procesory GPGPU oznaczone były symbolem Tesla T8P. Najnowsze i najszybsze akceleratory obliczeniowe Nvidii bazują na układach Kepler GK110 w których znajduje się w zależności od wersji 2688 (Tesla K20X) lub 2496 (Tesla K20) rdzeni CUDA.
| Tesla K20X | Tesla K20 | Tesla K10 | Tesla M2090 | Tesla M2075 | |
| Liczba i typ GPU | 1 Kepler GK110 | 1 Kepler GK110 | 2xKepler GK104 | 1 Fermi GPU | 1 Fermi GPU |
| Wydajność obliczeniowa podwójnej precyzji | 1,31 TFLOPS | 1,17 TFLOPS | 190 GFLOPS (95 GFLOPS na jeden GPU) | 665 GFLOPS | 515 GFLOPS |
| Wydajność obliczeniowa pojedynczej precyzji | 3,95 TFLOPS | 3,52 TFLOPS | 4577 GFLOPS (2288 GFLOPS na jeden GPU) | 1331 GFLOPS | 1030 GFLOPS |
| Przepustowość pamięci | 250 GB/sec | 208 GB/sec | 320 GB/sec (160 GB/sec na jeden GPU) | 177 GB/sec | 150 GB/sec |
| Pojemność pamięci (GDDR5) | 6 GB | 5 GB | 8GB (4 GB na jeden GPU) | 6 GB | 6 GB |
| Liczba rdzeni CUDA | 2688 | 2496 | 3072 (1536 dla jednego GPU) | 512 | 448 |
Parę słów o różnicach architekturze
Architektura układów Kepler stosowanych w kartach graficznych z serii GeForce GTX oraz akceleratorach Tesla nieco się różni. Układy dla Tesli zoptymalizowano bowiem do wykonywania równoległych obliczeń numerycznych dodając do nich technologie Hyper-Q i Dynamic Parallelism, które nie są obecne w graficznej wersji układu Kepler.
Technologia Hyper-Q, pozwala na symultaniczną współpracę wielordzeniowych procesorów (lub systemów wieloprocesorowych) z jednym układem GPU w taki sposób, aby zwiększyć wydajność przetwarzania danych przez GPU eliminując przy tym cykle oczekiwania, w których poszczególne rdzenie procesora bezczynnie oczekują na potrzebne im dane. Efekt ten uzyskano poprzez zwiększenie całkowitej liczby połączeń pomiędzy systemem i układem GK110/GK104. Możliwe jest tutaj jednoczesne ustanowienie aż 32 sprzętowo zarządzanych połączeń, którymi przesyłane są dane bezpośrednio pomiędzy poszczególnymi rdzeniami CPU a układem GPU. W układach Fermi wykorzystywanych w kartach Tesla, dostępne było tylko jedno takie połączenie, które stanowiło wąskie gardło przy zrównolegleniu liczby wątków obliczeniowych wykonywanych na komputerze wieloprocesorowym z wielordzeniowymi jednostkami CPU. Innymi słowy, technologia Hyper-Q pozwala na ustanowienie oddzielnych, i co ważne, niezależnych połączeń między wieloma rdzeniami CPU, w taki sposób, że każdy wykonywany na wielordzeniowym procesorze wątek ma dostęp do zaalokowanych tylko dla niego rdzeni CUDA.
Jeśli zaś chodzi o technologię Dynamic Parallelism to jej zadaniem jest umożliwienie zaimplementowania większej liczby algorytmów przetwarzania równoległego w programach wykonywanych na GPU. Technologia ta pozwala na natychmiastowe dodawanie do kolejki wykonywanych na GPU zadań, które to zadania wynikają bezpośrednio z rezultatów otrzymanych przed chwilą przez GPU. Proces ten, co jest istotą technologii Dynamic Parallelism, odbywa się automatycznie bez udziału CPU. W ten sposób można w trakcie pracy programu dołączyć dodatkowe wątki programu oraz szybciej realizować równoległe obliczenia w zagnieżdżonych pętlach o różnych wartościach zbieżności. Istotna jest tutaj też podczas obliczeń kontrola warunków zrównoleglenia wykonywanych po kolei zadań bez udziału centralnego procesora, co w znaczący sposób przyspiesza obliczenia.
Tesla w superkomputerach
Taka konstrukcja obliczeniowych układów Kepler pozwoliła na wykorzystanie akceleratorów obliczeniowych w budowie najszybszych obecnie na świecie superkomputerów. Oczywiście, akceleratory z serii Tesla były już wcześniej stosowane w budowie superkomputerów, niemniej teraz ich implementacja w architekturze superkomputerowej stała się po prostu łatwiejsza. Co ciekawe pierwszy superkomputer wykorzystujący do obliczeń akceleratory Tesla powstał już w 2008 roku (obecnie na świecie jest już 50 takich superkomputerów). Jest to japoński superkomputer TSUBAME będący hybrydowym klastrem składającym się z 655 serwerów Sun x4600 oraz 170 serwerów Tesla S1070. W momencie oddania do użytku w 2008 roku zajmował on 29 miejsce na liście TOP500 najszybszych komputerów świata.
W tym miejscu warto przypomnieć co to były serwery obliczeniowe Tesla S1070. Otóż w skład pierwszej edycji platformy Tesla z 2006 roku wchodził, oprócz akceleratorów obliczeniowych w formie kart rozszerzeń, również system Tesla S1070 1U, złożony z czterech układów Tesla T10P o łącznej mocy obliczeniowej 4 TFLOPS-ów. Tesla S1070 1U stanowił jedną niezależną całość montowaną w obudowie stelażowej 1U przeznaczonej do montażu w szafach rackowych. Urządzenie przeznaczone było do współpracy z większymi maszynami obliczeniowymi takimi jak superkomputery, obliczeniowe stacje robocze, klastry lub po prostu serwery. Komunikacja między Teslą a np. serwerem odbywa się tutaj bezpośrednio za pomocą interfejsu FiberChannel lub gigabitowego ethernetu. Podczas pracy, serwer przekazuje do systemu Tesla dane do obliczeń, a po ich wykonaniu otrzymuje gotowe wyniki. Dostęp do mocy obliczeniowej Nvidia Tesla S1070 uzyskuje się dzięki specjalnemu oprogramowaniu, które instaluje się na współpracującym z systemem Tesla komputerze. Obecnie firma Nvidia zaprzestała produkcji takich zewnętrznych modułów akceleratorowych, pozostawiając konstruowanie tego typu systemów w gestii firm zajmujących się dostarczaniem sprzętu do obliczeń HPC.
W 2010 roku powstał superkomputer Tianhe-1A, który również wykorzystuje procesory Tesla. Jego oddanie do użytku w National Supercomputing Center in Tianjin w Chinach było o tyle istotne, że był to pierwszy w historii superkomputer wykorzystujący do obliczeń architekturę integrującą tradycyjne procesory z rdzeniami GPU, który jednocześnie znalazł się na pierwszym miejscu na liście TOP500. Obecnie komputer ten zajmuje ósmą pozycję na tej liście. Superkomputer Tianhe-1A zbudowany został na bazie 7168 procesorów Nvidia Tesla M2050 oraz 14336 procesorów Intel Xeon X5670 2,93 GHz. Jego łączna moc obliczeniowa to 2,507 petaflopsa.
Obecnie pierwsze miejsce na liście TOP500 (ranking jest aktualizowany dwa razy w roku i prezentowany na dwóch konferencjach naukowych: w czerwcu na International Supercomputing Conference i w listopadzie na ACM/IEEE Supercomputing Conference) ogłoszonej w listopadzie 2012 zajmuje superkomputer XK7 o nazwie Titan, który zbudowany został przez firmę Cray. Maszyna ta składa się z 18 688 16-rdzeniowych procesorów AMD Opteron 6274 oraz 18 688 układów Tesla K20X. Łączna moc obliczeniowa znajdującego się w Oak Ridge National Laboratory w USA Titana to 17,59 petaflopsów. Co ciekawe, jest to pierwszy na świecie superkomputer wykorzystujący GPU, którego moc obliczeniowa przekroczyła 10 PFLOPS-ów. W tego typu systemach 80-90% obciążenia obliczeniowego przypada na jednostki GPU, zwykłe procesory odpowiadają przede wszystkim za przydzielanie zadań dla GPU.
Ciekawa jest historia Titana. Powstał on w wyniku dwuetapowej rozbudowy pracującego w Oak Ridge National Laboratory superkomputera Jaguar. Pierwszy etap tej łącznie kosztującej 97 milionów dolarów rozbudowy polegał na zastąpieniu w każdym z 18 688 węzłów systemu sześciordzeniowych procesorów AMD Opteron, których było po dwa na węźle przez procesory szesnastordzeniowe – po jednym na węzeł superkomputera (pojedynczy węzeł to po prostu przystosowany do pracy w klastrze serwer). Dzięki tej rozbudowie zwiększono liczbę rdzeni z 224 256 do 299 008. Podwojono też pojemność pamięci RAM z 300 do 600 TB. W pierwszym etapie do 960 węzłów dodano akceleratory Tesla M2090, tworząc prototypowy układ TitanDev. Posłużył on do przetestowania oprogramowania dla pełnej wersji Titana. Ta faza rozbudowy zwiększyła moc obliczeniową Jaguara z 2,3 do 3,3 PFLOPS-ów. Dalsza rozbudowa uzależniona już była od chwili, w której na rynku pojawią się docelowe dla budowy Titana, oraz notabene specjalnie dla niego zaprojektowane 2688 rdzeniowe układy Kepler – a więc karty Tesla K20X.
W drugiej fazie rozbudowy Jaguara każdy z 18 688 węzłów, które fizycznie były kasetowym serwerami Cray XT5 zastąpiono serwerami XK7, przenosząc do nich 16-rdzeniowe procesory oraz wyposażając każdy z nich w akceleratory obliczeniowe Tesla K20X. Dzięki temu Titan stał się pierwszym system zawierającym ponad 50 mln (dokładnie 50 233 344 rdzenie) obliczeniowych rdzeni CUDA. Superkomputer Titan zajmuje powierzchnię 404 m² i zużywa łącznie 8,2 MW mocy. Procesory Titana są chłodzone są w standardowy sposób powietrzem, niemniej powietrze to zanim trafi na radiatory układów schładzane jest uprzednio wodą do temperatury 5,5°C.
Graficzny Titan
Na początku marca 2013 roku, Nvidia zaprezentowała graficzną wersję Keplera GK110, bazującą na architekturze opracowanej na potrzeby superkomputera Titan. Karta ta nosi nazwę GeForce GTX Titan i nie jest ona wersją GeForce'a GTX 780 – są to dwa różne produkty. GTX Titan, jak można się domyślić, składa się 2688 procesorów CUDA, zorganizowanych w 224 jednostkach teksturujących, które wchodzą z kolei w skład czterech modułów renderujących. Układ składa się z 7,08 miliarda tranzystorów i zajmuje powierzchnię 561 mm2 (proces technologiczny 28 nm). Karty wyposażono w 6 GB pamięci GDDR5 o efektywnej częstotliwości pracy 6008 MHz (boost: 876 MHz), przepustowość podsystemu pamięci to 288,4 GB/s, a szerokość szyny wynosi 384-bity. Fillrate odpowiednio to 40,2 gigapikseli na sekundę oraz 187,5 gigatekseli/s. Karta zgodna jest z bibliotekami Direct X 11.1, OpenGL 4.3 oraz Open CL 1.2. Moc obliczeniowa GTX Titana 4,5 TFLOPS-a dla obliczeń pojedyńczej precyzji oraz 1,3 TFLOPS-a dla obliczeń w podwójnej precyzji. Karta pobiera ok. 250 W mocy i kosztuje, bagatela ok. 4500 złotych.
Podczas konferencji GTC 2013 pojedyncza karta Nvidia GeForce GTX Titan posłużyła m.in. do zademonstrowania trzech prezentacji technologicznych realizowanych w czasie rzeczywistym. Jak podkreślił podczas odbywającej się na żywo prezentacji prezes i współzałożyciel Nvidii, Jen-Hsun Huang, były to pierwsze tego typu tak zaawansowane technologiczne dema graficzne, które działają w czasie rzeczywistym. Pierwsza demonstracja technologiczna dotyczyła odwzorowania i renderingu w czasie rzeczywistym falowania, zachowania się i interakcji wody z przedmiotami. W programie demonstracyjnym zaprezentowano płynący statek, który zmagał się z morzem i falami w zmiennych warunkach pogodowych – począwszy od spokojnego, słonecznego dnia, do szalejącego sztormu o sile 12 stopni w skali Beauforta. Zachowanie się fal, ich załamywanie, rozpryski bardzo realistycznie odwzorowywały rzeczywiste zachowanie się wody.
Drugie demo technologiczne przypomniało znaną z 2002 roku postać kobiety-elfa o imieniu Jutrzenka (ang. Down). Demo Down, w nowej odsłonie „A New Dawn” pojawiło się w zeszłym roku jako demonstracja potencjału obliczeniowego dwurdzeniowych kart Nvidia GeForce GTX 690, na konferencji GTC 2013 posłużyło zaś jako pokaz możliwości animacji związanych z odwzorowywaniem rzeczywistego zachowania się włosów i to na karcie jednordzeniowej. Demo to było wstępem do kolejnej, najważniejszej prezentacji możliwości współczesnego renderingu w czasie rzeczywistym.
Przygotowany wspólnie z firmą Activision silnik renderowania mimiki twarzy sprawia, że rzeczywiście prezentowana na ekranie wirtualna twarz zachowuje się w bardzo naturalny i, co ważne, można powiedzieć, że ludzki sposób. Twarz bez problemu wyrażać może dowolne emocje – np. śmiech, smutek, zdziwienie, przerażenie, powagę itp. Wydajność obliczeniowa kart z serii Titan, sprawiła, że tego typu animacje w czasie rzeczywistym stały się możliwe.
Nie tylko architektura x86
Od ponad dwóch lat, co jakiś czas, pojawiają się informacje dotyczące możliwości wykorzystania architektury procesorów ARM zaprojektowanych przez Nvidię w komputerach stacjonarnych, serwerach i superkomputerach. Chodzi tutaj o projekt Denver, który ma umożliwić Nvidii wejście na rynek przede wszystkim komputerów PC, w których wykorzystuje się procesory zintegrowane z modułem graficznym – tak jak ma to miejsce w układach Intela i AMD.
Pomysł ten wykorzystali hiszpańscy naukowcy z Barcelona Supercomputer Center, opracowując klaster wykorzystujący procesory ARM i akceleratory wyposażone w graficzno-obliczeniowe układy GPU. Informacje na temat tego eksperymentalnego klastra, po raz pierwszy publicznie przedstawione zostały właśnie na GTC 2013.
Zadaniem opracowanego w Barcelonie klastra było sprawdzenie możliwości współpracy pomiędzy procesorami ARM i architekturą GPU i określenie w rzeczywistości potencjału obliczeniowego tego typu architektury korzystającej z energooszczędnej architektury procesorów z prądożernymi akceleratorami obliczeniowymi. Projekt ten pod nazwą Tibadabo, był pierwszą przymiarką do tego, czy zbudowanie klastra obliczeniowego bazującego na architekturze ARM, wykorzystywanej na co dzień w telefonach i tabletach jest w ogóle możliwe, a jeśli tak, to czy istniejące oprogramowanie może być w takim klastrze wykorzystane oraz czy można różnego rodzaju istniejące aplikacje dostosować do pracy na tego typu klastrze, tak aby możliwa była na nim normalna, codzienna praca.
Naukowcom z Barcelona Supercomputer Center udało się skonstruować klaster mieszczący się w dwóch obudowach blade zawierających łącznie 32 serwery brzegowe, z których każdy wykorzystuje po osiem procesorów ARM. Serwery te stanowią łącznie 256 węzłów klastra, gdzie każdy węzeł składał się z dwurdzeniowego układu Tegra 2. Łącznie klaster zbudowany został z 512 rdzeni ARM.
Osobom pracującym nad projektem Tibadabo udało się przenieść „w miarę bezboleśnie” na klaster jedenaście aplikacji naukowych. Największym problemem było dostosowanie w aplikacjach procedur zarządzania hierarchicznie zorganizowaną pamięcią, tak aby programy te działały w sposób optymalny bez zbędnych opóźnień. Całość pracowała pod kontrolą systemu Linux Ubuntu.
Moc obliczeniowa klastra, jaką udało się osiągnąć wynosiła 512 GFLOPS-ów przy poborze mocy wynoszącej 3,4 KW, co dawało 0,15 GFLOPS na wat. Nie są to jeszcze zbyt imponujące rezultaty, gdyż na liście najbardziej energooszczędnych superkomputerów Green500, najlepsza maszyna na tej liście, Beacon – Appro GreenBlade GB824M z National Institute for Computational Sciences z Uniwersytetu Tennessee, uzyskuje 2,5 GFLOPS/W a ostatni na liście Cluster Platform 3000 DL165 z Financial Services Company 0,33 GFLOPS/W. Niemniej, założenia projektu związane z udowodnieniem możliwości stworzenia klastra bazującego na architekturze ARM zostały spełnione.
Kolejnym krokiem naukowców z Barcelony było zbudowanie klastra korzystającego z architektury ARM i CUDA. W projekcie tym pod nazwą Pedraforca wykorzystano platformę Carma. Carma to deweloperska platforma opracowana przez firmę Seco, która zawiera czterordzeniową jednostkę CPU Tegra 3 bazująca na rdzeniach ARM Cortex-A9 oraz jednostkę GPU Quadro 1000M z 96 rdzeniami CUDA (notebookowa architektura Fermi). Wybór platformy Cortex podyktowany był tym, że jest to pierwsza na świecie hybrydowa platforma łącząca w sobie rdzenie ARM i CUDA. Pojawiła się ona na rynku na początku 2012 roku.
Płyta główna z platformą Carma oprócz procesora Tegra 3 i układu graficznego Qadro 1000M zawiera 2 GB pamięci RAM dla CPU, 2 GB pamięci graficznej DDR3, cztery linie PCI Express łączące CPU z GPU, moduł sieciowy gibabit ethernet, interfejs SATA dla dysku twardego, trzy porty USB 2.0, oraz dwa lub trzy (w zależności od wersji) gniazda HDMI. System operacyjny dla platformy to Ubuntu Linux. Oprócz tego w zestawie Carma dostępne jest zestaw oprogramowania służący do pisania i obsługi dowolnego kodu CUDA. Sam zestaw powstał jako platforma deweloperska służąca do tworzenia aplikacji CUDA dla urządzeń wyposażonych w akceleratory GPU , wykorzystujących procesor bazujący na architekturze ARM, a więc z myślą o firmach produkujących oprogramowanie na tablety i smartfony. Wydajność platformy Carma wynosi 270 GFLOPS-ów w pojedynczej precyzji.
Na bazie Carmy udało zbudować się pierwszy na świecie klaster wykorzystujący architekturę ARM i CUDA. Do budowy wykorzystano 16 zestawów deweloperskich. Uzyskana moc obliczeniowa to 3,72 GLFOPS-ów, niemniej w przeliczeniu na jeden wat pobieranej mocy uzyskano 0,78 GFLOPS-a. Ograniczeniem systemu okazał się niewielki transfer danych do 400 MB/s poprzez magistralę PCI Express łączącą GPU z CPU na płycie głównej Carma oraz niepokrywanie się przesyłanych danych w danym cyklu z danymi potrzebnymi do obliczeń, co wprowadzało niepotrzebne puste cykle oczekiwania na niezbędne do dalszej pracy klastra informacje.
Obecnie zespół z Barcelony pracuje nad drugą wersją systemu Pedraforca – Pedraforca v.2. System ten będzie nie tyle akcelerowanym klastem, ale klastrem akceleratorów. W systemie tym rozdzielona zostanie cześć złożona z procesorów ARM od części GPU. Dzięki temu możliwy będzie transfer danych bezpośrednio pomiędzy poszczególnymi jednostkami GPU bez pośrednictwa CPU. System złożony zostanie na bazie modułów Tegra 3 Q7 (cztery rdzenie ARM Cortex-A9 taktowane zegarem 1,3 GHz), 2 GB pamięci DDR2, płyty głównej Mini ITX (4xPCIe, SATA 2.0, 1 GbE) dysków 2.5” SSD 250 GB SATA 3 MLC, akceleratorów Nvidia Tesla K20 oraz kontrolera Infiniband Mellanox ConnectX-3 o przepustowości 40 Gbit/s. Dzięki kontrolerowi magistrali Infiniband zapewniona będzie bezpośrednia transmisja danych pomiędzy poszczególnymi GPU. Prototyp systemu liczyć ma 64 węzły.
Kayla i Volta
Podobną platformą deweloperską do platformy Carma, która łączy architekturę ARM z architekturą CUDA jest Kayla. Kayla opracowana została jednak w celu wspomożenia deweloperów w przygotowaniu oprogramowania dla systemów Tegra bazujących na przyszłych rozwiązaniach bazujących na architekturze Logan i Parker. Logan, pojawi się w przyszłym roku i oprócz rdzeni ARM zawierać będzie architekturę GPU Kepler obsługującą OpenGL 4.3 i CUDA 5.0. Parker będzie bazował już na architekturze Maxwell, a sama już 64-bitowa architektura ARM ma być zgodna z wymaganiami wspomnianego wcześniej projektu Denver. Parker wykorzystywać ma tranzystory 3D wykonane w technologii FinFET.
Dzięki platformie Kayla programiści będą mogli rozpocząć już dziś przygotowywanie odpowiedniego oprogramowania i aplikacji. Sama Kayla wykorzystuje procesor Tegra 3 oraz nowy niskonapięciowy układ graficzny (jego nazwa nie jest jeszcze znana) zgodny z architekturą Kepler. Co ciekawe, dostępna jest też wersja bez zintegrowanej karty graficznej – na płytce znajduje się po prostu złącze PCI Express 16x.
Ostatnią prezentowaną na GTC 2013 nowością mająca usprawnić obliczenia i szybkość wykonywania operacji przy wykorzystaniu GPU była zapowiedź architektury Volta – następcy architektury Maxwell. Zastosowana zostanie tutaj zorganizowana w stosy (stacked) pamięć DRAM. Dzięki fizycznemu skróceniu drogi, jaką przesyłane są dane nastąpić ma znaczne przyspieszenie działania podsystemy pamięci.