xref: /aosp_15_r20/external/pytorch/cmake/public/xpu.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker# ---[ xpu
2*da0073e9SAndroid Build Coastguard Worker
3*da0073e9SAndroid Build Coastguard Worker# Poor man's include guard
4*da0073e9SAndroid Build Coastguard Workerif(TARGET torch::xpurt)
5*da0073e9SAndroid Build Coastguard Worker  return()
6*da0073e9SAndroid Build Coastguard Workerendif()
7*da0073e9SAndroid Build Coastguard Worker
8*da0073e9SAndroid Build Coastguard Worker# Find SYCL library.
9*da0073e9SAndroid Build Coastguard Workerfind_package(SYCLToolkit REQUIRED)
10*da0073e9SAndroid Build Coastguard Workerif(NOT SYCL_FOUND)
11*da0073e9SAndroid Build Coastguard Worker  set(PYTORCH_FOUND_XPU FALSE)
12*da0073e9SAndroid Build Coastguard Worker  return()
13*da0073e9SAndroid Build Coastguard Workerendif()
14*da0073e9SAndroid Build Coastguard Workerset(PYTORCH_FOUND_XPU TRUE)
15*da0073e9SAndroid Build Coastguard Worker
16*da0073e9SAndroid Build Coastguard Worker# SYCL library interface
17*da0073e9SAndroid Build Coastguard Workeradd_library(torch::sycl INTERFACE IMPORTED)
18*da0073e9SAndroid Build Coastguard Worker
19*da0073e9SAndroid Build Coastguard Workerset_property(
20*da0073e9SAndroid Build Coastguard Worker    TARGET torch::sycl PROPERTY INTERFACE_INCLUDE_DIRECTORIES
21*da0073e9SAndroid Build Coastguard Worker    ${SYCL_INCLUDE_DIR})
22*da0073e9SAndroid Build Coastguard Workerset_property(
23*da0073e9SAndroid Build Coastguard Worker    TARGET torch::sycl PROPERTY INTERFACE_LINK_LIBRARIES
24*da0073e9SAndroid Build Coastguard Worker    ${SYCL_LIBRARY})
25*da0073e9SAndroid Build Coastguard Worker
26*da0073e9SAndroid Build Coastguard Worker# xpurt
27*da0073e9SAndroid Build Coastguard Workeradd_library(torch::xpurt INTERFACE IMPORTED)
28*da0073e9SAndroid Build Coastguard Workerset_property(
29*da0073e9SAndroid Build Coastguard Worker    TARGET torch::xpurt PROPERTY INTERFACE_LINK_LIBRARIES
30*da0073e9SAndroid Build Coastguard Worker    torch::sycl)
31