たとえば、CUDA ライブラリを作成すると、SM 3.X の排他的な機能 (シャッフル組み込み関数など) を使用する関数がいくつかあります。
他の機能は SM 2.X 機能のみを使用します。
これらすべての lib 関数を 1 つの DLL にコンパイルし、実行時に DLL に適切な関数を選択させたいのですが、CUDA では可能ですか?
お気に入り:
static __global__ void Kernel_SM2x(void)
//...
static __global__ void Kernel_SM3x(void)
//...
DLL のエントリ関数を使用して、ハードウェア機能テストに基づいて、適切なカーネル/ルーチンを起動します。