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

Ներկայացվել է PoCL 3.1 (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-ի միջոցով) աջակցման համար:

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

  • Ավելացված է աջակցություն Clang/LLVM 15.0-ի համար:
  • Զգալիորեն բարելավվել է SPIR-V ստվերային միջանկյալ ներկայացման աջակցություն CPU և CUDA դրայվերների համար:
  • Մասնագիտացված սարքաշարի (CL_DEVICE_TYPE_ACCELERATOR) և հատուկ սարքերի (CL_DEVICE_TYPE_CUSTOM) վարորդը, որոնք չեն աջակցում առցանց կոմպիլյացիան, զգալիորեն վերանախագծվել է: Accel և ttasim դրայվերները միավորվել են նոր AlmaIF դրայվերի մեջ:
  • Աշխատանքները շարունակվում են Vulkan գրաֆիկական API-ի վարորդի վրա:
  • Առաջարկվում է cl_khr_command_buffer ընդլայնման հիմնական իրականացումը, որը թույլ է տալիս գրել OpenCL հրամանների հաջորդականությունը մեկ զանգով կատարելու համար:

Source: opennet.ru

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