αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 3.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†

αž€αž„αŸ’αžœαž›αŸ‹ Khronos αžŠαŸ‚αž›αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž›αž€αŸ’αžαžŽαŸˆαž‚αŸ’αžšαž½αžŸαžΆαžš OpenGL, Vulkan αž“αž·αž„ OpenCL αŸ” αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸ αž›αžΎαž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ OpenCL 3.0 αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹ APIs αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž“αŸƒαž—αžΆαžŸαžΆ C αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαŸ€αž”αž…αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αž†αŸ’αž›αž„αžœαŸαž‘αž·αž€αžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸŠαžΈαž—αžΈαž™αžΌαž–αž αž»αžŸαŸ’αž“αžΌαž›, GPUs, FPGAs, DSPs αž“αž·αž„αž”αž“αŸ’αž‘αŸ‡αžˆαžΈαž”αž―αž€αž‘αŸαžŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž–αžΈαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžŠαŸ‚αž›αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž‘αŸ†αž“αžΎαž” αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž–αž–αž€αŸ” αž‘αŸ…αž”αž“αŸ’αž‘αŸ‡αžˆαžΈαž”αžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαž…αž›αŸαž αž“αž·αž„αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž”αž„αŸ’αž€αž”αŸ‹αŸ” αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš OpenCL αž‚αžΊαž”αžΎαž€αž…αŸ†αž αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž αžΎαž™αž˜αž·αž“αž‘αžΆαž˜αž‘αžΆαžšαžαŸ’αž›αŸƒαž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽαž‘αŸαŸ” αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžŠαžΌαž…αž‡αžΆ IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments αž“αž·αž„ Toshiba αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž„αžΆαžšαž›αžΎαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž“αŸαŸ‡αŸ”

αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αžαžΆαŸ†αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“ αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αžαž·αž€αŸ‚αž›αž˜αŸ’αž’αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‰αžΎαžαžΆαž˜αžšαž™αŸˆ GitHub. αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž˜αž€αž–αž·αž…αžΆαžšαžŽαžΆ αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ αž αžΎαž™αžˆαž»αžαžŸαžΆαž€αž›αŸ’αž”αž„αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™ αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ”

αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 3.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†

αž‚αž½αžšαž±αŸ’αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž”αŸ†αž•αž»αžαŸ” αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 3.0:

  • OpenCL 3.0 API αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž‚αŸ’αžšαž”αŸ‹αž€αŸ†αžŽαŸ‚αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžšαž”αžŸαŸ‹ OpenCL (1.2, 2.x) αžŠαŸ„αž™αž˜αž·αž“αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž›αž€αŸ’αžαžŽαŸˆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαŸ‚αž“αžΈαž˜αž½αž™αŸ—αŸ” OpenCL 3.0 αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž„αŸ’αžšαžΈαž€αž˜αž»αžαž„αžΆαžšαžŸαŸ’αž“αžΌαž›αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ„αž™αž˜αž·αž“αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž›αž€αŸ’αžαžŽαŸˆ monolithic αž“αŸƒ OpenCL 1.2/2.X αŸ”
  • αž˜αžΆαž“αžαŸ‚αž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αž’αž“αž»αž›αŸ„αž˜αžαžΆαž˜ OpenCL 1.2 αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαžαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž αžΎαž™αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžŽαŸˆαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ OpenCL 2.x αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ OpenCL 3.0 αž αžΎαž™αž“αžΉαž„αž–αž„αŸ’αžšαžΈαž€αž‡αž½αžšαž“αŸƒαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž› OpenCL 3.0 αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž•αž›αž·αžαž’αžΆαž…αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš OpenCL 3.0 αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž’αž“αž»αžœαžαŸ’αžαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 2.x αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αž”αŸ’αžšαžΎαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž—αžΆαžŸαžΆαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž OpenCL 3.0 αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸƒαžŸαŸ†αžŽαž½αžšαžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž“αŸƒαž’αžΆαžαž» API αž“αžΈαž˜αž½αž™αŸ— αž€αŸαžŠαžΌαž…αž‡αžΆαž˜αŸ‰αžΆαž€αŸ’αžšαžΌαž–αž·αžŸαŸαžŸαŸ”
  • αž€αžΆαžšαž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž–αžΈαž˜αž»αž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ… OpenCL 3.0 αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ OpenCL 1.2 αž“αžΉαž„αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžš OpenCL 3.0 αžŠαŸ„αž™αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ OpenCL 2.x αž€αŸαž“αžΉαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΌαžŠαžŠαŸ‚αžš αžŠαžšαžΆαž”αžŽαžΆαž”αžšαž·αžŸαŸ’αžαžΆαž“ OpenCL 3.0 αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž˜αž»αžαž„αžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžš (αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž—αžΆαž–αž…αž›αŸαžαž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ OpenCL 2.x αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž’αŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ†αžŽαž½αžšαžŸαžΆαž€αž›αŸ’αž”αž„ αžŠαžΎαž˜αŸ’αž”αžΈαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 2.x αž€αŸ†αž–αž»αž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž”αŸ’αžšαžΎ)αŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž OpenCL αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž•αž›αž·αžαž•αž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‘αŸ… OpenCL 3.0 αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ†αžŽαž½αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž αŸ… API αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž“αž·αž„αž”αž„αŸ’αž€αžΎαž“αž˜αž»αžαž„αžΆαžšαž”αž“αŸ’αžαž·αž…αž˜αŸ’αžαž„αŸ—αžαžΆαž˜αž–αŸαž›αžœαŸαž›αžΆαŸ”
  • αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžšαž”αžŸαŸ‹ OpenCL 3.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαž˜αŸ’αžšαžΉαž˜αž‡αžΆαž˜αž½αž™αž”αžšαž·αžŸαŸ’αžαžΆαž“ αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž›αž€αŸ’αžαžŽαŸˆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸƒαžαŸ†αžŽαžΆαž„αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜αž‘αžΌαž‘αŸ… SPIR-V αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαŸ„αž™ Vulkan API αž•αž„αžŠαŸ‚αžšαŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹ SPIR-V 1.3 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž“αžΌαž› OpenCL 3.0 αž‡αžΆαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αžαŸ” αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ†αžŽαžΆαž„αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜ SPIR-V αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αžšαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αž“αžΌαž›αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαŸ”
    αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 3.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš DMA αž’αžŸαž˜αž€αžΆαž› (Asynchronous DMA) αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αŸ‡αžˆαžΈαž”αžŠαžΌαž… DSP αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αŸ” Asynchronous DMA αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš DMA αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαžœαžΆαž„αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŸαž€αž› αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αž˜αž·αž“αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜ αžŸαŸ’αžšαž”αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‚αžŽαž“αžΆ αž¬αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”
  • C Parallel Programming Extensions αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‘αŸ… αž€αŸ†αžŽαŸ‚ 3.0αž αžΎαž™αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž—αžΆαžŸαžΆ OpenCL αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ C ++ αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αžˆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αŸαž‰αž…αž·αžαŸ’αžαž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ "C++ for OpenCL" αŸ” C ++ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OpenCL αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ Clang/LLVM αž“αž·αž„ αž€αžΆαžšαž•αŸ’αžŸαžΆαž™ αžαžΊαžŽαŸ‚αž› C ++ αž“αž·αž„ OpenCL C αž‘αŸ…αž‡αžΆαžαŸ†αžŽαžΆαž„αž€αž˜αŸ’αžšαž·αžαž˜αž’αŸ’αž™αž˜ SPIR-V αž¬αž›αŸαžαž€αžΌαžŠαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž€αž˜αŸ’αžšαž·αžαž‘αžΆαž”αŸ” αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž•αŸ’αžŸαžΆαž™ SPIR-V αž€αŸαžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ C++ αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‚αŸ†αžšαžΌ SYCL αžŠαŸ‚αž›αž‡αž½αž™αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ‰αžΆαžšαŸ‰αžΆαž‘αŸ‚αž›αŸ”

    αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 3.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†

  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αžŸαžΆαž™ OpenCL αžαžΆαž˜αžšαž™αŸˆ Vulkan API clspvαžŠαŸ‚αž›αž”αŸ†αž”αŸ’αž›αŸ‚αž„αžαžΊαžŽαŸ‚αž› OpenCL αž‘αŸ…αž‡αžΆαžαŸ†αžŽαžΆαž„ Vulkan SPIR-V αž“αž·αž„αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž˜αž½αž™αŸ” clvk αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš OpenCL API αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ Vulkan αŸ”

    αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ OpenCL 3.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹