#ifndef SYCL_HW_HPP
#define SYCL_HW_HPP
#include <algorithm>
#include <stdio.h>
#include <vector>
#include <map>
#include <sycl/sycl.hpp>
namespace syclex = sycl::ext::oneapi::experimental;
using gpu_arch = sycl::ext::oneapi::experimental::architecture;
enum sycl_intel_gpu_family {
GPU_FAMILY_UKNOWN = -1,
GPU_FAMILY_IGPU_NON_XE = 0,
GPU_FAMILY_IGPU_XE = 1,
GPU_FAMILY_DGPU_CLIENT_GAME = 2,
GPU_FAMILY_DGPU_CLOUD = 3
};
struct sycl_hw_info {
syclex::architecture arch;
const char* arch_name;
int32_t device_id;
std::string name;
sycl_intel_gpu_family gpu_family;
};
sycl_hw_info get_device_hw_info(sycl::device *device_ptr);
#endif