Multiple Parallel GPUs

Hi all,
I’m using CUBLAS for solving large linear system of equations, and as you know some functions such as cublasStrsv() is limited by the size of matrix, (number of rows must be less that 4070). So, I installed another GPU (gtx280) to enhance the computation capability (I have matrices larger than 4070). But, I don’t know how to make 2 GPUs work in parallel. In CUDA we can use cudaSetDevice to choose one GPU. But, I don’t know how we can distribute the program between 2 GPUs and run them in parallel?
Any idea or experience in this area is appreciated…
Thank you.

As far as I know, you can create separate streams (in your case, 2 streams, one for each GPU) and set them each of the GPUs and run your code on all these streams.

I think it is not streams. You need 2 separate threads because one CPU thread can be associated with only one GPU for its entire life-time.

However very often I wonder why we require streams. Was it invented for multi-GPU purpose? OR anything else? We have multiple CPU threads for multi-GPUs anyway… So, why do we need streams?

ooopssss!! sorry for misleading! :)

Damnnn… I had completely forgotten the ‘host thread and device dependencies’.

Tx sarnath for pointing out my mistake.

Even I have the same question?

I think streams allow to do asynchronous memcopys interleaved with kernel calls. That would be regardless of how many GPUs or CPU cores you have.