• 沒有找到結果。

研究方法與設計

4.1 平行化策略與分析

由上一章可知演化式硬體影像濾波器最花時間的地方為染色體的評估 ,計算量高達 5000 × 100 × (256 − 2 + 1)2× (8 × 4) ≃ 1012卻只能評估5 × 105個個體,因此 ,本研究 為了縮短計算時間,分析演化式硬體影像濾波器架構 (如圖3.2) , 將其以任務切割 (task decomposition) 和資料切割 (data decomposition) 的方式,使整體架構修改為平行化 計算 。 為了方便以下小節說明,我們將圖3.2簡化成圖4.1

I1 I0 F1 I0 I3 F5 I23 I20 F9 I30

I1 I0 F1 I0 I3 F5 I23 I20 F9 I30

………

4.1: 演化式硬體影像濾波器過濾簡圖

4.1.1 任務切割

演化式硬體影像濾波器透過演化機制 ,在每代的演化中評估所有個體並留下最好的 直到演化結束 。 在一個世代中假設共有 P個個體,且假設完成評估該個體所需要的時間 為 Tc 。 在演化 G個世代後 ,若以單一運算核心且逐步執行的架構下 ,所需要的時間為

G × P × Tc 。 當演化的世代或者族群數增加時,所需要的時間皆以倍數增加 。

為了以平行計算的方式減少計算時間 ,以下對 GPT

c作分析 。

ၩΕቹႽ ౢғࢉՅᡏ ೴΋ෳ၂ࢉՅᡏ ಖЗ

這代表切割的方式過於粗糙 (coarse-grained parallelism) ,難以發揮大量處理器的優勢 。 當N的數量小於P,則每個處理器至少需要處理兩個任務或以上 。 而當N的數量小於 P且不是 P的倍數時,任務的分配則要考慮剩餘任務的平行化計算問題 。

4.1.2 資料切割

在上一節的評估單一個體中提到,由於沒有多餘的運算核心因此以逐步計算完成, 不過任一個遮罩的過濾並不影響其他遮罩的過濾,因此此步驟還是可以平行計算完成 。

假設一張影像大小為k × k , 由遮罩大小 m × m切割共有 (k − m + 1)2, 假設濾 波器過濾一個遮罩並得到評估值的運算時間為Tm ,所需要的時間為(k − m + 1)2× Tm 。 當影像大小增加或者遮罩尺寸改變時 ,所需要的運算時間會以 Tm的倍數增加 。

參考圖4.3 ,以某個個體 (Px) 的評估為例 。 評估時 ,一個影像將會拆解成多個遮罩 以執行過濾 (Mx,1...Mx,n)。 假設處理器個數從編號 11nn共有 n,若一個處理器處 理一個遮罩的過濾計算,則計算所需要的時間可減少為 (k − m + 1)2× Tm

n ⌉。 當影像 大小夠大時, n的數量將小於(k − m + 1)2 ,代表此切割方式較為細緻(fine-grained par-allelism) ,較能發揮大量處理器的優勢 。 但若 n不是 (k − m + 1)2的倍數時,剩餘資料 的處理也需考慮 。

4.1.3 演化式硬體影像濾波器平行化架構

本研究以圖形處理器計算演化式硬體影像濾波器, 其示意圖如圖4.4 。 我們將整個演 化過程中最花時間的部分交由圖形處理器計算, 以平行化計算的方式來減少運算時間 。 由 於圖形處理器擁有多個多核心處理器 ,而一個多核心處理器內建數個處理器 ,因此 ,將 待評估的個體視為任務並將其分配給各個多核心處理器 ,以完成任務切割 。 而評估個體

.

表4.1: GPU Tesla C1060 參數表

Parameters Value

Number of Multiprocessors 30

Number of CUDA Cores per Multiprocessors 8

Number of Threads per Warp 32

Number of Warps per Multiprocessor 32

Maximum Number of Thread Blocks per Multiprocessor 8

Maximum Number of Thread per Block 512

Maximum Number of Thread per Multiprocessor 1024 Total amount of Global Memory (Mbytes) 4096 Max Shared Memory per Multiprocessor (bytes) 16384 Total Number of 32-bit registers per Multiprocessor 16384

Allocation Granularity Block

以多核心處理器做為任務的處理單位的好處在於 ,多核心處理器的數量通常少於內 建於多核心處理器內部處理器的數量,剛好克服切割過於粗糙下,運算效能無法提升的 難題 。 而以多核心處理器內部的處理器計算資料,由於處理器的數量夠多,因此可以發 揮細緻切割的優點 。

相關文件