Sonali Naphade

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2023-228

August 16, 2023

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2023/EECS-2023-228.pdf

As computer vision expands and becomes an ever more important field, the speed of image processing and specific image processing and graphics accelerators becomes important. However, scheduling image algorithms by hand while maintaining correctness can become quite tedious, and the most efficient schedules are often found through experimentation. Therefore, specific high performance computing languages like Halide have been developed to allow the programmer more flexibility in finding efficiency by separating the algorithm from scheduling. In this work, the specific image kernels of unsharp filter, harris corners, and non-linear means were implemented and scheduled in Halide. Two main approaches of either splitting or tiling the output stage and computing producer stages with respect to the output were implemented. Furthermore, the performance of different schedules were evaluated for x86 AVX and RISC-V RVV targets. A comparison of the most efficient schedules for the variety of targets reveals the strengths and difficulties of Halide and possible points of inefficiency in Halide-generated RVV code.

Advisors: Borivoje Nikolic and Krste Asanović


BibTeX citation:

@mastersthesis{Naphade:EECS-2023-228,
    Author= {Naphade, Sonali},
    Title= {Scheduling Image Processing Algorithms in Halide for x86, AVX and RISC-V RVV Targets},
    School= {EECS Department, University of California, Berkeley},
    Year= {2023},
    Month= {Aug},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2023/EECS-2023-228.html},
    Number= {UCB/EECS-2023-228},
    Abstract= {As computer vision expands and becomes an ever more important field, the speed of image processing and specific image processing and graphics accelerators becomes important. However, scheduling image algorithms by hand while maintaining correctness can become quite tedious, and the most efficient schedules are often found through experimentation. Therefore, specific high performance computing languages like Halide have been developed to allow the programmer more flexibility in finding efficiency by separating the algorithm from scheduling. In this work, the specific image kernels of unsharp filter, harris corners, and non-linear means were implemented and scheduled in Halide. Two main approaches of either splitting or tiling the output stage and computing producer stages with respect to the output were implemented. Furthermore, the performance of different schedules were evaluated for x86 AVX and RISC-V RVV targets. A comparison of the most efficient schedules for the variety of targets reveals the strengths and difficulties of Halide and possible points of inefficiency in Halide-generated RVV code.},
}

EndNote citation:

%0 Thesis
%A Naphade, Sonali 
%T Scheduling Image Processing Algorithms in Halide for x86, AVX and RISC-V RVV Targets
%I EECS Department, University of California, Berkeley
%D 2023
%8 August 16
%@ UCB/EECS-2023-228
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2023/EECS-2023-228.html
%F Naphade:EECS-2023-228