PoCL 3.1 (Portable Computing Language OpenCL) ပရောဂျက်ကို တင်ဆက်ထားပြီး၊ ဂရပ်ဖစ်အရှိန်မြှင့်ထုတ်လုပ်သူများနှင့် ကင်းကွာသော OpenCL စံနှုန်းကို အကောင်အထည်ဖော်ရန်နှင့် OpenCL kernels အမျိုးအစားအမျိုးမျိုးတွင် ဂရပ်ဖစ်နှင့် အလယ်ပိုင်းကို လုပ်ဆောင်ရန်အတွက် အမျိုးမျိုးသော backends များကို အသုံးပြုခွင့်ပြုထားသည်။ ပရိုဆက်ဆာများ။ ပရောဂျက်ကုဒ်ကို MIT လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ X86_64၊ MIPS32၊ ARM v7၊ AMD HSA APU၊ NVIDIA GPU နှင့် VLIW ဗိသုကာဆိုင်ရာ အထူးပြု ASIP (Application-Specific Instruction-set Processor) နှင့် TTA (Transport Triggered Architecture) ပရိုဆက်ဆာများပေါ်တွင် အလုပ်လုပ်ရန် ပံ့ပိုးပေးပါသည်။
OpenCL kernel compiler ၏အကောင်အထည်ဖော်မှုကို LLVM ၏အခြေခံပေါ်တွင်တည်ဆောက်ထားပြီး Clang ကို OpenCL C အတွက်ရှေ့ဆုံးအဖြစ်အသုံးပြုသည်။ သင့်လျော်သောသယ်ဆောင်ရလွယ်ကူမှုနှင့်စွမ်းဆောင်ရည်သေချာစေရန်၊ OpenCL kernel compiler သည် VLIW၊ superscalar၊ SIMD၊ SIMT၊ multi-core နှင့် multi-threading ကဲ့သို့သော ကုဒ်လုပ်ဆောင်မှုကို အပြိုင်လုပ်ဆောင်ရန် အမျိုးမျိုးသောဟာ့ဒ်ဝဲအရင်းအမြစ်များကို အသုံးပြုနိုင်သည့် ပေါင်းစပ်လုပ်ဆောင်ချက်များကို ထုတ်ပေးနိုင်သည်။ ICD drivers (Installable Client Driver) အတွက် အထောက်အပံ့ ရှိပါသည်။ CPU၊ ASIP (TCE/TTA)၊ HSA ဗိသုကာနှင့် NVIDIA GPU (libcuda မှတဆင့်) ကိုအခြေခံထားသော GPU မှတဆင့်လုပ်ဆောင်မှုကိုပံ့ပိုးရန် နောက်ကွယ်တွင်ရှိသည်။
ဗားရှင်းအသစ်တွင်-
- Clang/LLVM 15.0 အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
- CPU နှင့် CUDA ဒရိုက်ဘာများအတွက် သိသာထင်ရှားစွာ တိုးတက်လာသော SPIR-V shader အလယ်အလတ်ကိုယ်စားပြုမှု ပံ့ပိုးမှု။
- အထူးပြု ဟာ့ဒ်ဝဲ (CL_DEVICE_TYPE_ACCELERATOR) နှင့် အွန်လိုင်းစုစည်းမှုကို မပံ့ပိုးသော စိတ်ကြိုက်ကိရိယာများ (CL_DEVICE_TYPE_CUSTOM) အတွက် ယာဉ်မောင်းကို သိသာထင်ရှားစွာ ပြန်လည်ဒီဇိုင်းထုတ်ထားပါသည်။ accel နှင့် tasim ယာဉ်မောင်းများကို AlmaIF ဒရိုက်ဘာအသစ်သို့ ပေါင်းစပ်ထားသည်။
- Vulkan ဂရပ်ဖစ် API အတွက် ဒရိုက်ဗာတွင် အလုပ်ဆက်လုပ်သည်။
- ခေါ်ဆိုမှုတစ်ခုတွင် လုပ်ဆောင်ရန်အတွက် OpenCL commands ၏ sequence ကို သင်ရေးသားခွင့်ပြုသည့် cl_khr_command_buffer extension ၏ အခြေခံအကောင်အထည်ဖော်မှုကို အဆိုပြုထားသည်။
source: opennet.ru