ΠΠΎΡΡΡΠΏΠ΅Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° PoCL 1.3 (Portable Computing Language OpenCL), ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° OpenCL, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ OpenCL-ΡΠ΄Π΅Ρ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ X86_64, MIPS32, ARM v7, AMD HSA APU ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ TTA-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ (Transport Triggered Architecture) c Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ VLIW.
Implementasine kompiler kernel OpenCL dibangun kanthi basis LLVM, lan Clang digunakake minangka mburi ngarep kanggo OpenCL C. Kanggo njamin portabilitas lan kinerja sing tepat, kompiler kernel OpenCL bisa ngasilake fungsi kombinasi sing bisa nggunakake macem-macem sumber daya hardware kanggo parallelize eksekusi kode, kayata VLIW, superscalar, SIMD, SIMT, multi-inti lan multi-threading. Dhukungan driver ICD kasedhiya
(Installable Client Driver). ΠΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π±ΡΠΊΠ΅Π½Π΄Ρ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅Π· CPU, ASIP (TCE/TTA), GPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ HSA ΠΈ GPU NVIDIA (CUDA).
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° LLVM/Clang 8.0. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ICD (Installable Client Driver) Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ macOS. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ pocl Π±Π΅Π· Π±ΡΠΊΠ΅Π½Π΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ CPU. ΠΠ»Ρ HSA (Heterogeneous System Architecture) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ISA ΠΏΠΎΠ²Π΅ΡΡ
HSA runtime. ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Vecmathlib ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΠΉ LLVM (ΠΌΠ΅Π½ΡΡΠ΅ 6.0).
Source: opennet.ru