2011-03-11 80 views
1

讓我們想象一下情況,例如我有很多初始化資源:流,主機和設備內存結束事件,其中一部分是在一個GPU的上下文中初始化的,其餘部分屬於另一個GPU上下文。檢查給定資源的上下文

有沒有辦法檢查給定資源(事件,流或內存)是否屬於某個GPU上下文?

在某些情況下,在訂購內存複製或內核執行之前,應該斷言這樣的事情,然後獲得cudaErrorInvalidArgument

回答

2

我真的不知道CUDA API本身的這種選擇。這只是您可以向GPU發出的低級別訂單。

我會做的是將CUDA API函數包裝成一些很好的類,它將跟蹤什麼是在哪裏以及什麼是初始化的。代表GPU的類也可能有用。

+0

你是對的,但是這樣的CUDA API功能甚至可以在這樣的類中有所幫助。 – kokosing

+0

這將是有用的,但跟蹤事情可能會消耗一些資源,並不是每個人都想要它。這就是爲什麼CUDA API只提供基本功能來完成工作。隨着時間的推移,將會有(或者已經是)更高級別的圖書館來緩和工作。 – CygnusX1