Konferencja fundacji HSA rzuciła światło na przyszłość heterogonicznych systemów.
HSA i hUMA - ostatnio te dwie nazwy często występują w jednym zdaniu. Chociaż dotyczą różnych rzeczy odnoszą się do jednego - obliczeniach w heterogonicznych środowiskach, a dokładnie procesorach złożonych z różnych jednostek obliczeniowych. Mowa tu oczywiście o CPU (procesor to obliczeń ogólnych) i GPU (układ graficzny). Doskonałym tego przykładem jest APU AMD, procesory Intela wyposażone w zintegrowaną grafikę, czy choćby układy ARM stosowane w tabletach i smartfonach.
Z okazji corocznego sympozjum Hot Chips odbyła się telekonferencja poświęcona nowościom z dziedziny HSA, którą poprowadził szef Fundacji HSA - Phil Rogers. Oczywiście nie mogło zabraknąć przedstawicieli ARM, Qualcomma i AMD.
HSA jest fundacją powstałą w czerwcu ubiegłego roku, która została założona między innymi przez firmy ARM i AMD, która zajmuje się opracowywaniem metod programowania właśnie dla systemów heterogenicznych (rozwinięcie nazwy HSA to Heterogenous System Architecture). HSA pracuje nad tym, aby układy wyposażone w różne jednostki obliczeniowe (jak choćby SoC), były łatwiejsze do programowania i optymalizacji, mogły pracować z większą wydajnością oraz pobierały mniej energii. Na początku HSA skupia się oczywiście nad efektywnym włączeniem do obliczeń układu graficznego, ale jak twierdzą przedstawiciele organizacji, jest to dopiero początek.
O specyfikacji HSA szybko stało się głośno i okrzyknięto ją następcą OpenCL, czyli platformy programistycznej, która pozwala przeprowadzać obliczenia zarówno na CPU i GPU. Obecne rozwiązania OpenCL mają jednak swoje minusy, choćby w postaci znacznie bardziej skomplikowanego programowania. Zastąpienie OpenCL przez HSA nie jest to do końca prawdą. Architektura HSA nie zastępuje OpenCL, a jedynie pozwala na jej szybszą i bardziej efektywną implementację.
Prace postępują w różnych rejonach, między innymi przy włączeniu obliczeń OpenCL do platformy Java. Projekt Sumatra ma za cel umożliwienie aplikacjom Java wykorzystanie do obliczeń również układów graficznych. Docelowo deweloperzy przy użyciu obecnych bibliotek będą mogli wykorzystać akcelerację GPU bez żadnych zmian w kodzie. Jak na razie ostrożnie mówi się, że pełna funkcjonalność ma pojawić się wraz z Java 9, czyli okolicach 2015 roku. Cóż... poczekamy, zobaczymy.