Constant Variables

So I have a doubt in my kernel function.

I have a constant variable in my C program like:

#define size 1000

In my kernel function I often use this constant ( to read ).
I want to know, which is more efficient to my kernel.

A) Leave the kernel read the constant variable (#define size 1000)
B) Declare a CUDA constant variable with this value? ( constant int size = 1000; )
C) Into the kernel load this value to a cache variable?
D) Or none of the alternatives ?

Thanks for read.

#define size 1000

is NOT a constant variable. It’s a preprocessor command. It will replace every instance of size with 1000 after you compile your code. Seeing how this takes 0 memory - this is probably the best way. (Of course there are software engineering reasons why #define is a horrid way of doing things - but we care about speed - so its not an issue.)

thank you so much.