關於CUDA的bank conflict - 顯卡

Susan avatar
By Susan
at 2009-06-18T16:03

Table of Contents

近來閱讀了版上a大關於cuda的文章

因此想把自己的程式改寫成可利用GPU執行

但bank conflict卻始終困擾著我

舉例來說

int k=threadIdx.x

num1=data1[k]
num2=data2[k]

sum[k]=num1+num2;


若把num1 num2的記憶體配置在shared memory時

會因為不同執行緒存取到同一塊記憶體產生bank conflict的問題

但因為計算複雜 所需記憶體大的關係 也無法配置到暫存器上

想請教cuda有類似openMp中 for private()的指令嗎

還是就只能完全利用陣列運算 如把num1改變成陣列num1[k]等

--
Tags: 顯卡

All Comments

Ophelia avatar
By Ophelia
at 2009-06-21T16:50
看不懂你的舉例 你要做vector sum 還是 sum filter?
Edward Lewis avatar
By Edward Lewis
at 2009-06-25T02:09
vector sum 直接做不會有bank conflict
Linda avatar
By Linda
at 2009-06-28T12:55
sum filter用shared memory,thread個數開跟loading的個數
Hedda avatar
By Hedda
at 2009-07-03T06:28
一樣就不會global memory的bank conflict
Rae avatar
By Rae
at 2009-07-07T21:23
抱歉 剛剛寫錯 修改過了
Kumar avatar
By Kumar
at 2009-07-09T02:22
所以說是sum filter,那就用shared memory
@@看錯是vector sum
Ursula avatar
By Ursula
at 2009-07-11T22:08
把for loop 幹掉 k=threadIdx.x 這樣才對吧?
Anthony avatar
By Anthony
at 2009-07-12T22:19
感謝提醒

想知道這樣跑3DMARK06是好還是壞?

Frederica avatar
By Frederica
at 2009-06-18T11:57
MSI R4870 跑3DMARK 3DMARK SCORE 8176 SM2.0 SCORE 3581 HDR/SM3.0 SCORE 4681 CPU SCORE 1500 CPU我確定會換了..那顯卡這樣跑OK嗎?有跑出說..就搭E6300這顆老人該有的效能嗎? - ...

玩遊戲時候 會突然一陣lag

Puput avatar
By Puput
at 2009-06-18T08:38
我使用的顯示卡是 MSI 8800GT OC 512MB 驅動程式是169.02版本 CPU是E2200 RAM 4G 之前剛買的時候 就開始玩魔獸世界 玩起來畫面都很順 垂直同步開啟 FPS維持在60 可是 玩到一半 就會突然間一陣LAG FPS降到10~20 之後玩CS跟CSO也都會出現一樣的 ...

tv-out 變成黑白

Callum avatar
By Callum
at 2009-06-18T04:00
我最近新組一台電腦 顯卡用his 4770 我把tv-out 轉接成av 然後再差電視的av端子上面 但是電視 影像顯示是黑白的 問題是我用同樣的線 插在舊的電腦上面轉接到電視 卻是彩色的 百思不得其解 他本身設定也是m/ntsc 還有什麼其他的問題嗎? 我爬文 找知識 都找不出個所以然來 ...

玩最後的遺跡這種配備能玩嗎?

Mary avatar
By Mary
at 2009-06-18T03:14
最近看到一款遊戲 叫最後的遺跡....(好像是廢話= =) 不多說 小弟電腦配備如下 因為不太懂電腦 所以照系統上面打 CPU AMD 64 Precessor 3500+ 2.21GHz 記憶體 DDR400 1G X1 顯示卡 WinFast PX7600 GT Extreme 想問版上大大 ...

HIS 4850 ICQ4 512MB

Cara avatar
By Cara
at 2009-06-18T00:55
之前就有一連串的問題 剛剛在灌Catalyst我現在才發現我的Activityy 是0% 這樣應該不正常吧? 剛剛看成FAN SPEED 0%... - ...