看板 VideoCard 關於我們 聯絡資訊
小弟是個CUDA新手 這學期因為修了門課 要做用CUDA加速應用 但有幾個問題想弄清楚 希望板上高手回答.. 我們老師要我們嘗試至少四種方法來切割資料 並比較優劣 看到這邊我第一個想到: 程式碼與資料的重新排列 以減少Cache失誤率 不過對於GPU而言 有所謂的Cache嗎? (我想應該會有吧= ="") 另外我們在做lab時 曾經做過的是: 改變每個Thread所要抓的記憶體位置 來讓各個Thread是搶不同的block.. 紓解記憶體頻寬需求來加速 (不知以上我的理解有沒有錯 有錯懇請指正= ="" 小弟很新) 所以他是先從Host抓資料到GPU上 在讓每個Thread執行 還是執行時才從Host抓資料呢??? 那我在做資料分割來加速時 我要考慮的到底是 A. 記憶體頻寬 B. Cache失誤 感覺我問的不太清楚= ="" 我的目標是改寫程式讓他抓的記憶體區塊 盡量做最大的利用呢 還是讓每個Thread作用在不同區塊的記憶體上面呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.122.118
tonyhcc:cache的話你可以用texture memory 07/02 03:21
tonyhcc:AorB 要看你的目的 07/02 03:23
tonyhcc:你可以參考矩陣相承的範例來決定你到底是要選擇 A or B 07/02 03:24
doublewhi:恩 謝謝 我再試試看 07/02 20:33
BIGHEADXYZ:重點就是在如何避開同時去抓取同樣位置的data所造成 07/03 10:42
BIGHEADXYZ:等待問題!所以你要想辦法去做記憶體位置的換算與變動 07/03 10:43
BIGHEADXYZ:我記得官方的資料有提到而且還有範例,你可以去瞧瞧 07/03 10:44