DPCT1074

メッセージ

SYCL* イメージクラスは、オリジナルコードで使用されている一部のフラグをサポートしていません。サポートされていないフラグは無視されました。SYCL* イメージから読み取ったデータは、オリジナルコードで指定されている通りに正規化できませんでした。

説明

SYCL* イメージから読み取ったデータを、標準の SYCL* API を使用して (0, 1] の範囲の浮動小数点に正規化することができません。オリジナルコードで使用されているフラグは、座標正規化モードを除いてすべて無視されます。

修正方法の提案

コードを手動で調整してください。

例えば、以下のオリジナルコードについて考えてみます。

1
2
3
4
5
// original code:

cuSetTexFlags(tex, CU_TRSF_NORMALIZED_COORDINATES); // Need manually fix the read code if the flag CU_TRSF_READ_AS_INTEGER is unset.
...
result = tex2D(tex, 0.5f, 0.5f);

このコードは、以下の DPC++ コードに移行されます。

1
2
3
4
5
// migrated DPC++ code:

tex.set(sycl::coordinate_normalization_mode::normalized);
...
result = tex.read(0.5f, 0.5f); // data normalization does not match original code

このコードを以下のように手動で調整します。

1
2
3
4
5
// adjusted DPC++ code:

tex.set(sycl::coordinate_normalization_mode::normalized);
...
result = normalization(tex.read(0.5f, 0.5f)); // Implement the function “normalization” to normalize the result data as required.