ΠΠΎΡΡΡΠΏΠ΅Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° PoCL 1.3 (Portable Computing Language OpenCL), ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° OpenCL, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ OpenCL-ΡΠ΄Π΅Ρ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ X86_64, MIPS32, ARM v7, AMD HSA APU ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ TTA-ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ (Transport Triggered Architecture) c Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ VLIW.
Utekelezaji wa mkusanyaji wa kernel ya OpenCL umejengwa kwa msingi wa LLVM, na Clang inatumika kama sehemu ya mbele ya OpenCL C. Ili kuhakikisha utekelevu na utendakazi ufaao, kikusanyaji cha OpenCL kernel kinaweza kutoa vitendaji mchanganyiko vinavyoweza kutumia nyenzo mbalimbali za maunzi kusawazisha utekelezaji wa msimbo, kama vile VLIW, superscalar, SIMD, SIMT, multi-core na multi-threading. Usaidizi wa dereva wa ICD unapatikana
(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).
Chanzo: opennet.ru