Lëshimi i PoCL 6.0 me implementimin e pavarur të standartit OpenCL

Lëshimi i projektit PoCL 6.0 (Portable Computing Language OpenCL) është publikuar, duke zhvilluar zbatimin e standardit OpenCL, i pavarur nga prodhuesit e përshpejtuesve grafikë dhe që lejon përdorimin e backend-eve të ndryshme për ekzekutimin e kernel-eve OpenCL në lloje të ndryshme procesorësh grafikë dhe qendrorë. Kodi i projektit shpërndahet nën licencën MIT. Mbështetet puna në platformat X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dhe në disa procesorë të specializuar ASIP (Application-Specific Instruction-set Processor) dhe TTA (Transport Triggered Architecture) me arkitekturë VLIW.

Implementimi i kompilerit të kernel-eve OpenCL është ndërtuar mbi LLVM, dhe si frontend për OpenCL C përdoret Clang. Për të siguruar një portabilitet dhe performancë të duhur, kompileri i kernel-eve OpenCL mund të gjenerojë funksione të kombinuara, të cilat mund të përdorin burime të ndryshme harduerike për paralelizimin e ekzekutimit të kodit, si VLIW, super-skalarnësia, SIMD, SIMT, multi-bërthameri dhe multi-threading. Ka mbështetje për drejtorët ICD
(Installable Client Driver). Ka backend-e për të siguruar funksionimin përmes CPU, ASIP (TCE/TTA), GPU të bazuar në arkitekturën HSA dhe GPU NVIDIA (përmes libcuda).

Në këtë version të ri:

  • Shtuar mbĂ«shtetje pĂ«r Clang/LLVM 18.0, ndaluar mbĂ«shtetje pĂ«r LLVM 10, 11, 12 dhe 13.
  • Implementuar njĂ« backend tĂ« ri cpu-tbb, i cili pĂ«rdor bibliotekĂ«n OneTBB, e zhvilluar nga Intel, pĂ«r paralelizimin e operacioneve dhe planifikimin e ekzekutimit tĂ« detyrave.
  • NĂ« backend-in cpu, qĂ« siguron ekzekutimin e kernel-eve OpenCL nĂ« CPU, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r standardin e programimit paralel OpenMP, Ă«shtĂ« shtuar metoda clGetDeviceAndHostTimer(), dhe janĂ« implementuar zgjerime eksperimentale cl_pocl_svm_rect, cl_pocl_command_buffer_svm dhe cl_pocl_command_buffer_host_buffer.
  • NĂ« backend-in 'Remote', e destinuar pĂ«r organizimin e llogaritjeve tĂ« shpĂ«rndara pĂ«rmes delegimit tĂ« trajtimit tĂ« komandave OpenCL nĂ« hoste tĂ« tjera nĂ« rrjet, ku funksionon procesi nĂ« sfond pocld, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r CG SVM (Coarse-Grain Shared Virtual Memory), mundĂ«sia e thirrjes sĂ« backend-it duke pĂ«rdorur protokollin e komunikimit Vsock, dhe mbĂ«shtetje pĂ«r kompilimin dhe lidhjen e programeve duke pĂ«rdorur funksionet clCompileProgram() dhe clLinkProgram().
  • NĂ« backend-in LevelZero, i cili pĂ«rdor API-nĂ« Level Zero, lejohet krijimi i buferĂ«ve me madhĂ«si mĂ« tĂ« madhe se 4GB, dhe janĂ« realizuar optimizime tĂ« proceseve tĂ« sinkronizimit.
  • NĂ« backend-in CUDA janĂ« implementuar operacionet sub_group_shuffle dhe sub_group_shuffle_xor, dhe Ă«shtĂ« rritur limiti CL_DEVICE_MAX_MEM_ALLOC_SIZE.

Burimi: opennet.ru

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