How multidimensional gpu arrays are stored on GPU and how are they proced when functions are invoked?

4 次查看(过去 30 天)
Dear All,
Could you please help me to better understand how data is passed in GPU when using multidimensional arrays from theoretical part of the world :)
For example, correct me if I am wrong, when creating for example 3 dimensional gpuarray (100x100x100) it is stored on global memory, once MATLAB invoke function to multiply this 3D array with other, then it is reverts each third dimension back to two dimension array and it is stored on shared memory that It could be accessed by different GPU cores. Is it something like this?
  1 个评论
Edric Ellis
Edric Ellis 2020-3-13
MATLAB arrays (include gpuArrays) are stored in column-major format, even for 3D arrays. If you're referring to using pagefun(@mtimes,...) with gpuArray data, then the underlying operation knows how to find the "pages" of the gpuArray data without moving bytes around.
Do you have a specific query in mind, or are you simply curious? The layout of gpuArray data should be irrelevant to you unless you're using the GPU MEX interface.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 GPU Computing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by