Suppose a host thread calls [font=“Courier”]cudaSetDevice[/font] and does some processing. Later it frees all the resources that have been allocated. Can it then call [font=“Courier”]cudaSetDevice[/font] again, with a different device index, and start to use the new device?