Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

Systemy akceleracji obliczeniowej

Data publikacji: 15-06-2020 Autor: Marcin Bieńkowski
Nvidia Tesla V100 w postaci...

Akceleratory obliczeniowe HPC bazujące na architekturze kart graficznych wykorzystywane do przyspieszenia skomplikowanych obliczeń prowadzonych na stacjach roboczych i w systemach serwerowych są w użyciu już od ponad 10 lat. Co prawda rozwój tego rynku nie jest szczególnie spektakularny, ale kolejne generacje oferują coraz większe możliwości.

 

Pomysł wykorzystania potencjału tkwiącego w równoległym przetwarzaniu danych na kartach graficznych, który wywodzi się z generowania grafiki 3D, pojawił się około roku 2000. Wtedy to inżynierowie zaangażowani w projektowanie superkomputerów i wykorzystujący je w codziennej pracy naukowcy zauważyli, jak ogromna moc obliczeniowa tkwi w będących wówczas nowością procesorach graficznych. Niemniej na możliwość wykorzystania układów graficznych do przyspieszenia obliczeń przyszło nam jeszcze trochę poczekać. Pierwsze udane próby wykorzystania do obliczeń karty graficznej miały miejsce dopiero w listopadzie 2004 roku. Wówczas to użyto kartę graficzną Nvidia Quadro FX 3400 do obliczeń związanych z symulacją zapadającej się gwiazdy. Procesor graficzny wykonał te obliczenia czterokrotnie szybciej niż procesor Intel Pentium 4 Xeon 3.0 GHz. Sukces ten dał impuls do opracowania akceleratorów obliczeniowych bazujących na architekturze kart graficznych.

 

> ZACZĘŁO SIĘ OD TESLI


Powszechne zastosowanie kart graficznych do różnego rodzaju obliczeń było jednak wówczas bardzo trudne i wymagało każdorazowo pisania wyspecjalizowanego w danym scenariuszu oprogramowania. Aby ułatwić prowadzenie różnego rodzaju obliczeń z wykorzystaniem możliwości kart graficznych inżynierowie z Nvidii wpadli na pomysł, aby przygotować specjalne środowisko programistyczne pozwalające na stosunkowo łatwe przygotowywanie programów, a także opracować wykorzystujący je, przystosowany do tego typu obliczeń akcelerator bazujący na układzie graficznym. Tak powstała architektura CUDA oraz pierwsze akceleratory obliczeniowe z rodziny Tesla.


Tesle pojawiły się na rynku pod koniec 2006 roku, a więc zaledwie dwa lata po pierwszych udanych eksperymentach. Urządzenia te bazowały na układach graficznych GeForce 8800 GTX, a odpowiednio zmodyfikowany do wykonywania obliczeń układ graficzny oznaczony były symbolem Tesla T8P. Chwilę później, w 2008 roku, skonstruowano pierwszy superkomputer wykorzystujący do obliczeń akceleratory Tesla. Był to japoński 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 najszybszych superkomputerów świata.


Największym przełomem w dziedzinie akceleratorów HPC okazał się jednak Tesla K20X. Akcelerator ten powstał na potrzeby zlokalizowanego w Oak Ridge National Laboratory w USA superkomputera Titan zbudowanego przez firmę Cray. Maszyna również wykorzystuje hybrydową architekturę CPU-GPU i w swojej pierwotnej odsłonie, jeszcze przed rozbudową, składa się z 18 688 16-rdzeniowych procesorów AMD Opteron 6274 oraz 18 688 układów Tesla K20X. Pierwotna łączna moc obliczeniowa Titana wynosiła 17,59 petaflopsa, a Tesla K20X była pierwszym akceleratorem, którego moc obliczeniowa przekroczyła 10 PFLOPS-ów.


Dlaczego był to przełom? Otóż zaprojektowany specjalnie dla superkomputera Titan akcelerator Tesla K20X posłużył później jako baza do opracowania zaprezentowanej na początku marca 2013 roku najszybszej wówczas na świecie pojedynczej karty graficznej GeForce GTX Titan (jej nazwa pochodzi właśnie od superkomputera Titan). Odwrócony został w ten sposób proces projektowania nowej architektury kart graficznych – to nie akcelerator wywodził się już z architektury kart graficznych, lecz to karty graficzne były budowane na bazie architektury akceleratora.


> WSPÓŁCZESNE ROZWIĄZANIA


Obecnie Nvidia oferuje kilka typów akceleratorów obliczeniowych przeznaczonych zarówno do systemów serwerowych, jak i wysokowydajnych stacji roboczych. Są to modele Tesla T4, Tesla V100, Tesla P100, Tesla P4/P40, a także systemy DGX, o których więcej za chwilę.


Tesla P100 to obecnie najmniej zaawansowana (jeśli można w ogóle tak określić akcelerator HPC) konstrukcja. Pojawiła się na rynku już w 2016 roku i bazuje jeszcze na architekturze graficznej Pascal. Urządzenie dostępne jest w dwóch wersjach – w postaci karty PCIe, przeznaczonej do montażu w stacji roboczej, oraz modułu zgodnego z interfejsem Nvidia NVLink (wersja SXM2), który umożliwia wykorzystanie akceleratora w systemach serwerowych i centrach danych, dzięki któremu łatwo połączyć cztery moduły w jeden klaster.


W samym układzie znajdziemy sześć bloków GPC (Graphics Processing Clusters), 56 procesorów SM (Streaming Multiprocessors) i 28 jednostek TPC (Texture Processing Clusters) i osiem 512-bitowych kontrolerów pamięci. Daje to 4096-bitowy interfejs dla 16 GB pamięci HBM2, a przepustowość wynosi 720 GB/s przy częstotliwości pracy 1,4 GHz. Każdy blok SM udostępnia po 64 rdzenie CUDA i 4 jednostki teksturujące. Składający się z 15,3 miliarda tranzystorów procesor taktowany jest 1328-megahercowym zegarem (1480 MHz w trybie Boost).


W układzie tym postawiono na obliczenia podwójnej precyzji. Widać to wyraźnie po stosunku liczby rdzeni CUDA FP64 do CUDA FP32, który wynosi 1:2 (1792 do 3584), podczas gdy w Teslach poprzedniej generacji było to 1:3, a jeszcze wcześniej 1:32. Zabieg ten przełożył się na wydajność na poziomie 10,6 TFLOPS dla obliczeń pojedynczej precyzji i 5,3 TFLOPS dla podwójnej. Procesor zoptymalizowano też pod kątem systemów uczenia maszynowego, gdzie wysoka dokładność obliczeń nie jest wymagana. Tesla P100 świetnie sprawdza się też w zmiennoprzecinkowych obliczeniach FP16 (21,2 TFLOPS), gdzie dwie operacje 16-bitowe wykonywane są jednocześnie na jednym rdzeniu CUDA FP32.

 

[...]

 

Autor jest niezależnym dziennikarzem zajmującym się propagowaniem nauki i techniki.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"