CUDA新手 幾個問題 - 顯卡

Table of Contents



小弟是個CUDA新手

這學期因為修了門課 要做用CUDA加速應用

但有幾個問題想弄清楚 希望板上高手回答..



我們老師要我們嘗試至少四種方法來切割資料 並比較優劣

看到這邊我第一個想到: 程式碼與資料的重新排列 以減少Cache失誤率

不過對於GPU而言 有所謂的Cache嗎? (我想應該會有吧= ="")


另外我們在做lab時 曾經做過的是: 改變每個Thread所要抓的記憶體位置

來讓各個Thread是搶不同的block.. 紓解記憶體頻寬需求來加速

(不知以上我的理解有沒有錯 有錯懇請指正= ="" 小弟很新)


所以他是先從Host抓資料到GPU上 在讓每個Thread執行

還是執行時才從Host抓資料呢???


那我在做資料分割來加速時 我要考慮的到底是

A. 記憶體頻寬

B. Cache失誤

感覺我問的不太清楚= =""


我的目標是改寫程式讓他抓的記憶體區塊 盡量做最大的利用呢

還是讓每個Thread作用在不同區塊的記憶體上面呢?




--

All Comments

Steve avatarSteve2011-07-06
cache的話你可以用texture memory
Andy avatarAndy2011-07-07
AorB 要看你的目的
Mary avatarMary2011-07-11
你可以參考矩陣相承的範例來決定你到底是要選擇 A or B
Doris avatarDoris2011-07-15
恩 謝謝 我再試試看
Lydia avatarLydia2011-07-16
重點就是在如何避開同時去抓取同樣位置的data所造成
Tom avatarTom2011-07-19
等待問題!所以你要想辦法去做記憶體位置的換算與變動
Mason avatarMason2011-07-23
我記得官方的資料有提到而且還有範例,你可以去瞧瞧