不斷總結自己的異構程式開發思路

來源:互聯網
上載者:User

沒有毛主席思想,如何指導中國革命!

沒有GPU開發思想,如何開發異構程式!

什麼是GPU開發思想呢?你可以有一套,我也有一套,下面是我推薦的思想:

天馬行空的想,一開始就想3000個計算單元怎麼並行,裡面的標準差是否可以並行,太急躁。不必這麼著急地考慮如何寫我們的核心程式,這樣的結果往往讓自己的思維禁錮了,什麼意思——很簡單的理解就是GPU開發要先看大局,再看局部;之前我看了一個影像處理的部落格,在整個映像上理解並行的意義遠遠大於在一個排序或者取中位元等局部演算法上並行來的大,優先花大量心思考慮細節往往得不償失,做什麼事情都是這樣,也許這點對於異構開發一個大型應用程式而言顯得格外突出。

給出我們開發異構程式的一個核心思想是——並行粒度分析由大到小,逐步迭代。

試想這樣的收穫是最明顯的:

第一個開發週期我們提速了50%;

第二個開發週期對內部的某模組進行了並行計算,又提高了75%;

第三個開發週期我們對某個並行計算模組進行了深度最佳化,又提高了20%;

……

這樣的好處是,我們每一個階段的最佳化程式都是可以啟動並執行,都是正確的結果,都可以作為一個版本,都可以記錄程式的效率,都可以和之前的版本進行比對,都可以看到程式在逐步提高速度。這個過程叫精益求精!這個過程最大的好處是讓沒有很多開發經驗的異構程式員在每個版本的過程中,提高自己對並行計算的認知度和cuda開發的水平。所以,我建議,不要一步到位的開發異構程式,我們需要循序漸進、精益求精的反覆式開發法過程。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.