I am reading the NVIDIA white paper titled Particle Simulation with CUDA by Simon Green.
It describes the SDK particles example and the algorithms used.
While discussing performance of the code, the author says that global memory arrays of position and velocity of the particles are "bound" to textures.
Now I am very confused by the concept of texture memory. The NVIDIA CUDA programming guide goes through some really gory and difficult explanations without any examples.
Hence I have 2 questions:
Can someone give / refer me to a really simple (Texture memory for dummies) example of how texture is used and improves performance.
The CUDA programming guide 4.0 on page 40 on page says "A texture can be any region of linear memory or a CUDA array". Now if, ( as is said ), texture memory gives better performance than global memory why not "bind" the entire global memory to texture memory?