對於我的CUDA開發,我使用的是16核的機器和1個帶16個SM的GTX 580 GPU。對於我所做的工作,我計劃啓動16個主機線程(每個核心1個),每個線程啓動1個內核,每個線程有1個塊和1024個線程。我的目標是在16個SM上並行運行16個內核。這可能/可行嗎?多個主機線程啓動各個CUDA內核
我試圖儘可能多地閱讀獨立的上下文,但似乎沒有太多可用的信息。據我所知,每個主機線程可以有自己的GPU上下文。但是,如果我使用獨立的上下文,我不確定內核是否可以並行運行。
我可以將所有16個主機線程的所有數據讀入一個巨型結構,並將其傳遞給GPU以啓動一個內核。但是,它將會太多複製,並且會降低應用程序的速度。
多個上下文不能同時使用一個GPU,所以不行,這是行不通的。 – talonmies
謝謝。你能把上面的答案作爲答案,以便我能接受嗎? – gmemon
@gmemon,請參閱我的評論以在CUDA 5.5中創建和執行多個上下文。你在16SM中成功執行了16個內核嗎?最後你的解決方案是什麼? – Tariq