Bazując na fundamentach stworzonych przez Architekturę HSA firma AMD ogłosiła dziś stworzenie zestawu narzędzi, które ułatwią opracowywanie wysokowydajnych i sprawnych energetycznie heterogenicznych systemów obliczeniowych. “Inicjatywa Boltzmanna” zwiększa możliwości HSA, aby oprogramowanie zapewniało maksymalną efektywność obliczeniową zarówno przy wykorzystaniu procesora (CPU), jak i kart graficznych AMD FirePro (GPU). Pierwsze rezultaty tej inicjatywy są prezentowane w trakcie konferencji SC15 i wśród nich są: Kompilator HCC (Heterogeneous Compute Compiler), sterownik typu “headless” dla systemu Linux, infrastruktura uruchomieniowa dla systemów obliczeniowych wysokiej wydajności, tj. klastrów HPC, oraz konwerter HIP (Hetereogeneous-compute Interface for Portability) służący do przenoszenia aplikacji bazujących na CUDA do powszechnego modelu programistycznego C++. Narzędzia te powstały po to, aby zwiększyć wydajność aplikacji na wielu rynkach – od uczenia maszynowego po dynamikę molekularną, od badań nad paliwami kopalnymi po efekty wizualne i obrazowanie generowane komputerowo.
“Opracowany przez AMD konwerter HIP ułatwia wydajną konwersję dla społeczności skupionej wokół systemów HPC. Możliwość wzięcia kodu napisanego dla jednej architektury i przełożenia go dla innej bez negatywnego wpływu na wydajność to niezwykły potencjał
, — powiedział Jim Belak, dyrektor w Centrum Współprojektowania Eksaskalowego w Materiałach Ekstremalnych, jakie znajduje się w Departamencie Energii Stanów Zjednoczonych, a ponadto starszy naukowiec materiałoznawstwa obliczeniowego w Lawrence Livermore National Laboratory. —
Praca, jaką wykonuje AMD w celu stworzenia wysoce wydajnego kompilatora, który funkcjonuje poniżej wysokopoziomowego modelu programowania, pozwala badaczom skoncentrować się na rozwiązywaniu problemów i publikowaniu przełomowych wyników badań zamiast martwić się o optymalizacje dla poszczególnego rodzaju sprzętu
.”
Nowy kompilator dla obliczeń heterogenicznych
Maksymalizujące efektywność obliczeniową połączenie wielordzeniowego, szeregowego przetwarzania danych przez procesory z równoległym przetwarzaniem przez karty graficzne jest ideą, jaka funkcjonuje już w branży za sprawą Fundacji HSA (Architektury Systemów Heterogenicznych), której firma AMD była jedną z założycielek. Jednym z celów HSA jest uproszczenie tworzenia aplikacji, które realizują obliczenia równolegle, poprzez zastosowanie wysokopoziomowych języków programowania. Nowa Inicjatywa Boltzmana to zestaw narzędzi, wśród których znajduje się kompilator HCC dla języka C++, dzięki czemu znacząco zwiększa się liczba deweloperów, którzy mogą skorzystać na zastosowaniu HSA. To kluczowe narzędzie także dlatego, że deweloperzy mogą łatwo i efektywnie wykorzystać zasoby sprzętowe w heterogenicznych systemach. Kompilator oferuje uproszczony model rozwoju oprogramowania dzięki jednoźródłowemu środowisku wykonawczemu, gdzie kod dla procesora i układu graficznego jest umieszczony w tym samym pliku. Jednocześnie HCC zwiększa efektywność funkcjonowania aplikacji poprzez automatyczne umieszczanie kodu wykonawczego, który realizuje obliczenia na obu układach obliczeniowych.
“Choć nasi klienci są podekscytowaniu naszymi innowacjami na polu sprzętowym, takimi jak pierwszy układ graficzny z pamięcią HBM z tego roku czy zaplanowany na przyszły nowy rdzeń x86, tak wiemy, że równie ważne dla nich są innowacje w sferze oprogramowania
, — powiedział Mark Papermaster, starszy wiceprezes i główny dyrektor odpowiedzialny za technologię w AMD —
Wyzwaniem zawsze było uwolnienie pełnego potencjału sprzętu i uczynienie go łatwo dostępnym dla deweloperów, którzy pracują nad rozwiązaniem trudnych problemów. Najnowsze pozycje w ofercie AMD ułatwiają wykorzystanie silników odpowiedzialnych za obliczenia równolegle zarówno w procesorach (CPU), jak i kartach graficznych (GPU). Zależy nam także na tym, żeby te korzyści były dostępne dla szerokiej grupy deweloperów korzystających z szeregu rozmaitych platform obliczeniowych – od systemów wbudowanych po superkomputery
.”
Sterownik dla systemu Linux i środowisko uruchomieniowe stworzone z myślą o wymaganiach klastrów wysokiej wydajności (HPC)
W celu uzupełnienia pakietu narzędzi kompilacyjnych firma AMD opracowała zorientowane na potrzeby systemów HPC sterownik i środowisko uruchomieniowe. Ten nowy sterownik dla systemu Linux typu “headless” wprowadza kluczowe funkcje, aby spełnić najważniejsze wymogi superkomputerów, w tym zwracanie wyników z niskimi opóźnieniami, transfery danych poprzez interfejs PCIe, obsługę trybu P2P dla kart graficznych, trybu InfiniBand RDMA (Remote Direct Memory Access), który pozwala na bezpośrednie połączenie z pamięcią karty graficznej, oraz trybu LSMA (Large Single Memory Allocation).
“HIP-notyzowanie” aplikacji CUDA, aby działały na kartach graficznych AMD
Firma AMD, aby umożliwić aplikacjom napisanym w języku CUDA działanie na swoich platformach, wprowadziła konwerter HIP. Testy AMD pokazują, że przy użyciu HIP w wielu przypadkach 90% lub więcej kodu CUDA może być automatycznie skonwertowane do C++. Pozostałe 10% można skonwertować manualnie przy użyciu powszechnie znanego C++. To znacząco zwiększa bazę sprzętową, która może uruchomić programy, które wcześniej zaprogramowano tylko dla języka CUDA. Na SC15 firma AMD demonstruje potencjał HIP uruchamiając zaprogramowany pod CUDA benchmark Rodinia na kartach graficznych AMD.
Dostępność
Narzędzia objęte Inicjatywą Boltzmanna powinny być dostępne w 1 kwartale 2016 roku.