PoCL 5.0-ի թողարկում OpenCL ստանդարտի անկախ ներդրմամբ

Հրապարակվել է PoCL 5.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-ի հիման վրա, իսկ Clang-ն օգտագործվում է որպես OpenCL C-ի ճակատային վերջ: Համապատասխան շարժունակությունն ու կատարումն ապահովելու համար OpenCL միջուկի կոմպիլյատորը կարող է ստեղծել համակցված գործառույթներ, որոնք կարող են օգտագործել տարբեր ապարատային ռեսուրսներ՝ զուգահեռեցնելու կոդի կատարումը, ինչպիսիք են VLIW, superscalar, SIMD, SIMT, multi-core և multi-threading: Աջակցություն կա ICD վարորդների համար (Installable Client Driver): Կան backend-ներ՝ CPU-ի, ASIP-ի (TCE/TTA), GPU-ի վրա հիմնված HSA ճարտարապետության և NVIDIA GPU-ի (libcuda-ի միջոցով) աջակցման համար:

Նոր տարբերակում.

  • Իրականացվել է նոր «Remote» backend, որը նախատեսված է բաշխված հաշվարկը կազմակերպելու համար՝ փոխանցելով OpenCL հրամանների մշակումը ցանցի այլ հոսթերներին, որոնք աշխատում են ֆոնային pocld գործընթացը:
  • CUDA դրայվերն իրականացնում է OpenCL 3.0 լրացուցիչ գործառույթներ և ընդլայնումներ, ինչպիսիք են ատոմային գործողությունները, շրջանակի փոփոխականները, intel_sub_group_shuffle, intel_sub_group_shuffle_xor, get_sub_group_local_id, sub_group_barrier և sub_group_ballot:
  • RISC-V ճարտարապետության վրա հիմնված պրոցեսորների բարելավված աջակցություն: PoCL-ի աշխատանքը փորձարկվել է Starfive VisionFive 2 տախտակի վրա, որը բեռնված է Ubuntu 23.10 միջավայրով՝ LLVM 17 և GCC 13.2:
  • cl_ext_float_atomics ընդլայնումն իրականացվել է FP32 և FP64 աջակցությամբ:
  • cl_khr_command_buffer ընդլայնման իրականացումը թարմացվել է 0.9.4 տարբերակին:
  • Առաջարկվել է փորձնական AlmaIF backend FPGA-ների համար:
  • Հեռացվել է SPIR 1.x/2.0 ստվերների միջանկյալ ներկայացման թերի աջակցությունը: SPIR-V-ը հայտարարված է որպես առաջարկվող միջանկյալ ստվերային լեզու:
  • Ավելացված է աջակցություն Clang/LLVM 17.0-ի համար: Clang/LLVM 10-13-ի աջակցությունը հնացել է:

Source: opennet.ru

Добавить комментарий