Summary: | 碩士 === 國立清華大學 === 資訊工程學系 === 104 === Modern mobile embedded systems use heterogeneous multi-core architectures to achieve performance improvement under an energy constraint. To program such systems, OpenVX promises to provide a standard programming framework for computer vision processing. OpenVX is with a graph-based execution model to describe the computation behavior and data flow relationship. Each computation node in the graph can be dispatched to a different target, such as multicore CPUs with C and OpenMP runtime, OpenCL on GPUs, remote procedure call to DSP, or even a dedicated hardware. Therefore, how to efficiently schedule all the computation nodes to those
different targets opens up the optimization opportunities.
In this thesis, we propose a method to schedule OpenVX task graph by considering both memory locality and system throughput. The proposed two phase scheduling method first performs coarsen schemes to cluster nodes together, and then in the second phase a scheduling method is employed to schedule nodes into different targets. The experimental result of our experiments on Qualcomm DragonBoard 810 development board shows that our scheme works well in scheduling OpenVX programs on heterogeneous multi-core environments.
|