Kutolewa kwa PoCL 3.0 na utekelezaji huru wa kiwango cha OpenCL 3.0

Toleo la mradi wa PoCL 3.0 (Portable Computing Language OpenCL) limewasilishwa, ambalo linakuza utekelezaji wa kiwango cha OpenCL ambacho hakitegemei watengenezaji wa vichapuzi vya michoro na kuruhusu matumizi ya viunga mbalimbali vya nyuma kwa ajili ya kutekeleza kernels za OpenCL kwenye aina tofauti za michoro na kati. wasindikaji. Nambari ya mradi inasambazwa chini ya leseni ya MIT. Inaauni kazi kwenye majukwaa ya X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU na vichakataji mbalimbali maalum vya ASIP (Programu-Maelekezo Maalum ya kuweka) na vichakataji vya TTA (Usanifu Uliochochewa) wenye usanifu wa 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. Kuna usaidizi kwa viendeshaji vya ICD (Dereva ya Mteja Inayosakinishwa). Kuna sehemu za nyuma za kusaidia utendakazi kupitia CPU, ASIP (TCE/TTA), GPU kulingana na usanifu wa HSA na NVIDIA GPU (kupitia libcuda).

Katika toleo jipya:

  • Seti ya chini ya vipengele vinavyohitajika ili kutumia vipimo vya OpenCL 3.0 imetekelezwa. Usaidizi wa OpenCL 3.0 kwa sasa unapatikana tu kwenye viunzi vya nyuma vinavyotegemea CPU na LLVM 14 (vifaa vingine vya nyuma na matoleo ya awali ya LLVM hutoa usaidizi kwa OpenCL 1.2).
  • Usaidizi ulioongezwa kwa Clang/LLVM 14.
  • Ufuatiliaji na taswira umeboreshwa.
  • Usaidizi ulioongezwa wa kuzalisha vikundi maalum vya chaguo za kukokotoa na kuvijumuisha katika faili zinazoweza kutekelezeka kwa kutumia kokwa za OpenCL.

Chanzo: opennet.ru

Kuongeza maoni