In the PGI Accelerator model, the user doesn't have much control over the software caching except via the 'cache' clause. The cache clause allow users to prioritize which variables are to be put into the shared memory. However, the compiler will decide the correct amount to cache.

Quote:

hardware caching cannot be influenced by the user, right?

In Cuda, you can adjust the amount of the local memory devoted to software and hardware cache. Though, I would need to defer to NVIDIA if they have another method by which hardware caching can be influence by the user. I doubt it, but don't know for sure.