11// RUN: rm -rf %T/pytorch/c10
22// RUN: mkdir -p %T/pytorch/c10/src
33// RUN: cp %S/c10.cu %T/pytorch/c10/src/
4- // RUN: cp %S/user_defined_rule_pytorch.yaml %T/pytorch/c10/
5- // RUN: cp -r %S/pytorch_cuda_inc %T/pytorch/c10/
4+ // RUN: cp -r %S/pytorch_inc %T/pytorch/c10/
65// RUN: cd %T/pytorch/c10
76// RUN: mkdir dpct_out
8- // RUN: dpct -out-root dpct_out %T/pytorch/c10/src/c10.cu --extra-arg="-I%T/pytorch/c10/pytorch_cuda_inc " --cuda-include-path="%cuda-path/include" --rule-file=%T/pytorch/c10/user_defined_rule_pytorch .yaml -- -x cuda --cuda-host-only
7+ // RUN: dpct -out-root dpct_out %T/pytorch/c10/src/c10.cu --extra-arg="-I%T/pytorch/c10/pytorch_inc " --cuda-include-path="%cuda-path/include" --rule-file=%S/../../../tools/dpct/DpctOptRules/pytorch_api .yaml -- -x cuda --cuda-host-only
98// RUN: FileCheck --input-file %T/pytorch/c10/dpct_out/c10.dp.cpp --match-full-lines %T/pytorch/c10/src/c10.cu
10- // RUN: %if build_lit %{icpx -c -fsycl -DNO_BUILD_TEST %T/pytorch/c10/dpct_out/c10.dp.cpp -o %T/pytorch/c10/dpct_out/c10.dp.o %}
119
12- #ifndef NO_BUILD_TEST
1310#include < iostream>
14- // CHECK: #include <c10/xpu/XPUStream.h>
15- #include < c10/cuda/CUDAStream.h>
1611// CHECK: #include <c10/core/DeviceGuard.h>
1712#include < c10/cuda/CUDAGuard.h>
13+ // CHECK: #include <c10/xpu/XPUStream.h>
14+ #include < c10/cuda/CUDAStream.h>
15+ // CHECK: #include <c10/xpu/XPUFunctions.h>
16+ #include < c10/cuda/CUDAFunctions.h>
17+ // CHECK: #include <c10/xpu/XPUMacros.h>
18+ #include < c10/cuda/CUDAMacros.h>
19+
20+ // CHECK: #define BE_BUILD_SHARED_LIBS C10_XPU_BUILD_SHARED_LIBS
21+ // CHECK-NEXT: #define BE_EXPORT C10_XPU_EXPORT
22+ // CHECK-NEXT: #define BE_IMPORT C10_XPU_IMPORT
23+ // CHECK-NEXT: #define BE_API C10_XPU_API
24+ // CHECK-NEXT: #define BE_BUILD_MAIN_LIB C10_XPU_BUILD_MAIN_LIB
25+ #define BE_BUILD_SHARED_LIBS C10_CUDA_BUILD_SHARED_LIBS
26+ #define BE_EXPORT C10_CUDA_EXPORT
27+ #define BE_IMPORT C10_CUDA_IMPORT
28+ #define BE_API C10_CUDA_API
29+ #define BE_BUILD_MAIN_LIB C10_CUDA_BUILD_MAIN_LIB
1830
1931int main () {
20- std::optional<c10::Device> device;
32+ // device APIs
33+ // CHECK: c10::DeviceIndex num_devices = c10::xpu::device_count();
34+ c10::DeviceIndex num_devices = c10::cuda::device_count ();
35+
36+ // CHECK: c10::DeviceIndex num_devices_ensured =
37+ // CHECK-NEXT: c10::xpu::device_count_ensure_non_zero();
38+ c10::DeviceIndex num_devices_ensured = c10::cuda::device_count_ensure_non_zero ();
2139
40+ // CHECK: c10::DeviceIndex current_device = c10::xpu::current_device();
41+ c10::DeviceIndex current_device = c10::cuda::current_device ();
42+
43+ c10::DeviceIndex new_device = 1 ;
44+ // CHECK: c10::xpu::set_device(new_device);
45+ c10::cuda::set_device (new_device);
46+
47+ // CHECK: c10::DeviceIndex exchanged_device = c10::xpu::exchange_device(0);
48+ c10::DeviceIndex exchanged_device = c10::cuda::ExchangeDevice (0 );
49+
50+ // CHECK: c10::DeviceIndex maybe_exchanged_device = c10::xpu::maybe_exchange_device(1);
51+ c10::DeviceIndex maybe_exchanged_device = c10::cuda::MaybeExchangeDevice (1 );
52+
53+ std::optional<c10::Device> device;
2254 try {
2355 // CHECK: c10::OptionalDeviceGuard device_guard(device);
2456 c10::cuda::OptionalCUDAGuard device_guard (device);
@@ -27,18 +59,19 @@ int main() {
2759 return -1 ;
2860 }
2961
62+ // stream APIs
3063 // CHECK: auto currentStream = c10::xpu::getCurrentXPUStream();
3164 auto currentStream = c10::cuda::getCurrentCUDAStream ();
3265
33- // CHECK: dpct::queue_ptr curr_cuda_st = &(currentStream.queue());
34- // CHECK-NEXT: curr_cuda_st = &(c10::xpu::getCurrentXPUStream() .queue());
66+ // CHECK: dpct::queue_ptr curr_cuda_st =
67+ // CHECK-NEXT: &static_cast<sycl::queue &>(currentStream .queue());
3568 cudaStream_t curr_cuda_st = currentStream.stream ();
69+ // CHECK: curr_cuda_st =
70+ // CHECK-NEXT: &static_cast<sycl::queue &>(c10::xpu::getCurrentXPUStream().queue());
3671 curr_cuda_st = c10::cuda::getCurrentCUDAStream ().stream ();
3772
3873 // CHECK: auto deviceStream = c10::xpu::getCurrentXPUStream(0);
3974 auto deviceStream = c10::cuda::getCurrentCUDAStream (0 );
4075
4176 return 0 ;
4277}
43-
44- #endif
0 commit comments