cost 140 ms
CUDA 驅動 API cuMemAlloc memory 一個 context1 釋放另一個 context,為什么會成功?

[英]CUDA driver API cuMemAlloc memory one context1 and free it another context, why does it succeed?

我創建了 2 個 cuda 上下文“ctx1”和“ctx2”並將當前上下文設置為“ctx1”並分配 8 個字節的 memory 並將當前上下文切換到 ctx2。 然后釋放 ctx1 中的 Memory alloc。 為什么這會返回CUDA_SUCCESS ? 當我銷毀 ctx1 然后釋放 Memo ...

使用 MPS 進行細粒度內核調度

[英]Fine grained Kernel scheduling with MPS

我正在使用NVIDIA CUDA 多進程服務 (MPS)來使用相同的 GPU 運行多個 TensorFlow 推理作業。 對於我的用例,當 GPU 被多個進程共享時,我有時需要優先執行一個進程的內核而不是另一個。 這是支持的嗎? 為了更詳細地解釋這個問題,請考慮一個示例,其中我們有兩個進程 p1 ...

缺少符號:cuDevicePrimaryCtxRelease 與 cuDevicePrimaryCtxRelease_v2

[英]Missing symbol: cuDevicePrimaryCtxRelease vs cuDevicePrimaryCtxRelease_v2

我正在嘗試構建以下程序: 編譯總是很順利; 但是,使用 CUDA 10.2,鏈接工作,而使用 CUDA 11.2,我得到: 為什么會發生這種情況,我該如何解決? 注意:我正在使用帶有驅動程序版本 440.82 的 Devuan Beowulf(尚未為 CUDA 11.2 安裝新驅動程序)。 ...

cudaSetDevice() 對 CUDA 設備的上下文堆棧有什么作用?

[英]What does cudaSetDevice() do to a CUDA device's context stack?

假設我有一個與設備i關聯的活動 CUDA 上下文,我現在調用cudaSetDevice(i) 。 怎么了? : 沒有什么? 主上下文替換棧頂? 主要上下文被壓入堆棧? 它實際上似乎是不一致的。 我已經編寫了這個程序,在一台只有一個設備的機器上運行: 我得到以下 output: 這似乎是一種行為有 ...

如何確定 CUDA 上下文是否是主要上下文 - 便宜?

[英]How can I determine whether a CUDA context is the primary one - cheaply?

您可以(?)通過調用cuDevicePrimaryCtxRetain()並將返回的指針與您擁有的上下文進行比較來確定 CUDA 上下文是否是主要上下文。 但是 - 如果還沒有人創建主要上下文怎么辦? 那么有沒有更便宜的方法來獲得否定的答案呢? 或者 - 非主要上下文是否不可能存在而主要不存在? ...

主 CUDA 上下文何時被運行時 API 破壞?

[英]When is a primary CUDA context destroyed by the Runtime API?

在運行時與驅動程序 API 的討論中,據說主要上下文根據需要創建,每個設備每個進程一個,被引用計數,然后在不再引用它們時被銷毀。 什么算作這樣的參考? 而且 - 這是否意味着,通常,主要上下文應該在被重復使用后立即被破壞? 例如,您獲得默認設備 ID,然后啟動 kernel; 還剩下什么“參考”? ...

如何減少 CUDA 上下文大小(多進程服務)

[英]How to reduce CUDA context size (Multi-Process Service)

我按照 Robert Crovella 的示例了解了如何使用 Nvidia 的多進程服務。 根據文檔: 2.1.2. 減少 GPU 上的上下文存儲 如果沒有 MPS,每個使用 GPU 的 CUDA 進程都會在 GPU 上分配單獨的存儲和調度資源。 相比之下,MPS 服務器分配一份由其所有客 ...

在 cuda 上下文中獲取 memory 使用情況

[英]get memory usage on cuda context

有沒有辦法讓我獲得 cuda 上下文 memory 使用情況,而不必使用僅報告設備全局信息的 cudaMemGetInfo? 或者至少有一種方法可以讓當前應用程序占用多少 memory? ...

多個進程可以共享一個 CUDA 上下文嗎?

[英]Can multiple processes share one CUDA context?

這個問題是 Jason R 對 Robert Crovellas 對這個原始問題的回答的評論(“一個設備的多個 CUDA 上下文 - 有什么意義嗎?”): 當您說多個上下文不能同時運行時,這是否僅限於 kernel 啟動,還是指 memory 傳輸? 我一直在考慮在同一個 GPU 上進行多進程設計 ...

異常后重置 Cuda 上下文

[英]Reset Cuda Context after exception

我有一個使用 Cuda/C++ 的工作應用程序,但有時,由於內存泄漏,拋出異常。 我需要能夠實時重置 GPU,我的應用程序是一個服務器,所以它必須保持可用。 我試過這樣的事情,但它似乎不起作用: 我的想法是每次從 GPU 收到異常時重置設備,但我無法使其正常工作。 :(順便說一句,由於某些原 ...

cuCtxGetApiVersion 值與其他版本管理調用不同

[英]cuCtxGetApiVersion value differs from other version management calls

我正在運行以下代碼: 這是輸出: 從文檔中,我可以看到cudaDriverGetVersion 、 cuDriverGetVersion和cudaRuntimeGetVersion返回形式 (1000 * major + 10 * minor) 的值。 該文檔沒有指定cuCtxGetApiV ...

如何為 CUDA 驅動程序 API 庫實現句柄?

[英]How to implement handles for a CUDA driver API library?

注意:問題已更新以解決評論中提出的問題,並強調問題的核心是關於 Runtime- 和 Driver API 之間的相互依賴關系 CUDA 運行時庫(如 CUBLAS 或 CUFFT)通常使用“句柄”的概念來概括此類庫的狀態和上下文。 使用模式非常簡單: 然而,關於這些句柄如何與驅動程序和運行時 ...

cuDevicePrimaryCtxRetain() 是否用於在多個進程之間擁有持久的 CUDA 上下文對象?

[英]Is cuDevicePrimaryCtxRetain() used for having persistent CUDA context objects between multiple processes?

例如,僅使用驅動程序 api,我對下面的單個進程 (cuCtxCreate) 進行了分析,cuCtxCreate 開銷幾乎相當於從 GPU 復制 300MB 數據: 在此處的CUDA 文檔中,它說(對於 cuDevicePrimaryCtxRetain) Retains the primary ...

為什么 OpenGL 和 CUDA 上下文內存貪婪?

[英]Why are OpenGL and CUDA contexts memory greedy?

我開發的軟件通常包括 OpenGL 和 Nvidia CUDA SDK。 最近,我也開始尋找優化運行時內存占用的方法。 我注意到以下內容(調試和發布版本僅相差 4-7 Mb): 應用程序啟動 - 總共不到1 Mb OpenGL 4.5 上下文創建(+ GLEW 加載程序初始化) - 總共45 ...

創建統一內存時是否需要提供 Gpu 上下文?

[英]Do I need provide Gpu context when creating unified memory?

問題 1) 當我調用 CUDA 驅動程序 API 時,通常我需要先將上下文(代表 GPU 運行時)推送到當前線程。 對於普通的cuMalloc ,內存將在上下文指定的 GPU 上分配。 但是如果我嘗試調用cuMallocManaged來創建統一內存,我還需要推送一個 GPU 上下文嗎? 問題2) ...

什么是 CUDA 上下文?

[英]What is a CUDA context?

任何人都可以解釋或向我推薦一些關於什么是 CUDA 上下文的好資料嗎? 我搜索了 CUDA 開發人員指南,但我對此並不滿意。 任何解釋或幫助都會很棒。 ...

在當前不可調試的 GPU 上創建了 CUDA 上下文

[英]A CUDA context was created on a GPU that is not currently debuggable

當我開始 cuda 調試時,Nsight 返回此錯誤: 在當前不可調試的 GPU 上創建了 CUDA 上下文。 斷點將被禁用。 適配器:GeForce GT 720M 這是我的系統和CUDA信息。 請注意,安裝了最新版本的 CUDA 和 Nsight。 我搜索了這個問題,但找不到我 ...

獲取在我的 GPU 上運行的當前 CUDA 上下文

[英]Get current CUDA contexts running on my GPU

有什么方法可以發現在給定時間有多少進程在 GPU 上運行並可能對其進行管理(yield、resume、kill ... 必要時)。 我想做的是在運行不同的程序時,監視 GPU 上的每個進程活動。 我沒有看到如何做到這一點。 我看到 GPU 上下文是進程的 CPU 等價物,但是我讀到的所有解釋都是關於 ...

cuTexObjectCreate 返回錯誤碼

[英]cuTexObjectCreate return error code

我正在使用 Cuda 驅動程序 api,現在我有關於 Cuda 紋理對象創建的問題,它總是返回 CUDA_ERROR_INVALUD_VALUE。 我發現函數 cuTexObjectCreate 被宏包裹: 而我的 cuCtxCreate_v2 創建的 Cuda 上下文總是返回 api 版本 ...

一個設備的多個 CUDA 上下文 - 有什么意義嗎?

[英]Multiple CUDA contexts for one device - any sense?

我以為我掌握了這一點,但顯然我沒有:) 我需要使用 NVENC 從不是編碼器接受的任何格式的幀中執行並行 H.264 流編碼,因此我有以下代碼管道: 調用通知新幀已到達的回調 我將幀復制到 CUDA 內存並執行所需的顏色空間轉換(只有第一個cuMemcpy是同步的,所以我可以從回調中返回,所 ...


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