cubecl_core/frontend/
comptime.rs1use crate as cubecl;
2use alloc::rc::Rc;
3use cubecl::prelude::*;
4use cubecl_ir::{DeviceProperties, HardwareProperties};
5use cubecl_macros::intrinsic;
6
7#[cube]
9#[allow(unused_variables)]
10pub fn device_properties() -> comptime_type!(Rc<DeviceProperties>) {
11 intrinsic!(|scope| scope.properties.as_ref().unwrap().clone())
12}
13
14#[cube]
16#[allow(unused_variables)]
17pub fn hardware_properties() -> comptime_type!(HardwareProperties) {
18 let props = &device_properties().comptime().hardware;
19 comptime!(props.clone())
20}