tenferro-gpu 0.1.0

CubeCL-backed CUDA and WebGPU provider backends for tenferro tensors.
Documentation
pub(crate) mod cutensor;

/// Build the library search path list for a CUDA FFI library.
///
/// If the environment variable `env_var` is set, its value is used as the
/// sole search path (supporting `:` separated lists). Otherwise, the
/// `default_paths` are used in order.
///
/// # Environment Variables
///
/// | Variable | Library |
/// |----------|---------|
/// | `TENFERRO_CUTENSOR_PATH` | cuTENSOR |
pub(crate) fn library_search_paths(env_var: &str, default_paths: &[&str]) -> Vec<String> {
    if let Ok(val) = std::env::var(env_var) {
        val.split(':')
            .filter(|s| !s.is_empty())
            .map(String::from)
            .collect()
    } else {
        default_paths.iter().map(|s| s.to_string()).collect()
    }
}