ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° PoCL 1.4, нСзависимо изпълнСниС Π½Π° стандарта OpenCL

На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PoCL 1.4 (Portable Computing Language OpenCL), ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° внСдряванС Π½Π° стандарта OpenCL, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ ускоритСли ΠΈ позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅ Π·Π° изпълнСниС Π½Π° OpenCL ядра Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈ процСсори. Код Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° разпространява сС ΠΎΡ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· Π½Π° MIT. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° X86_64, MIPS32, ARM v7, AMD HSA APU ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ спСциализирани TTA процСсори (Вранспортно задСйствана Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°) с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° VLIW.

РСализацията Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° OpenCL ядрото Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° LLVM, Π° Clang сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π΅Π½ ΠΊΡ€Π°ΠΉ Π·Π° OpenCL C. Π—Π° Π΄Π° осигури подходяща прСносимост ΠΈ производитСлност, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ядрото Π½Π° OpenCL ΠΌΠΎΠΆΠ΅ Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ рСсурси Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄, ΠΊΠ°Ρ‚ΠΎ VLIW, супСрскаларСн, SIMD, SIMT, многоядрСни ΠΈ многонишкови. Налична ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ICD Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ
(Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€ΡƒΠ΅ΠΌ клиСнтски Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€). Има Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° осигуряванС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Ρ‡Ρ€Π΅Π· CPU, ASIP (TCE/TTA), GPU Π±Π°Π·ΠΈΡ€Π°Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Hsa ΠΈ NVIDIA GPU (CUDA).

Π’ Π½ΠΎΠ²Π° вСрсия:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° LLVM/Clang 9.0. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° вСрсии Π½Π° LLVM, ΠΏΠΎ-стари ΠΎΡ‚ 6.0, Π΅ прСустановСна.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ изпълнСниС Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ прСдставяния, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° процСсора SPIR ΠΈ SPIR-V (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² API Π½Π° Vulkan), ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° прСдставянС Π½Π° ΡˆΠ΅ΠΉΠ΄ΡŠΡ€ΠΈ Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ изчислСния;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ pocl-accel Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Π° инфраструктура Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenCL 1.2 Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ ускоритСли, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Π½ интСрфСйс с ΠΊΠ°Ρ€Ρ‚Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° (mmap);
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° pocl инсталации, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° прСмСстванС).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€