Khronos Group ogłosiło wydanie specyfikacji SPIR 1.2 dla programów napisanych z użyciem OpenCL 1.2. Standard Portable Intermediate Representation ma być przenośną nieźródłową reprezentacją dla programów OpenCL na urządzeniach. Umożliwiać ma łatwe pisanie programów, bez potrzeby dołączania źródeł jądra oraz niepotrzebnym zarządzaniem urządzeniami i sterownikami od wielu dostawców.
Udostępniono:
- Nieźródłowe kodowanie i binarny poziom przenośności dla programów OpenCL 1.2
- Kod do zmodyfikowanej wersji kompilatora Clang 3.2, który generuje SPIR z programów OpenCL C 1.2
- Moduł weryfikujący SPIR, napisany jako LLVM pass
- Plik nagłówkowy ze wszystkimi numerycznymi wartościami specyfikacji SPIR 1.2
Jest to świetna wiadomość. Będzie można wreszcie kompilować kod offline (czytaj dobrze zoptymalizować kompilowane kernele), nie liczyć na kompilator w sterownikach (przykładowo bardziej złożony kernel wywalał sterowniki AMD podczas kompilacji), bo będzie on bardzo ograniczony. Super sprawa… teraz tylko czekać na sterowniki które będą to obsługiwać.
Krzysztof Zubik liked this on Facebook.
Michał Olber liked this on Facebook.