PoCL 1.4-ի թողարկում՝ OpenCL ստանդարտի անկախ իրականացում

Հասանելի է նախագծի թողարկում PoCL 1.4 (Portable Computing Language OpenCL), որը մշակում է OpenCL ստանդարտի ներդրում, որն անկախ է գրաֆիկական արագացուցիչ արտադրողներից և թույլ է տալիս օգտագործել տարբեր հետնամասեր՝ OpenCL միջուկները տարբեր տեսակի գրաֆիկայի և կենտրոնական պրոցեսորների վրա գործարկելու համար: Ծրագրի կոդը տարածվում է MIT լիցենզիայի ներքո: Աջակցում է աշխատանքը X86_64, MIPS32, ARM v7, AMD HSA APU հարթակներում և տարբեր մասնագիտացված TTA պրոցեսորների վրա (Տրանսպորտի խթանման ճարտարապետություն) ճարտարապետությամբ VLIW.

OpenCL միջուկի կոմպիլյատորի իրականացումը կառուցված է LLVM-ի հիման վրա, իսկ Clang-ն օգտագործվում է որպես OpenCL C-ի ճակատային վերջ: Համապատասխան շարժունակությունն ու կատարումն ապահովելու համար OpenCL միջուկի կոմպիլյատորը կարող է ստեղծել համակցված գործառույթներ, որոնք կարող են օգտագործել տարբեր ապարատային ռեսուրսներ՝ զուգահեռեցնելու կոդի կատարումը, ինչպիսիք են VLIW, superscalar, SIMD, SIMT, multi-core և multi-threading: Հասանելի է ICD վարորդի աջակցություն
(Տեղադրվող հաճախորդի վարորդ): Կան backend-ներ՝ ապահովելու աշխատանքը CPU-ի, ASIP (TCE/TTA), GPU-ի վրա հիմնված ճարտարապետության միջոցով Հսա և NVIDIA GPU (CUDA):

В նոր տարբերակ:

  • Ավելացված աջակցություն LLVM/Clang 9.0. LLVM-ի 6.0-ից ավելի տարբերակների աջակցությունը դադարեցվել է:
  • Կոդերի միջանկյալ ներկայացումների բարելավված պրոցեսորի վրա հիմնված իրականացում ՈԳԻ и SPIR-V (օգտագործվում է Vulkan API-ում), որը կարող է օգտագործվել ինչպես գրաֆիկայի, այնպես էլ զուգահեռ հաշվարկների համար ստվերներ ներկայացնելու համար.
  • Ավելացվել է pocl-accel վարորդ՝ օրինակելի ենթակառուցվածքով՝ աջակցելու OpenCL 1.2 ապարատային արագացուցիչներին, որոնք իրականացնում են հիշողության քարտեզագրված (mmap) կառավարման միջերես;
  • Ավելացվեց pocl տեղադրումներ ստեղծելու հնարավորություն, որոնք կապված չեն դիրեկտորիաների հետ (տեղափոխելի):

Source: opennet.ru

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