Wydanie PoCL 1.4, niezależnej implementacji standardu OpenCL

Do dyspozycji wydanie projektu PoCL 1.4 (Portable Computing Language OpenCL), który rozwija implementację standardu OpenCL, która jest niezależna od producentów akceleratorów graficznych i umożliwia wykorzystanie różnych backendów do wykonywania jąder OpenCL na różnych typach kart graficznych i procesorach centralnych. Kod projektu dystrybuowane przez na licencji MIT. Obsługuje pracę na platformach X86_64, MIPS32, ARM v7, AMD HSA APU i różnych wyspecjalizowanych procesorach TTA (Architektura wyzwalana przez transport) z architekturą VLIW.

Implementacja kompilatora jądra OpenCL zbudowana jest w oparciu o LLVM, a Clang służy jako frontend dla OpenCL C. Aby zapewnić odpowiednią przenośność i wydajność, kompilator jądra OpenCL może generować funkcje kombinowane, które mogą wykorzystywać różne zasoby sprzętowe do równoległego wykonywania kodu, takie jak VLIW, superskalarne, SIMD, SIMT, wielordzeniowe i wielowątkowe. Dostępna obsługa sterownika ICD
(Do zainstalowania sterownik klienta). Istnieją backendy zapewniające działanie poprzez architekturę CPU, ASIP (TCE/TTA) i GPU Hsa i procesor graficzny NVIDIA (CUDA).

В Nowa wersja:

  • Dodano wsparcie LLVM/Clang 9.0. Zakończono obsługę wersji LLVM starszych niż 6.0.
  • Ulepszona implementacja pośrednich reprezentacji kodu oparta na procesorze SPIR и SPIR-V (używany w API Vulkan), którego można używać zarówno do reprezentowania shaderów dla grafiki, jak i do obliczeń równoległych;
  • Dodano sterownik pocl-accel z przykładową infrastrukturą do obsługi akceleratorów sprzętowych OpenCL 1.2, które implementują interfejs kontrolny mapowany w pamięci (mmap);
  • Dodano możliwość budowania instalacji pocl, które nie są powiązane z katalogami (przemieszczalne).

Źródło: opennet.ru

Dodaj komentarz