[英]why nvcc doesn't work while cmake works when compiling a CUDA C++ project?
我有一個寫在 CUDA C++ 中的代碼,我可以使用 CMake 構建這個項目,像往常一樣制作和運行它。 但是當我嘗試使用 nvcc 對其進行調試時,它會拋出類似的錯誤 我的 CUDA 版本是: 我有一台帶 4 個 GPU 的服務器。 有什么想法可能是什么問題嗎? 我嘗試了以下代碼: 所有源文件和 ...
[英]why nvcc doesn't work while cmake works when compiling a CUDA C++ project?
我有一個寫在 CUDA C++ 中的代碼,我可以使用 CMake 構建這個項目,像往常一樣制作和運行它。 但是當我嘗試使用 nvcc 對其進行調試時,它會拋出類似的錯誤 我的 CUDA 版本是: 我有一台帶 4 個 GPU 的服務器。 有什么想法可能是什么問題嗎? 我嘗試了以下代碼: 所有源文件和 ...
[英]Query GPU memory usage and/or user by PID
我有一個在不同 GPU 上運行的進程的 PID 列表。 我想根據其PID獲取每個進程的已用 GPU memory 。 nvidia-smi產生我想要的信息; 但是,我不知道如何使用 grep,因為 output 很復雜。 我已經在尋找如何去做,但我還沒有找到任何直接的答案。 ...
[英]can a cuda code finish without cudaStreamDestroy()?
在我們的大型代碼庫中,我發現有多個cudaStreamCreate()函數。 但是,我在任何地方都找不到cudaStreamDestroy() 。 程序完成后銷毀流是否重要,或者不需要擔心這一點? 在這方面什么是好的編程實踐? ...
[英]CUDA kernel for determining primes slower than OpenMP code - how can I optimize it?
為了在 C++ 中使用 CUDA 練習編程。我做了一個練習,其中包括顯示小於 N 的素數。對於每個代碼,我注釋掉了最后一個顯示循環以僅比較計算時間。 Makefile: 這是我與 openMP 並行化的代碼,運行時間為 1,306 秒: 這是在 1,613 秒內運行的相應 cuda 代碼: 直覺 ...
[英]VS2013 and CUDA 12 compatibility
錯誤 2 error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin\nvcc.exe" -gencode=arch=compute_35,code="sm_35,compute_ ...
[英]cuLaunchKernel failed: too many resources requested for launch
我一直在嘗試使用 pycuda 並行化我的代碼。 我需要初始化 10^5 個線程,每個線程運行大約 4000 次迭代。 這應該符合我的 GPU 的塊和網格限制(網格 = (98,1,1),塊 = (1024,1,1))。 但是執行該程序會出現以下錯誤:“cuLaunchKernel 失敗:請求啟動的 ...
[英]What is the role of CUDA_CACHE_DISABLE=1? Please explain in detail
我在 run.sh 文件中看到一些使用 CUDA_CACHE_DISABLE=1 的代碼。 但是網站上沒有詳盡的解釋。 我從在線文檔中得到的是一些抽象的東西,如下所示: 為即時編譯禁用緩存(設置為 1 時)或啟用緩存(設置為 0 時)。 禁用時,不會將二進制代碼添加到緩存或從緩存中檢索。 但什么是二 ...
[英]I need a CMakeLists.txt equivalent to this Makefile line that defines an environment variable
我有一個 Makefile 包含以下幾行,它在本地 CUDA 工具文件夾的根目錄中四處尋找,並填充一個環境變量供以后使用。 在我的系統上,它現在生成“/usr/local/cuda-11.4”,用於查找標題和其他內容。 我的心願是在我目前正在構建的 CMakeLists.txt 文件中復制它。 我想 ...
[英]Difference in nvprof output between a C++ and Fortran CUDA basic example
我在自學CUDA。 我的最終目標是將它應用到 Fortran,但是因為很多課程/視頻都是基於 C/C++ 的,所以我經常最終會在兩者中執行相同的練習(這是一件好事)。 目前,我正在嘗試運行一個基本練習,它在 GPU 上執行 a(i) = b(i) + c(i)。為了完整起見,我發布了兩個代碼以進行比 ...
[英]Allocation using Cuda with alignment
使用 cudaMallocHost() 和 cudaMalloc() 分配 memory 的最有效方法是什么,以便 memory 與某個值對齊。 就像 __mm_malloc 一樣,您可以在其中傳遞大小為 alignment 作為參數。 ...
[英]Is there a kernel queue inside CUDA enabled GPU?
當多個 PyTorch 進程在同一個 Nvidia GPU 上運行推理時。我想知道當來自不同上下文的兩個 kernel 請求(cuLaunchKernel)由 CUDA 處理時會發生什么? CUDA GPU 可以為那些 kernel 請求創建 FIFO 隊列嗎? 在運行我的 PyTorch 程序 ...
[英]CUDA error checking on cudaDeviceSynchronize after kernel launch may not catch every error?
我最近在@talonmies 接受的答案中發現了一條評論,內容如下: 請注意,與所有其他 CUDA 錯誤不同,后續同步調用 CUDA 運行時 API 不會報告 kernel 啟動錯誤。因此,僅將 gpuErrchk() 放在下一個 cudaMemcpy() 或 cudaDeviceSynchron ...
[英]How to link CUDA dynamic libraries using CMake?
我想知道如何使用 CMake 動態鏈接 CUDA 庫,我知道它似乎需要一些額外的限制,但不知道具體如何去做。 這是我寫的一個簡單示例來說明我的問題。 目錄結構:Dir/ ├── CMakeLists.txt ├── header.cuh ├── kernel.cu └── main.cpp 環境 ...
[英]Install Multiple version of Cuda
我有一個 ubuntu 18.04 VM 系統,已經安裝了 Cuda 10.2。 我必須在 GPU 上運行 coda 的訓練,但是當我運行它時,我會遇到一些錯誤,例如: 所以我想我必須安裝 Cuda 10.0. 是否可以安裝多個版本的 Cuda? 如何添加 Cuda 10.0? 我想在 Nvidi ...
[英]In NVIDIA gpu, Why is the elapse time the same as the number of thread increase to 3 times of gpu core?
這是我的cuda代碼: 我編譯我的代碼,在2080Ti上運行,我發現線程消耗時間大約是214毫秒,但是線程數是gpu核心的3倍(在2080Ti上是4352) 所以我的問題是為什么運行時間和線程數一樣增加到gpu核的3倍? 意思是NVIDIA gpu的計算能力是gpu核心的3倍? ...
[英]Catching an exception thrown from a callback in cudaLaunchHostFunc
我想檢查托管 memory 中的錯誤標志,該標志可能由運行在某個 stream 上的 kernel 編寫。根據錯誤標志,我需要拋出異常。 我會簡單地同步這個 stream 並從主機檢查標志,但我需要從 CUDA 圖表內部這樣做。 AFAIK 我需要以某種方式在 cudaLaunchHostFunc ...
[英]How to get instruction cost in NVIDIA GPU?
我想知道nvidia gpu有多少時鍾指令開銷,比如add, mul,ld/st等等,我該怎么做? 我寫了一些代碼在 2080Ti 上測試和運行 但是結果讓我有點疑惑,結果output是: 在 gpu 階段 1:6 0 為什么執行了這么多次 mul 指令,時鍾成本只有 6 ? nvcc 編譯器是否 ...
[英]Jetson nano, can use cuda in python3 terminal, but not in a file
如果我嘗試在終端的 jetson nano 上使用 cuda: 但是,如果我啟動一個具有相同內容的文件,則 output 為 False。 有誰知道如何解決這個問題? 我試過了:import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" 並在 python ...
[英]What should I set the flags field of CUDA_BATCH_MEM_OP_NODE_PARAMS?
CUDA 圖 API 公開了一個 function 調用,用於將“批處理 memory 操作”節點添加到圖中: 但是這個 API 調用的文檔沒有解釋...的標志字段的用途,以及應該將標志設置為什么。 那么我應該傳遞什么價值呢? ...
[英]How do I thrust::sort() or thrust::sort_by_key() with raw pointers
我想使用帶有 thrust::sort() 和 thrust::sort_by_key() 的原始設備指針對數組進行排序,因為它使用基數排序。 數據位於原始 uint64_t 設備指針中,我使用隨機元素進行初始化以進行測試。 我查看了推力庫,看到了一些簡單地傳入一個數組變量和數組變量加上大小的示例 ...