เบเบฒเบ™เบ›เปˆเบญเบ PoCL 1.3, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบญเบเบฐเบฅเบฒเบ”เบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ OpenCL

ะ”ะพัั‚ัƒะฟะตะฝ ั€ะตะปะธะท ะฟั€ะพะตะบั‚ะฐ PoCL 1.3 (Portable Computing Language OpenCL), ั€ะฐะทะฒะธะฒะฐัŽั‰ะตะณะพ ั€ะตะฐะปะธะทะฐั†ะธัŽ ัั‚ะฐะฝะดะฐั€ั‚ะฐ OpenCL, ะฝะตะทะฐะฒะธัะธะผัƒัŽ ะพั‚ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปะตะน ะณั€ะฐั„ะธั‡ะตัะบะธั… ัƒัะบะพั€ะธั‚ะตะปะตะน ะธ ะฟะพะทะฒะพะปััŽั‰ัƒัŽ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ั€ะฐะทะปะธั‡ะฝั‹ะต ะฑัะบะตะฝะดั‹ ะดะปั ะฒั‹ะฟะพะปะฝะตะฝะธั OpenCL-ัะดะตั€ ะฝะฐ ั€ะฐะทะฝั‹ั… ั‚ะธะฟะฐั… ะณั€ะฐั„ะธั‡ะตัะบะธั… ะธ ั†ะตะฝั‚ั€ะฐะปัŒะฝั‹ั… ะฟั€ะพั†ะตััะพั€ะพะฒ. ะšะพะด ะฟั€ะพะตะบั‚ะฐ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน MIT. ะŸะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ั€ะฐะฑะพั‚ะฐ ะฝะฐ ะฟะปะฐั‚ั„ะพั€ะผะฐั… X86_64, MIPS32, ARM v7, AMD HSA APU ะธ ั€ะฐะทะปะธั‡ะฝั‹ั… ัะฟะตั†ะธะฐะปะธะทะธั€ะพะฒะฐะฝะฝั‹ั… TTA-ะฟั€ะพั†ะตััะพั€ะฐั… (Transport Triggered Architecture) c ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ะพะน VLIW.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ OpenCL kernel compiler เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ LLVM, เปเบฅเบฐ Clang เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เป‰เบฒเบชเปเบฒเบฅเบฑเบš OpenCL C. เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆเปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก, OpenCL kernel compiler เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฎเบฒเบ”เปเบงเบ•เปˆเบฒเบ‡เป†เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบ™เบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เป€เบŠเบฑเปˆเบ™ VLIW, superscalar, SIMD, SIMT, multi-core เปเบฅเบฐ multi-threading. เบฎเบญเบ‡เบฎเบฑเบšเป„เบ”เป€เบงเบต ICD
(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).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™