diff --git a/hercules_cg/Cargo.toml b/hercules_cg/Cargo.toml index cf0767de04c81e35974a7aca89e9085b543e1a9d..0952ee57e0dd9e4b8f7e9639e10a3f2b0fc35a72 100644 --- a/hercules_cg/Cargo.toml +++ b/hercules_cg/Cargo.toml @@ -4,6 +4,9 @@ version = "0.1.0" authors = ["Russel Arbore <rarbore2@illinois.edu>"] edition = "2021" +[features] +cuda = [] + [dependencies] rand = "*" ordered-float = "*" diff --git a/hercules_cg/src/device.rs b/hercules_cg/src/device.rs index 866fa6adeeb41c2c8106a1b7de5ce1ffdc45db40..9f71c1a7d108c4a21e04c8bebc95bc6d18c32e80 100644 --- a/hercules_cg/src/device.rs +++ b/hercules_cg/src/device.rs @@ -13,6 +13,8 @@ pub fn device_placement(functions: &Vec<Function>, callgraph: &CallGraph) -> Vec devices.push(device); } else if function.entry || callgraph.num_callees(FunctionID::new(idx)) != 0 { devices.push(Device::AsyncRust); + } else if cfg!(feature = "cuda") { + devices.push(Device::CUDA); } else { devices.push(Device::LLVM); }