Редукция и сканирование на видеокарте

Перед вам программа, реализующая редукцию и сканирование на процессоре. Вам нужно сделать реализацию редукции и сканирования на OpenCL.

Задания

  1. Реализуйте редукцию, соблюдя условия ниже.
  2. Реализуйте сканирование, соблюдя условия ниже.

Условия

Исходный код

module load gpc-2021
git clone https://courses.igankevich.com/gpu-programming/reduce-scan.git
cd reduce-scan
make
./build/reduce-scan

Пример вывода

Platform name: Clover
Device name: AMD Radeon (TM) R7 300 Series (BONAIRE, DRM 3.37.0, 5.7.15, LLVM 10.0.0)
      function  OpenMP  OpenCL total  OpenCL copy-in  OpenCL kernel  OpenCL copy-out  OpenMP bandwidth  OpenCL bandwidth
        reduce     0us           0us             0us            0us              0us             0GB/s             0GB/s
scan-inclusive  8222us           0us             0us            0us              0us             0GB/s             0GB/s