PoCL 6.0 āĻĒā§āϰāĻā§āĻā§āĻ (āĻĒā§āϰā§āĻā§āĻŦāϞ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻ āϞā§āϝāĻžāĻā§āĻā§āϝāĻŧā§āĻ OpenCL) āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, OpenCL āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄā§āϰ āĻāĻāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻāύā§āύāϝāĻŧāύ āĻāĻāĻžāĻā§āĻā§ āϝāĻž āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āĻāĻā§āϏāĻŋāϞāĻžāϰā§āĻāϰ āύāĻŋāϰā§āĻŽāĻžāϤāĻžāĻĻā§āϰ āĻĨā§āĻā§ āϏā§āĻŦāĻžāϧā§āύ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāύā§āύ āϧāϰāύā§āϰ āĻā§āϰāĻžāĻĢāĻŋāĻā§āϏ āĻāĻŦāĻ āϏā§āύā§āĻā§āϰāĻžāϞ āĻĒā§āϰāϏā§āϏāϰ⧠OpenCL āĻāĻžāϰā§āύā§āϞ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ . āĻĒā§āϰāĻāϞā§āĻĒ āĻā§āĻĄ MIT āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ VLIW āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ āϏāĻš X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāύā§āύ āĻŦāĻŋāĻļā§āώāĻžāϝāĻŧāĻŋāϤ ASIP (āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ-āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ-āϏā§āĻ āĻĒā§āϰāϏā§āϏāϰ) āĻāĻŦāĻ TTA (āĻā§āϰāĻžāύā§āϏāĻĒā§āϰā§āĻ āĻā§āϰāĻŋāĻāĻžāϰāĻĄ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ) āĻĒā§āϰāϏā§āϏāϰāĻā§āϞāĻŋāϤ⧠āĻāĻžāĻ āĻāϰāϤ⧠āϏāĻšāĻžāϝāĻŧāϤāĻž āĻāϰā§āĨ¤
āĻāĻĒā§āύāϏāĻŋāĻāϞ āĻāĻžāϰā§āύā§āϞ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰā§āϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ LLVM-āĻāϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āϞā§āϝāĻžāĻ āĻāĻĒā§āύāϏāĻŋāĻāϞ āϏāĻŋ-āĻāϰ āϏāĻžāĻŽāύā§āϰ āĻĒā§āϰāĻžāύā§āϤ āĻšāĻŋāϏāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āϏāĻ āĻŋāĻ āĻŦāĻšāύāϝā§āĻā§āϝāϤāĻž āĻāĻŦāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤā§, OpenCL āĻāĻžāϰā§āύā§āϞ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāĻŽā§āĻŦāĻŋāύā§āĻļāύ āĻĢāĻžāĻāĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝāĻž āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύāĻā§ āϏāĻŽāĻžāύā§āϤāϰāĻžāϞ āĻāϰāϤ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻšāĻžāϰā§āĻĄāĻāϝāĻŧā§āϝāĻžāϰ āϰāĻŋāϏā§āϰā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϝā§āĻŽāύ VLIW, superscalar, SIMD, SIMT, āĻŽāĻžāϞā§āĻāĻŋ-āĻā§āϰ āĻāĻŦāĻ āĻŽāĻžāϞā§āĻāĻŋ-āĻĨā§āϰā§āĻĄāĻŋāĻāĨ¤ ICD āĻĄā§āϰāĻžāĻāĻāĻžāϰ āϏāĻŽāϰā§āĻĨāύ āĻāĻĒāϞāĻŦā§āϧ
(āĻāύāϏā§āĻāϞāϝā§āĻā§āϝ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĄā§āϰāĻžāĻāĻāĻžāϰ)āĨ¤ CPU, ASIP (TCE/TTA), HSA āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠GPU āĻāĻŦāĻ NVIDIA GPU (libcuda āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§) āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ
āĻĒāĻžāϰā§āĻļāύ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āϰāϝāĻŧā§āĻā§āĨ¤
āύāϤā§āύ āĻŦāĻŋāĻļā§āĻŦā§:
- Clang/LLVM 18.0-āĻāϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, LLVM 10, 11, 12 āĻāĻŦāĻ 13-āĻāϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύ āĻŦāĻžāĻĻ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
- āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻŋāĻĒāĻŋāĻāĻ-āĻāĻŋāĻŦāĻŋāĻŦāĻŋ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻā§āϰāĻŋāϝāĻŧāĻžāĻāϞāĻžāĻĒ āϏāĻŽāĻžāύā§āϤāϰāĻžāϞ āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻžāϰā§āϝ āϏāĻŽā§āĻĒāĻžāĻĻāύā§āϰ āϏāĻŽāϝāĻŧāϏā§āĻā§ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāύā§āĻā§āϞ āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ OneTBB āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
- In the cpu backend, which ensures the execution of OpenCL kernels on the CPU, support for the OpenMP parallel programming standard has been added, the clGetDeviceAndHostTimer() method has been added, and experimental extensions cl_pocl_svm_rect, cl_pocl_command_buffer_svm and cl_pocl_command_buffer_host_buffer have been implemented.
- "āϰāĻŋāĻŽā§āĻ" āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ, āĻŦā§āϝāĻžāĻāĻā§āϰāĻžāĻāύā§āĻĄ pocld āĻĒā§āϰāϏā§āϏ āĻāĻžāϞāĻŋāϤ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻā§āϰ āĻ āύā§āϝāĻžāύā§āϝ āĻšā§āϏā§āĻā§ OpenCL āĻāĻŽāĻžāύā§āĻĄā§āϰ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖāĻā§ āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰāĻŋāϤ āĻāϰ⧠āĻŦāĻŋāϤāϰāĻŖāĻā§āϤ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻ āϏāĻāĻāĻ āĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, CG SVM (āĻŽā§āĻāĻž-āĻļāϏā§āϝā§āϰ āĻāĻžāĻ āĻāϰāĻž āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āĻŽā§āĻŽāϰāĻŋ) āĻāϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰā§āĻā§, āϝāĻž āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻžāĨ¤ āϝā§āĻāĻžāϝā§āĻ āĻĒā§āϰā§āĻā§āĻāϞ Vsock āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻāĻŦāĻ clCompileProgram() āĻāĻŦāĻ clLinkProgram() āĻĢāĻžāĻāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻŦāĻ āϞāĻŋāĻā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύāĨ¤
- LevelZero āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ, āϝāĻž āϞā§āĻā§āϞ āĻāĻŋāϰ⧠API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, 4GB-āĻāϰ āĻĨā§āĻā§ āĻŦāĻĄāĻŧ āĻŦāĻžāĻĢāĻžāϰ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ āĻāĻŦāĻ āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻā§āĻļāύ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāύ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
- CUDA āĻŦā§āϝāĻžāĻāĻāύā§āĻĄā§, sub_group_shuffle āĻāĻŦāĻ sub_group_shuffle_xor āĻ āĻĒāĻžāϰā§āĻļāύāĻā§āϞāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧā§āĻā§, āĻāĻŦāĻ CL_DEVICE_MAX_MEM_ALLOC_SIZE āϏā§āĻŽāĻž āĻŦāĻžāĻĄāĻŧāĻžāύ⧠āĻšāϝāĻŧā§āĻā§ā§ˇ
āĻāϤā§āϏ: opennet.ru
