Texture binding and two GPUs

Texture reference may be specified as a global object, and as I understood (if it is correct) it is not possible to create arrays of texture objects.

When I have one global object:

texture<int, 1, cudaReadModeElementType> Tex;

Will cudaBindTexture be successful for two different GPUs used at the same time (cudaSetDevice(0) … cudaBindTexture(…, Tex) and then cudaSetDevice(1) … cudaBindTexture(…, Tex) ?

If not, how to use texture objects when working with different GPUs ?

That will work fine, assuming you are making the calls to each GPU in different threads.