If I have 2 large matrices (say, 10K x 10K) I wish to muliply, too large to completely reside on any GPU device, how should I map it to the NDRange? How do I divide up the problem?

How best should I define NDRange? Obviously work_dim=2, but what about global_work_size and local_work_size?

Obviously, only part of each matrix could be loaded. This is more of a question about global_work_size and local_work_size.

---jski

Jski,

You have to divide the problem into sub problems and run corresponding kernels for the sub problems.

Suppose that you have to calculate C = A * B

Please have a look at Matrix Multiplication sample in AMD APP SDK samples.