CUDA でグローバル デバイス変数のアライメントを宣言したいと思います。具体的には、文字列宣言があります
__device__ char str1 = "some pre-defined string";
。通常の gcc では、次のようにコンパイラにアライメントを要求できます。
__device__ char str1 __attribute__ ((aligned (4))) = "some pre-defined string";
ただし、nvcc でこれを試したところ、コンパイラはこれらの要求を無視しました。これを行う理由は、これらの文字列をカーネルのバッファーにコピーするためです。一度に単語をコピーする方が、一度にバイトをコピーするよりもはるかに高速ですが、src 文字列を揃える必要があります。nvcc コンパイラからアラインメントを要求する方法を教えてください。