Π Π΅Π»ΠΈΠ· Π½Π° PoCL 6.0 с нСзависима рСализация Π½Π° стандарта OpenCL

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π΅ Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PoCL 6.0 (Portable Computing Language OpenCL), ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π° рСализацията Π½Π° стандарта OpenCL, нСзависима ΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ ускоритСли ΠΈ позволяваща ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ Π·Π° изпълнСниС Π½Π° OpenCL ядра Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈ процСсори. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ лицСнзия MIT. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ спСциализирани ASIP (Application-Specific Instruction-set Processor) ΠΈ TTA процСсори (Transport Triggered Architecture) с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° VLIW.

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

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

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Clang/LLVM 18.0, спряна Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° LLVM 10, 11, 12 ΠΈ 13.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ Π½ΠΎΠ² Π±Π΅ΠΊΠ΅Π½Π΄ cpu-tbb, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ Π·Π° разпаралСляванС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° OneTBB, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π° ΠΎΡ‚ компания Intel.
  • Π’ Π±Π΅ΠΊΠ΅Π½Π΄Π° cpu, осигуряващ изпълнСниС Π½Π° OpenCL ядра Π½Π° CPU, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° стандарта Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ OpenMP, Π΄ΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ clGetDeviceAndHostTimer(), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ СкспСримСнтални Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ cl_pocl_svm_rect, cl_pocl_command_buffer_svm ΠΈ cl_pocl_command_buffer_host_buffer.
  • Π’ Π±Π΅ΠΊΠ΅Π½Π΄Π° Β«RemoteΒ», ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ изчислСния Ρ‡Ρ€Π΅Π· изнасянС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ OpenCL Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ хостовС Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ„ΠΎΠ½ΠΎΠ² процСс pocld, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° CG SVM (Coarse-Grain Shared Virtual Memory), Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π΅ΠΊΠ΅Π½Π΄Π° с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Vsock ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° компилация ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ clCompileProgram() ΠΈ clLinkProgram().
  • Π’ Π±Π΅ΠΊΠ΅Π½Π΄Π° LevelZero, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ API Level Zero, Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΡƒΡ„Π΅Ρ€ΠΈ с Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π°Π΄ 4Π“Π‘, ΠΈ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° процСситС Π½Π° синхронизация.
  • Π’ Π±Π΅ΠΊΠ΅Π½Π΄Π° CUDA са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ sub_group_shuffle ΠΈ sub_group_shuffle_xor, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π»ΠΈΠΌΠΈΡ‚ΡŠΡ‚ CL_DEVICE_MAX_MEM_ALLOC_SIZE.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster