#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Backend {
Cpu,
Cuda,
Vulkan,
Hip,
Sycl,
OpenCl,
}
impl Backend {
pub fn release_name_component(&self) -> &'static str {
match self {
Backend::Cpu => "cpu",
Backend::Cuda => "cuda-cu12.4", Backend::Vulkan => "vulkan",
Backend::Hip => "sycl", Backend::Sycl => "sycl",
Backend::OpenCl => "opencl", }
}
pub fn dll_name(&self) -> &'static str {
if cfg!(windows) {
"llama.dll"
} else if cfg!(target_os = "macos") {
"libllama.dylib"
} else {
"libllama.so"
}
}
}