How the number of memory banks is being on SIMDs size?
Hi,
My question is, How memory banks are being assigned on SIMDs factor, why it is assigning all memory banks to A only? and only 1 to B? I am very new to this field and struggling to get into these things.
I read about it in Intel documentation that memory banks works only on local dimensions by default , So in my case, i have two local memory buffers.
Asub and Bsub, ..
__local Asub[block-size][block_size]
__local Bsub[block-size][block_size]
and my work groups sizes are distributed in this way
__attribute__((reqd_work_group_size(block_size, block_size, 1)))
So, as per my understading, the flow will be like this, Asub local buffer is considered as first dimension of reqd_work_group_size and Bsub is second dimension, so keeping in mind the "Intel documentation words", A sub is lowest dimension so that's why all memory banks are being assigned to Asub local buffer..
Kindly correct me if i am wrong, and elaborate it in more detail if anybody can.
So, the 2nd question comes in mind, if it is the exactly flow that i wrote above, then behavior would change and all memory banks must be assigned to Bsub buffer, if i swap both Asub and Bsub local buffers
Thanks!!!