cost 126 ms
NVIDIA __constant memory:如何在 OpenCL 和 CUDA 中從主機填充常量 memory?

[英]NVIDIA __constant memory: how to populate constant memory from host in both OpenCL and CUDA?

我在主機上有一個緩沖區(數組),它應該駐留在設備(在本例中為 NVIDIA GPU)的常量 memory 區域中。 所以,我有兩個問題: 如何分配一塊常量 memory? 鑒於我正在跟蹤設備上的可用常量 memory 並且我知道,事實上,我們有 memory 的數量可供我們使用(此時) 我如何根據 ...

如何在主機和設備代碼中最好地利用相同的常量?

[英]How to best make use of the same constants in both host and device code?

假設我有一些在主機端代碼中使用的全局常量數據: (注意:我將它們保留為 C-ish,這里沒有constexpr 。) 我現在也想在設備端代碼中使用這些。 我不能簡單地開始使用它們:它們不能從設備直接訪問,並且嘗試使用它們會給出: 使這些常量在主機和設備上都可用的慣用方式是什么? ...

CUDA kernel 是否需要將 const 放入所有按值傳遞的參數中?

[英]CUDA kernel do I need to put const in all pass-by-value parameters?

我的問題是我是否需要顯式使用“const int windowSize”關鍵字來使編譯器將mid放入常量內存/緩存中? 由於編碼標准,我不想將“const”放在按值傳遞的原始類型前面。 常量參數被放入常量緩存中。 但我不知道 kernel 內部評估的常數是否也會放在那里。 ...

在 Numba 中,以 CUDA 為目標時,如何將數組復制到常量 memory 中?

[英]In Numba, how to copy an array into constant memory when targeting CUDA?

我有一個示例代碼來說明這個問題: 當我使用 cuda-memcheck 運行此代碼時,我得到: 這似乎表明我傳入的數組不是常量,因此無法將其復制到常量 memory - 是這樣嗎? 如果是這樣,我如何將作為輸入提供給 kernel 的數組復制到常量 memory ? ...

解釋ptxas的詳細輸出,第二部分

[英]Interpreting the verbose output of ptxas, part II

這個問題是解釋ptxas的詳細輸出的延續,第一部分 。 當我們使用ptxas -v編譯內核.ptx文件,或者使用-ptxas-options=-v從.cu文件編譯它時,我們得到幾行輸出,例如: (與鏈接問題中的示例相同;但名稱為demangling) 這個問題涉及到最后一行。 ...

cudaMemcpyToSymbol性能

[英]cudaMemcpyToSymbol performance

我有一些函數可以將變量加載到恆定的設備內存中並啟動內核函數。 我注意到一個函數第一次在常量存儲器中加載變量需要0.6秒,但是下一次在常量存儲器中加載非常快(0.0008秒)。 無論哪種功能是主要功能,這種行為都會發生。 下面是一個示例代碼: 為什么會這樣呢? 我可以避免嗎? ...

什么時候應該首選紋理內存而不是常量內存?

[英]When should texture memory be prefered over constant memory?

如果線程之間的數據請求頻率非常高(每個線程從特定列中至少選擇一個數據),那么在常量內存中使用數據存儲是否比Pascal架構中的紋理有任何好處? 編輯:這是此問題的拆分版本,以改善社區搜索 ...

CUDA常量記憶的生命周期是多少?

[英]What are the lifetimes for CUDA constant memory?

我無法繞過對CUDA恆定內存的限制。 為什么我們不能在運行時分配__constant__內存? 為什么我需要在具有接近全局范圍的固定大小變量中進行編譯? 什么是常量內存實際加載或卸載? 我知道cudaMemcpytoSymbol用於加載特定的數組,但每個內核是否都使用自己的 ...

CUDA中的恆定內存大小

[英]constant memory size in CUDA

在CUDA中,當我在常量內存中刪除數組時,如下所示 大小n是否需要為常數? 我猜是肯定的,因為編譯器需要知道大小n超過常量內存大小。 那正確嗎? ...

使用常量內存打印地址而不是cuda中的值

[英]using constant memory prints address instead of value in cuda

我正在嘗試在代碼中使用常量內存,而不使用cudacopytosymbol從內核為常量內存分配值。 輸出顯示 我希望程序通過代碼中的kenel打印分配給常量內存的值。 ...

常量緩存與紋理緩存的比較,可顯示CUDA中的廣播行為

[英]Constant cache vs Texture cache for broadcasting behaviour in CUDA

我對計算能力為3.5的設備的常量緩存和紋理緩存之間的差異感興趣,尤其是廣播行為。 當扭曲中的所有線程都從常量內存發出對同一數據元素的請求,並將其命中高速緩存時,它將在一個周期內廣播到所有線程。 在這種情況下,紋理緩存的行為是什么? 加載序列化了嗎? 另外,我是否正確地認為常量緩存和紋 ...

CUDA常量內存錯誤

[英]CUDA Constant Memory Error

我試圖用CUDA 5.5做一個帶有常量內存的示例代碼。 我有兩個大小為3000的常量數組。 我有另一個大小為N的全局數組X.我想計算 這是代碼。 我試圖通過此代碼運行調試器來分析。 事實證明,在復制到常量內存的行上,我得到調試器的以下錯誤 有人可以幫助我不斷記憶 ...

CUDA常量內存符號

[英]CUDA constant memory symbols

我正在使用CUDA 5.0,我有單獨編譯的模塊。 我想從所有模塊訪問常量內存中的相同值。 問題如下,當我在每個模塊中定義符號時,鏈接器聲稱符號已被重新定義。 是否有針對此問題的解決方法或解決方案? 感謝您的幫助。 ...

CUDA 常量內存最佳實踐

[英]CUDA Constant Memory Best Practices

我在這里展示一些代碼 這只是顯示常量內存和全局內存使用情況。 在執行時,“kernel2”的執行速度比“kernel1”快 4 倍(就時間而言) 我從 Cuda C 編程指南中了解到,這是因為對常量內存的訪問正在被序列化。 這讓我想到,如果經線訪問單個常量值(例如整數、浮點數、雙精度值等),則 ...

CUDA寫入常量存儲器錯誤值

[英]CUDA writing to constant memory wrong value

我有以下代碼可從主機變量復制到CUDA中的__constant__變量 當我從內核中打印時,三個值都為零 我沒有正確地復制到恆定內存中,或者...我不知道可能出什么問題了。 有什么建議!? 我發布了整個主機代碼,可能還有其他東西與常量副本混淆了。 更新 主目錄 ...

持續的記憶

[英]constant memory

我編寫了將整數復制到常量內存的代碼,並在全局函數中使用它,但是它無法正常工作。我的意思是,全局函數中的“ cuPrintf”均無效,並且沒有任何輸出! 我認為這是因為“ if(* num == 5)”導致的,因為我將其刪除,所以所有“ cuPrintf”都打印了我想要的內容! 我也嘗 ...

cuda使用常量內存作為二維數組

[英]cuda use constant memory as two-dimensional array

我在多線程“主機”程序中實現我的內核,其中每個主機線程都在調用內核。 我在使用常量內存時遇到了問題。 在常量存儲器中將放置一些參數,但是對於每個線程,它們都是不同的。 我也會在發生問題的地方建立樣本。 這是內核 pthread正在調用此函數。 常量內存就是這樣聲明的。 ...

CUDA常量內存分配如何工作?

[英]How CUDA constant memory allocation works?

我想了解一下如何分配常量內存(使用CUDA 4.2)。 我知道總可用常量內存是64KB。 但是什么時候這個內存實際分配在設備上? 此限制是否適用於每個內核,cuda上下文或整個應用程序? 假設.cu文件中有幾個內核,每個內核使用少於64K的常量內存。 但總的常量內存使用量超過64K ...

使用CUDA 5的cudaMemcpyToSymbol出錯

[英]Error in cudaMemcpyToSymbol using CUDA 5

問題 我使用常量內存准備了一個示例CUDA代碼。 when I compile using the CUDA 5. I have attached the sample code here. 我可以在cuda 4.2中成功運行它,但是當我使用CUDA 5編譯時,我得到 。我在這里附加了示 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM