What is the maximum size of the constant memory pool one can create? For several applications I have in mind there are large blocks of coordinate data where every element is used by every thread. The constant memory seems like the ideal place to store these values since every thread in a warp will access the same constants at the same time, thus providing the register-speed access (once cached)
described in the CUDA programming guide. Since none of the examples demonstrate the use of constant memory I’m curious if the constant memory can be of arbitrary size, or if they are only statically allocated items limited to 64KB or less. (the size 64KB is mentioned on page 49 of
the CUDA programming guide). The caching behavior of constant memory is highly desirable
for the access patterns my application will use, so if it’s possible to create large (10MB or more) constant arrays, that would be highly desirable. If not, then perhaps texture memory is the next best option. Any comments you have are appreciated.