Hello:

Maybe a basic question to OpenCl syntax, but here it comes anyway.

My problem suggests using 2-dimensional matrices like, say, float myMat[NX][NT], where each thread reads the entire input matrix and computes one output row. I thought, I should store them in global memory. However, I cannot figure out how to write matrices to / from global memory: clCreateBuffer, clEnqueueReadBuffer typically do a void *ptr. Using the argument void myVec works, where vector would be something like float myVec[NT], but what about matrices??? Now, I wonder, is it possible at all, and if so what would be the right syntax?

Or am I thinking the wrong way, and I really have to change the algorithm to write one vector (e.g., one row) at a time to / from global memory?

Thanks.