1
讓我們想象一下情況,例如我有很多初始化資源:流,主機和設備內存結束事件,其中一部分是在一個GPU的上下文中初始化的,其餘部分屬於另一個GPU上下文。檢查給定資源的上下文
有沒有辦法檢查給定資源(事件,流或內存)是否屬於某個GPU上下文?
在某些情況下,在訂購內存複製或內核執行之前,應該斷言這樣的事情,然後獲得cudaErrorInvalidArgument
。
讓我們想象一下情況,例如我有很多初始化資源:流,主機和設備內存結束事件,其中一部分是在一個GPU的上下文中初始化的,其餘部分屬於另一個GPU上下文。檢查給定資源的上下文
有沒有辦法檢查給定資源(事件,流或內存)是否屬於某個GPU上下文?
在某些情況下,在訂購內存複製或內核執行之前,應該斷言這樣的事情,然後獲得cudaErrorInvalidArgument
。
我真的不知道CUDA API本身的這種選擇。這只是您可以向GPU發出的低級別訂單。
我會做的是將CUDA API函數包裝成一些很好的類,它將跟蹤什麼是在哪裏以及什麼是初始化的。代表GPU的類也可能有用。
你是對的,但是這樣的CUDA API功能甚至可以在這樣的類中有所幫助。 – kokosing
這將是有用的,但跟蹤事情可能會消耗一些資源,並不是每個人都想要它。這就是爲什麼CUDA API只提供基本功能來完成工作。隨着時間的推移,將會有(或者已經是)更高級別的圖書館來緩和工作。 – CygnusX1