有人知道下面的cudaSetDevice
使用是否正确吗?我希望在任何主机线程的任何时候重复调用在不同设备上创建的资源,有没有一种在CUDA中实现这个功能的方法?
cudaSetDevice(0);
/...create cuda streams and do some memory allocation on gpu.../
cudaSetDevice(1);
/...create cuda streams and do some memory allocation on gpu.../
#pragma omp parallel num_threads(2)
{
int omp_threadID=omp_get_thread_num();
....
if (omp_threadID==0)
{
cudaSetDevice(0);
/...calling streams/memory created on device 0.../
}
else
{
cudaSetDevice(1);
/...calling streams/memory created on device 1.../
};
};
cudaSetDevice(0);
ејҖеӨҙпјҢеӣ жӯӨжӯӨж—¶дҪ еә”иҜҘеҸӘдҪҝз”Ёи®ҫеӨҮ0гҖӮеҗҢж ·пјҢеңЁзәҝзЁӢ1дёӯпјҢдҪ д»ҘcudaSetDevice(1);
ејҖе§ӢпјҢжүҖд»ҘжӯӨж—¶дҪ еә”иҜҘеҸӘдҪҝз”Ёи®ҫеӨҮ1гҖӮиҝҷдёҺжҲ‘жҸҗеҲ°зҡ„зӨәдҫӢд»Јз Ғзҡ„е·ҘдҪңж–№ејҸдёҖиҮҙгҖӮ - Robert Crovella