gpu-warp

    0熱度

    1回答

    我想在cuda中實現關鍵部分。我在這個主題上閱讀了很多問題和答案,答案通常涉及到atomicCAS和atomicExch。 然而,這並不在經一級的工作,因爲在經所有線程獲取該atomicCAS後相同的鎖,從而導致死鎖。 我覺得有一種方法有使用經__ballot或__any指令CUDA一個真正的鎖。 然而,多次嘗試後,我沒有得到一個滿意的(讀工作)解決方案。 有沒有人在這裏有一個很好的答案呢? PS

    10熱度

    2回答

    我有GeForce GTX460 SE,所以它是:6個SM x 48個CUDA核心= 288個CUDA核心。 據瞭解,在一個Warp中包含32個線程,並且在一個塊中同時(一次)只能執行一個Warp。 也就是說,即使有48個內核可用,單個多處理器(SM)也只能同時執行一個Block,一個Warp並且只能執行32個線程? 另外,可以使用threadIdx.x和blockIdx.x來分發具體的Threa

    0熱度

    1回答

    我對於FP64數據如何影響由warp發出的內存訪問有點困惑。 一個warp總是由32個線程組成,無論這些線程在做FP32或FP64計算。對? 我已經讀過,每次warp中的線程試圖讀取/寫入全局內存時,warp訪問128個字節(32個單精度浮點數)。對? 所以如果一個warp中的所有線程都從內存中讀取不同的單精度浮點數(總共128個字節),但是以合併的方式,warp將發出單個內存事務。對? 這是我現

    1熱度

    1回答

    當一個warp完成一個內核,但同一個block的另一個warp仍在運行時,將完成的warp被阻塞,直到同一個block的其他warp完成,或者完成的warp可用於立即重新使用另一個塊,而當前塊的其他變形仍在運行?

    2熱度

    1回答

    我有關於以下問題的查詢: 假設,我們有一個9×7的畫面(7個像素在x方向上和在y方向上的9個像素),多少經線將有控制背離假設4 * 4線程和每個warp 8線程塊? 塊和經紗在這裏將如何組織? x或水平方向,我可以假設每行2塊。類似地, 垂直方向,每塊3塊。但是,經線是如何組織的?有人可以指出經紗的線程ID以及發生控制分歧的情況(Thread ID等)。 感謝

    3熱度

    2回答

    在概括內核這就是移動2D陣列一個空間到右(纏繞行邊界)的值,我所遇到的一個經同步問題。完整的代碼附在下面。 的代碼是指對任意陣列寬度,高度陣列,線程塊的數目,並且每個塊的線程數工作。當選擇33的線程大小(即比完整的經線多一個線程)時,第33線程不與__syncthreads()同步被調用。這會導致輸出數據出現問題。這個問題只在存在多個warp時才存在,並且數組的寬度大於線程數(例如,width =

    0熱度

    1回答

    在online racecheck文檔,嚴重性級別具有危險度警告這樣的描述: 這樣的一個例子是由於翹曲電平編程,使假設線程危害正在分組進行。 該聲明令人困惑,因爲線程按組處理。 (SM在一個warp上執行代碼。)如果它們沒有按組進行處理,那麼它們是如何處理的? 「warp level programming」是什麼意思? (非扭曲水平編程是什麼?)

    5熱度

    2回答

    下面的代碼求和每32元件陣列中的每個32元件組的第一個元素: int i = threadIdx.x; int warpid = i&31; if(warpid < 16){ s_buf[i] += s_buf[i+16];__syncthreads(); s_buf[i] += s_buf[i+8];__syncthreads(); s_buf[i] += s_

    1熱度

    1回答

    我一直在使用CUDA一個月,現在我想說清楚需要多少warps/blocks來隱藏內存訪問的延遲。我認爲這與多處理器上駐留的最大變形有關。 根據CUDA_C_Programming_Guide(v-7.5)中的表13,每個多處理器駐留warp的最大值是64.然後,我的問題是:什麼是駐留warp?它是指從GPU的內存中讀取數據並準備好由SP處理的那些扭曲?或者參考能夠讀取數據的momory的warp或

    2熱度

    2回答

    一個warp是32個線程。 32個線程是否在多處理器中並行執行? 如果32個線程沒有並行執行,那麼在warp中沒有競爭條件。 我經歷了一些例子後,得到了這個疑問。