Khronos Group ogłosiło wydanie SPIR 2.0 Provisional Specification dla programów napisanych z użyciem OpenCL 2.0. Standard Portable Intermediate Representation jest językiem, który pośredniczy w obliczeniach równoległych na kartach graficznych. Przekształca odpowiednio napisany kod, z użyciem kompilatora LLVM, który jest następnie uruchamiany na maszynie wirtualnej OpenCL.
Najważniejszą zmianą jest dodanie pełnej obsługi specyfikacji OpenCL 2.0, a co za tym idzie wszystkich nowości w niej zawartych. SPIR 2.0 wykorzystuje standard LLVM/Clang 3.4.
Khronos Group udostępniła SYCL 1.2 Provisional Specification, aby umożliwić społeczności zgłaszanie swoich uwag, odnośnie dostępnych funkcji. SYCL opiera się na SPIR 1.2 i zostało zaprojektowane, aby zapewnić warstwę abstrakcji dla implementacji C++ w standardzie OpenCL. Standard ma być rozwijany na równi z OpenCL, co oznacza, że będzie wspierane przez wydanie OpenCL 2.0.
Udostępnione zostanie produkcyjne API, a całość ma być kompatybilna z większością dostępnych kompilatorów C++. Umożliwiony zostanie asynchroniczny niskopoziomowy dostęp do funkcji OpenCL dla uzyskania, jak największej wydajności i niskich opóźnień. Autorzy planują także integrację OpenGL, aby umożliwić współdzielenie tekstur i obrazów z SYCL i OpenCL.
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.
SPIR as Compiler-Oriented Middleware
SPIR Reference Flow
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
Khronos Group ogłosiło wydanie wstępnych specyfikacji OpenCL SPIR 1.2 i OpenCL 2.0, wolnego frameworka wspomagającego pisanie aplikacji wielo-platformowych składających się z różnego rodzaju jednostek obliczeniowych m.in. CPU, GPU. Specyfikacja definiuje języka programowania C99 z rozszerzeniami dla programowania równoległego, API dla koordynowania danych i zadań oparte na równoległych obliczeniach z wielu różnorodnych procesorów, wymagania numeryczne oparte i standard IEEE 754, i efektywna współpraca z OpenGL, OpenGL ES, i inne graficzne API.
Nowości i aktualizacje:
Shared Virtual Memory
Dynamic Parallelism
Generic Address Space
Images
C11 Atomics
Pipes
Android Installable Client Driver Extension
OpenCL SPIR 1.2
SPIR – 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. Będzie możliwe także używanie takich frameworków, jak LLVM i Clang.
Używamy plików cookie, aby zapewnić najlepszą jakość na naszej stronie internetowej. Więcej informacji o plikach cookie, z których korzystamy, lub o ich wyłączeniu oraz ustawienia są dostępne pod settings.
Ta strona korzysta z plików cookie, abyśmy mogli zapewnić Ci najlepszą możliwą obsługę. Informacje o plikach cookie są przechowywane w przeglądarce użytkownika i służą do wykonywania funkcji, takich jak rozpoznawanie użytkownika po powrocie do naszej witryny i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla niego najbardziej interesujące i użyteczne.
Możesz dostosować wszystkie ustawienia plików cookie, przeglądając karty po lewej stronie
Ściśle niezbędne pliki cookie
Ściśle konieczne pliki cookie powinny być włączone przez cały czas, abyśmy mogli zapisać preferencje dotyczące ustawień plików cookie.
Jeśli wyłączysz ten plik cookie, nie będziemy mogli zapisać twoich preferencji. Oznacza to, że za każdym razem, gdy odwiedzasz tę stronę, musisz ponownie włączyć lub wyłączyć pliki cookie.