- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am converting test_block_radix_sort.cu from repo cub and dpct is running from last 25 minutes.
From task manager I can see that it is using CPU 25%. Memory consumption has gone up to 800,000+K. There are some (40+) warnings on console. I am not sure what's going on.
Current output is:
In file included from C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:45: C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:395:36: warning: result of comparison of constant 4294967295 with expression of type 'volatile unsigned short' is always true [-Wtautological-constant-out-of-range-compare] ((bits >= 0xFC01) && (bits <= 0xFFFFFFFF))); ~~~~ ^ ~~~~~~~~~~ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:253:24: warning: DPCT1001:0: The statement could not be removed. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:253:13: warning: DPCT1000:1: Error handling if-stmt was detected but could not be rewritten. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:269:24: warning: DPCT1001:2: The statement could not be removed. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:269:13: warning: DPCT1000:3: Error handling if-stmt was detected but could not be rewritten. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:275:24: warning: DPCT1001:4: The statement could not be removed. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:275:13: warning: DPCT1000:5: Error handling if-stmt was detected but could not be rewritten. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:278:24: warning: DPCT1001:6: The statement could not be removed. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:278:13: warning: DPCT1000:7: Error handling if-stmt was detected but could not be rewritten. if (error) break; ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:252:30: warning: DPCT1003:8: Migrated API does not return error code. (*, 0) is inserted. You may need to rewrite this code. error = CubDebug(cudaGetDeviceCount(&deviceCount)); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:268:30: warning: DPCT1003:9: Migrated API does not return error code. (*, 0) is inserted. You may need to rewrite this code. error = CubDebug(cudaSetDevice(dev)); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:277:30: warning: DPCT1003:10: Migrated API does not return error code. (*, 0) is inserted. You may need to rewrite this code. error = CubDebug(cudaGetDeviceProperties(&deviceProp, dev)); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:280:17: warning: DPCT1005:11: The device version is different. You need to rewrite this code. if (deviceProp.major < 1) { ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:296:21: warning: DPCT1005:12: The device version is different. You need to rewrite this code. deviceProp.major * 100 + deviceProp.minor * 10, ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:997:1: warning: DPCT1011:13: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(char, char) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:998:1: warning: DPCT1011:14: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(short, short) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:999:1: warning: DPCT1011:15: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(int, int) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1000:1: warning: DPCT1011:16: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(long, long) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1001:1: warning: DPCT1011:17: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(longlong, long long) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1002:1: warning: DPCT1011:18: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(uchar, unsigned char) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1003:1: warning: DPCT1011:19: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(ushort, unsigned short) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1004:1: warning: DPCT1011:20: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(uint, unsigned int) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1005:1: warning: DPCT1011:21: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(ulong, unsigned long) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1006:1: warning: DPCT1011:22: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(ulonglong, unsigned long long) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1007:1: warning: DPCT1011:23: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(float, float) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1008:1: warning: DPCT1011:24: The tool detected overloaded operators for built-in vector types, which may conflict with the SYCL 1.2.1 standard operators (see 4.10.2.1 Vec interface). The tool inserted a namespace to avoid the conflict. Use SYCL 1.2.1 standard operators instead. CUB_VEC_OVERLOAD(double, double) ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1601:9: warning: DPCT1026:25: The call to cudaEventCreate was removed, because this call is redundant in DPC++. cudaEventCreate(&start); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1602:9: warning: DPCT1026:26: The call to cudaEventCreate was removed, because this call is redundant in DPC++. cudaEventCreate(&stop); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1607:9: warning: DPCT1026:27: The call to cudaEventDestroy was removed, because this call is redundant in DPC++. cudaEventDestroy(start); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1608:9: warning: DPCT1026:28: The call to cudaEventDestroy was removed, because this call is redundant in DPC++. cudaEventDestroy(stop); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1613:9: warning: DPCT1012:29: Detected kernel execution time measurement pattern and generated an initial code for time measurements in SYCL. You can change the way time is measured depending on your goals. cudaEventRecord(start, 0); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h:1618:9: warning: DPCT1012:30: Detected kernel execution time measurement pattern and generated an initial code for time measurements in SYCL. You can change the way time is measured depending on your goals. cudaEventRecord(stop, 0); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:97:12: warning: DPCT1008:31: clock function is not defined in the DPC++. This is a hardware-specific feature. Consult with your hardware vendor to find a replacement. stop = clock(); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:117:12: warning: DPCT1008:32: clock function is not defined in the DPC++. This is a hardware-specific feature. Consult with your hardware vendor to find a replacement. stop = clock(); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:190:21: warning: DPCT1008:33: clock function is not defined in the DPC++. This is a hardware-specific feature. Consult with your hardware vendor to find a replacement. clock_t start = clock(); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:390:5: warning: DPCT1026:34: The call to cudaDeviceSetSharedMemConfig was removed, because DPC++ currently does not support configuring shared memory on devices. cudaDeviceSetSharedMemConfig(SMEM_CONFIG); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:353:18: warning: DPCT1003:35: Migrated API does not return error code. (*, 0) is inserted. You may need to rewrite this code. CubDebugExit(cudaMemcpy(d_keys, h_keys, sizeof(Key) * TILE_SIZE, cudaMemcpyHostToDevice)); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:354:18: warning: DPCT1003:36: Migrated API does not return error code. (*, 0) is inserted. You may need to rewrite this code. CubDebugExit(cudaMemcpy(d_values, h_values, sizeof(Value) * TILE_SIZE, cudaMemcpyHostToDevice)); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:397:18: warning: DPCT1010:37: SYCL uses exceptions to report errors and does not use the error codes. The call was replaced with 0. You need to rewrite this code. CubDebugExit(cudaPeekAtLastError()); ^ C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_block_radix_sort.cu:398:18: warning: DPCT1003:38: Migrated API does not return error code. (*, 0) is inserted. You may need to rewrite this code. CubDebugExit(cudaDeviceSynchronize()); ^
----------------------------------
OK. While I was writing this, dpct has converted the file successfully but it took around 30 minutes to do that. I am not sure what happened or why it took so long. Usually it takes 1 to 3 minutes on my system (Intel i5-6200 2.3 GHz/8GB RAM). May be you want to take a look into that.
Also dpct is generating some yaml files. What am I supposed to do with them. They contain text like:
--- MainSourceFile: 'c:\users\intel\downloads\cuda code\cub-1.8.0\test\dpct\test_util.h' Replacements: - FilePath: 'C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h' Offset: 1868 Length: 0 ReplacementText: '#include <CL/sycl.hpp> #include <dpct/dpct.hpp> ' - FilePath: 'C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h' Offset: 2014 Length: 26 ReplacementText: '' - FilePath: 'C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h' Offset: 2233 Length: 29 ReplacementText: '#include "cub/util_debug.dp.hpp"' - FilePath: 'C:\Users\intel\Downloads\cuda code\cub-1.8.0\test\test_util.h' Offset: 2263 Length: 30 ReplacementText: '#include "cub/util_device.dp.hpp"'
What is it trying to tell me via these yaml files?
Regards,
Gagan
- Tags:
- General Support
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gagandeep,
We were able to reproduce your issue. It took us more than 30 mins for migration which is more than the normal.
We are forwarding this issue to the concerned team.
Regarding the yaml files generated during migration, they contain the changes done to the files during migration.
They help us to understand what are the changes made to those files.
Regards
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This will be a part of Beta09.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Closing this ticket as the issue is already fixed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This issue has been resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page