0
我有一個多線程程序,它應該在6個GPU設備上運行。 我想在每個設備上打開6個流,以便在我的程序的整個生命週期內(共36個)重複使用。我使用cudaStreamCreate()cublasCreate()cublasSetStream()來創建每個流和句柄。 我也使用GPU內存監視器來查看每個句柄的內存使用情況。但是,當我查看每個設備上的GPU內存使用情況時,它只會在第一個流創建時增長,並且在我創建的其餘流中不會改變。一個GPU設備中的多個流
據我所知,我想使用的流量沒有任何限制。 但我不明白爲什麼句柄和流的內存使用量不顯示在GPU內存使用情況。
在每個設備上創建第一個流可能會初始化該設備的CUDA上下文。這將涉及顯着/明顯的內存使用量。每個設備上的附加流創建不涉及此上下文初始化,因此相比之下,額外的內存使用量很小(或爲零)。 –