在這篇論文裡,我們打造了一個協同運算的框架做為 Halide 的 附加元件,藉以利用 Halide 之優勢試圖去創造一個較好的異質計算 環境。在此框架中我們提供兩種的分配工作量方法,這兩種工作法 方可以提供不同程度的加速優化。我們會在這篇論文中測量兩種分 配方法提供的優化程度以及在不同輸入大小的優化程度。在實驗中 使用我們的框架搭配最佳化過的 Halide 的 CPU 及 GPU 程式可以得 到 1.21x,1.55x,1.16x 的加速在 Nexus 7,Intel CPU 搭載 ATI GPU 和 Intel CPU 搭載 Nvidia GPU.
In this thesis,we create a synergistic framework as Halide extension to build a better heterogeneous computing environment with the advantage of Halide.Our framework support 2 methods - dynamic dispatch and static dis- patch to assign different workload to CPU and GPU with those dispatch method we will get different level speedup.And we will measure those dispatch meth- ods with different input sizes at mobile,ATI GPU and NVIDIA GPU.In our experiment, using our framework with optimized Halide CPU and GPU funci- ton can get 1.21x speedup at Nexus 7, 1.55x speedup at Inetel CPU with ATI GPU and 1.16x speedup at Intel CPU with Nvidia GPU.