DPCT1090#
Message#
SYCL does not support the device property that would be functionally compatible with <property name>. It was not migrated. You need to rewrite the code.
Detailed Help#
Not all CUDA* device properties have functionally compatible equivalents in SYCL*. These device properties are not migrated.
Suggestions to Fix#
Review and rewrite the code manually.
For example, this original CUDA* code:
1void foo(int t) {
2 cudaDeviceProp properties;
3 cudaGetDeviceProperties(&properties, 0);
4 int a = properties.regsPerBlock;
5 if (a < t)
6 code path 1
7 else
8 code path 2
9}
results in the following migrated SYCL code:
1void foo() {
2 dpct::device_info properties;
3 dpct::get_device_info(properties, dpct::dev_mgr::instance().get_device(0));
4 /*
5 DPCT1090:0: SYCL does not support the device property that would be
6 functionally compatible with regsPerBlock. It was not migrated. You need to
7 rewrite the code.
8 */
9 int a = properties.regsPerBlock;
10 if (a < t)
11 code path 1
12 else
13 code path 2
14}
which is rewritten to:
1void foo() {
2 dpct::device_info properties;
3 dpct::get_device_info(properties, dpct::dev_mgr::instance().get_device(0));
4
5 // You need apply code path1 or path2 depending on the num of registers available on
6 // the target hardware.
7 code path 1/2
8}