Skip to content

Commit

Permalink
Update device property names
Browse files Browse the repository at this point in the history
  • Loading branch information
ZzEeKkAa committed Aug 5, 2024
1 parent e66d1aa commit f6e0262
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 25 deletions.
8 changes: 4 additions & 4 deletions csrc/gpu/aten/core/DeviceInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ struct DeviceInfo {
uint32_t max_num_sub_groups;
std::vector<size_t> sub_group_sizes;
bool support_fp64;
bool support_cl_bf16_conversion;
bool support_cl_sg_matmul_acc;
bool support_cl_sg_matmul_acc_tf32;
bool support_cl_sg_2d_block_io;
bool has_bf16_conversion;
bool has_subgroup_matrix_multiply_accumulate;
bool has_subgroup_matrix_multiply_accumulate_tensor_float32;
bool has_subgroup_2d_block_io;
};

} // namespace dpcpp
Expand Down
26 changes: 18 additions & 8 deletions csrc/gpu/runtime/Device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -323,10 +323,18 @@ static void initDeviceProperty(DeviceId device_id) {
device_prop.support_atomic64 = device.has(dpcpp_dev_aspect_atomic64);
device_prop.support_fp64 = device.has(dpcpp_dev_aspect_fp64);
sycl::ext::oneapi::experimental::cl_version version;
device_prop.support_cl_bf16_conversion = device.ext_oneapi_supports_cl_extension("cl_intel_bfloat16_conversions", &version);
device_prop.support_cl_sg_matmul_acc = device.ext_oneapi_supports_cl_extension("cl_intel_subgroup_matrix_multiply_accumulate", &version);
device_prop.support_cl_sg_matmul_acc_tf32 = device.ext_oneapi_supports_cl_extension("cl_intel_subgroup_matrix_multiply_accumulate_tensor_float32", &version);
device_prop.support_cl_sg_2d_block_io = device.ext_oneapi_supports_cl_extension("cl_intel_subgroup_2d_block_io", &version);
device_prop.has_bf16_conversion = device.ext_oneapi_supports_cl_extension(
"cl_intel_bfloat16_conversions", &version);
device_prop.has_subgroup_matrix_multiply_accumulate =
device.ext_oneapi_supports_cl_extension(
"cl_intel_subgroup_matrix_multiply_accumulate", &version);
device_prop.has_subgroup_matrix_multiply_accumulate_tensor_float32 =
device.ext_oneapi_supports_cl_extension(
"cl_intel_subgroup_matrix_multiply_accumulate_tensor_float32",
&version);
device_prop.has_subgroup_2d_block_io =
device.ext_oneapi_supports_cl_extension(
"cl_intel_subgroup_2d_block_io", &version);

device_properties[device_id] = device_prop;

Expand Down Expand Up @@ -361,10 +369,12 @@ static void initDeviceProperty(DeviceId device_id) {
dev_info.max_num_sub_groups = device_prop.max_num_subgroup;
dev_info.sub_group_sizes = device_prop.subgroup_sizes;
dev_info.support_fp64 = device_prop.support_fp64;
dev_info.support_cl_bf16_conversion = device_prop.support_cl_bf16_conversion;
dev_info.support_cl_sg_matmul_acc = device_prop.support_cl_sg_matmul_acc;
dev_info.support_cl_sg_matmul_acc_tf32 = device_prop.support_cl_sg_matmul_acc_tf32;
dev_info.support_cl_sg_2d_block_io = device_prop.support_cl_sg_2d_block_io;
dev_info.has_bf16_conversion = device_prop.has_bf16_conversion;
dev_info.has_subgroup_matrix_multiply_accumulate =
device_prop.has_subgroup_matrix_multiply_accumulate;
dev_info.has_subgroup_matrix_multiply_accumulate_tensor_float32 =
device_prop.has_subgroup_matrix_multiply_accumulate_tensor_float32;
dev_info.has_subgroup_2d_block_io = device_prop.has_subgroup_2d_block_io;
#if (defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER >= 20240100)
dev_info.device_arch = static_cast<uint64_t>(device_prop.device_arch);
#else
Expand Down
8 changes: 4 additions & 4 deletions csrc/gpu/runtime/DeviceProp.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,10 @@ struct DeviceProp {

bool support_fp64;
bool support_atomic64;
bool support_cl_bf16_conversion;
bool support_cl_sg_matmul_acc;
bool support_cl_sg_matmul_acc_tf32;
bool support_cl_sg_2d_block_io;
bool has_bf16_conversion;
bool has_subgroup_matrix_multiply_accumulate;
bool has_subgroup_matrix_multiply_accumulate_tensor_float32;
bool has_subgroup_2d_block_io;
};

} // namespace dpcpp
Expand Down
25 changes: 16 additions & 9 deletions intel_extension_for_pytorch/csrc/xpu/Module.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -577,10 +577,15 @@ static void register_xpu_device_info(PyObject* module) {
.def_readonly("max_num_sub_groups", &DeviceInfo::max_num_sub_groups)
.def_readonly("sub_group_sizes", &DeviceInfo::sub_group_sizes)
.def_readonly("has_fp64", &DeviceInfo::support_fp64)
.def_readonly("support_cl_bf16_conversion", &DeviceInfo::support_cl_bf16_conversion)
.def_readonly("support_cl_sg_matmul_acc", &DeviceInfo::support_cl_sg_matmul_acc)
.def_readonly("support_cl_sg_matmul_acc_tf32", &DeviceInfo::support_cl_sg_matmul_acc_tf32)
.def_readonly("support_cl_sg_2d_block_io", &DeviceInfo::support_cl_sg_2d_block_io)
.def_readonly("has_bf16_conversion", &DeviceInfo::has_bf16_conversion)
.def_readonly(
"has_subgroup_matrix_multiply_accumulate",
&DeviceInfo::has_subgroup_matrix_multiply_accumulate)
.def_readonly(
"has_subgroup_matrix_multiply_accumulate_tensor_float32",
&DeviceInfo::has_subgroup_matrix_multiply_accumulate_tensor_float32)
.def_readonly(
"has_subgroup_2d_block_io", &DeviceInfo::has_subgroup_2d_block_io)
.def_readonly("device_arch", &DeviceInfo::device_arch)
.def_property_readonly(
"dev_type", [](const DeviceInfo& info) { return get_dev_type(info); })
Expand All @@ -593,11 +598,13 @@ static void register_xpu_device_info(PyObject* module) {
<< ", total_memory=" << info.global_mem_size / (1024 * 1024)
<< "MB, max_compute_units=" << info.max_compute_units
<< ", gpu_eu_count=" << info.gpu_eu_count
<< ", device_arch=" << info.device_arch
<< ", support_cl_bf16_conversion=" << info.support_cl_bf16_conversion
<< ", support_cl_sg_matmul_acc=" << info.support_cl_sg_matmul_acc
<< ", support_cl_sg_matmul_acc_tf32=" << info.support_cl_sg_matmul_acc_tf32
<< ", support_cl_sg_2d_block_io=" << info.support_cl_sg_2d_block_io
<< ", device_arch=" << info.device_arch
<< ", has_bf16_conversion=" << info.has_bf16_conversion
<< ", has_subgroup_matrix_multiply_accumulate="
<< info.has_subgroup_matrix_multiply_accumulate
<< ", has_subgroup_matrix_multiply_accumulate_tensor_float32="
<< info.has_subgroup_matrix_multiply_accumulate_tensor_float32
<< ", has_subgroup_2d_block_io=" << info.has_subgroup_2d_block_io
<< ")";
return stream.str();
});
Expand Down

0 comments on commit f6e0262

Please sign in to comment.