Underlying hardware have some limitation for the rank and dimensions of the resources that can be allocated. Brook+ try to virtualize this by converting unsupported stream dimensions into hardware supported resources.e.g. ATI hardware doesn't allow 3D resource to be allocated or 1D resource with dimeniosn > 2^13. But Brook+ allows 3D as well 1D stream upto size 2^26.
This technique is called address translation. Compiler has to generate a different code for this virtualization. When you add "_addr" in your function name, you see the code with this address translation support.