Firma AMD ogłosiła wydanie nowej wersji Radeon Open Compute Platform (ROCm). Jest to platforma, która pozwala przyspieszyć rozwój wydajnych i efektywnych energetycznie heterogenicznych systemów obliczeniowych. Kolejne wersje ROCm będą obsługiwały procesory AMD z rdzeniami „Zen”, ARM AArch64 w procesorach Cavium ThunderX oraz IBM Power 8. Prócz tego ma się pojawić również obsługa standardu OpenCL.
Wśród nowości najnowszej wersji ROCm są:
- Powiększona liczba obsługiwanych kart graficznych. ROCm obsługuje teraz wszystkie karty graficzne z rodziny Polaris. Są to modele Radeon RX 460, 470 i 480, a także Radeon Pro WX 4100, 5100 i 7100. Produkty z rodziny Polaris zostały zaprojektowane tak, aby jak najlepiej wykorzystywały możliwości niskopoziomowego programowania. Pozwala to deweloperom wykorzystać mocy urządzeń do maksimum.
- Wirtualizacja kart graficznych poprzez kontenery systemu operacyjnego i funkcję Kernel Virtual Machine (KVM) w systemie Linux. ROCm obsługuje teraz konteneryzację Docker, dzięki czemu użytkownicy mogą jeszcze łatwiej wdrażać swoje aplikacje w linuksowym środowisku wykorzystującym ROCm. Obsługuje on też wirtualizację kart graficznych poprzez KVM, co umożliwia skorzystanie z akcelerowanych graficznie obliczeń w warunkach wirtualizacji.
- Heterogeniczny Kompilator Obliczeniowy (HCC). Jest to jednoźródłowy kompilator ISO C++ 11/14 dla zarówno procesorów jak i kart graficznych, który obsługuje bibliotekę C++ 17 „Parallel Standard Template Library”. Zbudowano go w oparciu o bogatą infrastrukturę kompilacyjną, w tym generowanie kodu GCN ISA bazując na LLVM z obsługą „assembler” i „disassember”.
- Heterogeniczny Interfejs Obliczeniowy dla Przenośności (HIP). Jest to rozwiązanie umożliwia deweloperom przenoszenie aplikacji CUDA do ROCm przy wykorzystaniu systemu HIPIFY. Automatyzuje on konwersję na język kernela HIP i środowisko uruchomieniowe API. Dzięki temu możliwe jest stworzenie przenośnych aplikacji, które będą w stanie działać na praktycznie każdej karcie graficznej przy wykorzystaniu kompilatora Nvidia CUDA lub HCC.
- Nowe biblioteki akceleracji matematycznej. ROCm wprowadza obsługę nowych, zaawansowanych bibliotek akceleracji matematycznej z obsługą BLAS, FFT i „N-dimensional tensor contactions”.
Radeon Open Compute to platforma dla nowej ery systemów stworzonych do rozwiązywania problemów, którą zaprojektowaliśmy, aby pozwalała wykorzystać możliwości otwartego oprogramowania w celu zwiększenia możliwości superkomputerów i systemów hiperskalarnych. Dzisiejsza premiera ROCm daje deweloperom niezwykłą elastyczność w tym, jak posługują się mocą układów graficznych. Jesteśmy bardzo podekscytowani mogąc pokazać niektóre z tych możliwości na konferencji SC16.
– powiedział Raja Koduri, starszy wiceprezes i główny architekt w Radeon Technologies Group w AMD.
Otwarte podejście do komputerów heterogenicznych może pomóc przenieść korzyści płynące z zastosowania superkomputerów bezpośrednio na grunt pracy deweloperów, ponieważ zapewni to im elastyczność w wykorzystaniu dostępnych zasobów obliczeniowych i możliwość jak najlepszego wykorzystania mocy, jaką dysponuje ich sprzęt. Jako lidera w kształceniu i utrzymywaniu społeczności skupionych wokół otwartych rozwiązań bardzo nas cieszy widząc, że AMD zdecydowało się na pro-społecznościowe podejście przy tworzeniu ROCm.
– powiedział Denise Dumas, wiceprezes w Platform Engineering w firmie Red Hat.
Połączenie wsparcia kart graficznych AMD dla ThunderX wraz z szeroką funkcjonalnością sprawia, że ROCm jest bardzo cennym dodatkiem do rozwiązań Cavium dla superkomputerów i rynku hiperskalarnych serwerów. Dzisiejsza premiera AMD to znakomite uzupełnienie innowacyjnych funkcji procesora ThunderX, który wykorzystuje 48 rdzenie ARMv8, zintegrowany podsystem I/O i obsługuje dwu-procesorowe konfiguracje, jakie klienci i partnerzy wdrażają dziś na tych rynkach.
– powiedział Larry Wikelius, wiceprezes w Software Ecosystem and Solutions Group w Cavium, Inc.
Demonstracje na konferencji SC16
- Klaster ROCm uruchamiający kod uczenia maszynowego na serwerach Supermicro®
- Przenoszenie aplikacji Caffe CUDA za pomocą HIP
- Wizualizacje ray-tracingu i VR w superkomputerach z wykorzystaniem kart graficznych AMD FirePro™ S9300 X2 i Radeon™ R9 Nano
- OpenMP 4.5 dla wielu platform i kart graficznych
- Serwer IBM Power8 z kartami graficznymi AMD FirePro™ S9170, który uruchamia ROCm
- Serwer z procesorami Penguin Computing Tundra™ Extreme ARMv8 i kartami Radeon™ RX 460, który uruchamia środowisko ROCm
- In-situ rendering z wykorzystaniem Headless OpenGL/EGL Interop OpenCL i ROCm