少し分かったことがありました
グローバルで
const int i = 1;
const double d = 1;
と定義すると
__device__内でiは使えてdは使えませんでした
error: identifier "d" is undefined in device code
とエラーが出てしまいます
どうしてdouble型だとエラーになるのでしょうか?