Lëshimi i PoCL 6.0 me një realizim të pavarur të standardit OpenCL

ËshtĂ« publikuar versioni i projektit PoCL 6.0 (Portable Computing Language OpenCL), qĂ« zhvillon njĂ« implementim tĂ« standardit OpenCL, tĂ« pavarur nga prodhuesit e acceleratoreve grafikĂ« dhe qĂ« lejon pĂ«rdorimin e backend-eve tĂ« ndryshme pĂ«r ekzekutimin e kernave OpenCL nĂ« lloje tĂ« ndryshme procesorĂ«sh grafikĂ« dhe qendrorĂ«. Kodi i projektit shpĂ«rndahet nĂ«n licencĂ«n MIT. PĂ«rdoret nĂ« platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe nĂ« ASIP (Processor me Set Instruksionesh tĂ« PĂ«rcaktuara nga Aplikacioni) dhe procesorĂ«t TTA (Arkitektura e Aktivizuar nga Transporti) me arkitekturĂ« VLIW.

Implementimi i kompilatorit të bërthamave OpenCL bazohet në LLVM, ndërsa si frontend për OpenCL C përdoret Clang. Për të siguruar transportueshmëri dhe performancë të duhur, kompilatori i bërthamave OpenCL mund të gjenerojë funksione të kombinuara, të cilat mund të përdorin burime të ndryshme harduerike për të paralelizuar ekzekutimin e kodit, si VLIW, supercalar, SIMD, SIMT, shumë-në-bërthamë dhe shumë-threading. Ka mbështetje për shoferët ICD.
(Installable Client Driver). Janë të pranishëm backend-e për të siguruar funksionimin përmes CPU, ASIP (TCE/TTA), GPU të bazuara mbi arkitekturën HSA dhe GPU NVIDIA (përmes libcuda).

NĂ« versionin e ri:

  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r Clang/LLVM 18.0, ndĂ«rsa mbĂ«shtetje pĂ«r LLVM 10, 11, 12 dhe 13 Ă«shtĂ« ndalur.
  • ËshtĂ« realizuar njĂ« backend i ri cpu-tbb, i cili pĂ«rdor bibliotekĂ«n OneTBB tĂ« zhvilluar nga Intel pĂ«r ndarjen e operacioneve dhe planifikimin e ekzekutimit tĂ« detyrave.
  • NĂ« backend-in cpu, qĂ« siguron ekzekutimin e kernave OpenCL nĂ« CPU, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r standartin e programimit paralel OpenMP, Ă«shtĂ« shtuar metoda clGetDeviceAndHostTimer(), si dhe janĂ« realizuar zgjerime eksperimentale cl_pocl_svm_rect, cl_pocl_command_buffer_svm dhe cl_pocl_command_buffer_host_buffer.
  • NĂ« backend-in «Remote», qĂ« Ă«shtĂ« i destinuar pĂ«r organizimin e llogaritjeve tĂ« shpĂ«rndara pĂ«rmes transferimit tĂ« pĂ«rpunimit tĂ« komandave OpenCL nĂ« hoste tĂ« tjerĂ« nĂ« rrjet ku ekzekutohet procesi nĂ« sfond pocld, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r CG SVM (Coarse-Grain Shared Virtual Memory), mundĂ«sia e aksesit nĂ« backend duke pĂ«rdorur protokollin e komunikimit Vsock dhe mbĂ«shtetje pĂ«r kompaktimin dhe lidhjen e programeve pĂ«rmes funksioneve clCompileProgram() dhe clLinkProgram().
  • NĂ« backend-in LevelZero, qĂ« pĂ«rdor API Level Zero, Ă«shtĂ« lejuar krijimi i bufferave mĂ« tĂ« mĂ«dhenj se 4GB dhe janĂ« realizuar optimizime tĂ« proceseve tĂ« sinkronizimit.
  • NĂ« backend-in CUDA janĂ« realizuar operacione sub_group_shuffle dhe sub_group_shuffle_xor, si dhe Ă«shtĂ« rritur kufiri CL_DEVICE_MAX_MEM_ALLOC_SIZE.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster