__constant stru declared__

How can I declare some of the data I send from the CPU to the GPU to reside in constant memory? I want to take advantage of the cache.
It is a struc that I now send using cuda memcopy to a normally allocated memory on the gpu global mem. Then I could probably copy it over as it get received on the gpu, but is there any way to directly allocate it in constant memory outside of the kernel?

Have you read the programming guide?

To declare a variable in constant memory use:

device constant float d_Const;

To set the value from your host code do:

cudaMemcpyToSymbol(d_Const, h_Const, sizeof(float));