DPCT1076
目次
DPCT1076#
メッセージ#
デバイス属性を認識できませんでした。ソースコードの調整が必要な場合があります。
詳細な説明#
この警告は、オリジナルコードのデバイス属性パラメーターが列挙型定数ではなく、列挙型変数であり、推測できない場合に表示されます。
修正方法の提案
コードを確認して、調整してください。
例えば、以下のオリジナル CUDA* コードについて考えてみます。
1 void foo(bool condition, int *val) {
2 cudaDeviceAttr attr;
3 if (condition)
4 attr = cudaDevAttrHostNativeAtomicSupported;
5 else
6 attr = cudaDevAttrComputeCapabilityMajor;
7
8 ...
9
10 cudaDeviceGetAttribute(val, attr, 0);
11 }
このコードは、以下の SYCL* コードに移行されます。
1 void foo(bool condition, int *val) {
2 int attr;
3 if (condition)
4 attr = 86;
5 else
6 attr = 75;
7
8 ...
9
10 /*
11 DPCT1076:1: The device attribute was not recognized. You may need to adjust
12 the code.
13 */
14 cudaDeviceGetAttribute(val, attr, 0);
15 }
このコードは次のように書き換えられます。
1 void foo(bool condition, int *val) {
2 ...
3
4 if (condition)
5 *val = dpct::dev_mgr::instance().get_device(0).is_native_atomic_supported();
6 else
7 *val = dpct::dev_mgr::instance().get_device(0).get_major_version();
8 }
ヘルプが必要な場合は、SYCL* への移行フォーラム (英語) にアクセスしてください。