Wydano PoCL 3.0 z niezależną implementacją standardu OpenCL 3.0

Wydano wydanie projektu PoCL 3.0 (Portable Computing Language OpenCL), rozwijającego realizację standardu OpenCL, niezależnego od producentów akceleratorów graficznych, co pozwala na korzystanie z różnych backendów do wykonywania rdzeni OpenCL na różnych typach procesorów graficznych i centralnych. Kod projektu jest udostępniany na licencji MIT. Obsługuje platformy X86_64, MIPS32, ARM v7, AMD HSA APU, GPU NVIDIA oraz różne wyspecjalizowane procesory ASIP (Application-Specific Instruction-set Processor) i procesory TTA (Transport Triggered Architecture) z architekturą VLIW.

Implementacja kompilatora jąder OpenCL oparta jest na LLVM, a jako frontend dla OpenCL C używany jest Clang. Aby zapewnić odpowiednią przenośność i wydajność, kompilator jąder OpenCL może generować kombinowane funkcje, które mogą wykorzystywać różne zasoby sprzętowe do równoległego wykonywania kodu, takie jak VLIW, superskalarny, SIMD, SIMT, wielordzeniowość i wielowątkowość. Obsługiwane są sterowniki ICD (Installable Client Driver). Dostępne są backendy umożliwiające działanie poprzez CPU, ASIP (TCE/TTA), GPU oparte na architekturze HSA oraz GPU NVIDIA (przez libcuda).

W nowej wersji:

  • Zrealizowano minimalny zestaw możliwości wymagany do wsparcia specyfikacji OpenCL 3.0. Obsługa OpenCL 3.0 jest obecnie dostępna tylko w backendzie opartym na CPU z LLVM 14 (w innych backendach oraz w przypadku starszych wersji LLVM dostępna jest obsługa OpenCL 1.2).
  • Dodano wsparcie dla Clang/LLVM 14.
  • Udoskonalono śledzenie i wizualizację.
  • Dodano wsparcie dla generowania wyspecjalizowanych grup funkcji oraz ich włączania do plików wykonywalnych z rdzeniami OpenCL.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster