I want to store in global memory a 2D grid where each cell grid stores 2 floats. I was wondering which is the best way. Every time a thread needs to read a cell grid position of memory it will always need to read the two floats. I mean, there's no situation where I just need the information of the first float, and the other way around. Additionally many threads can be accessing the same cell grid position simultaneously.
So, according to this, my question. Is it more efficiently to store my grid a n cl_float2, being n the number of grid cells, or is it better to store it as n*2 cl_float?
I think the idea is clear.