Skip to main content

singe_cusolver_sys/
lib.rs

1//! Raw FFI bindings for cuSOLVER.
2//!
3//! Prefer the safe `singe-cusolver` crate unless direct NVIDIA ABI access is required.
4
5#![allow(deprecated, warnings, unused_qualifications, clippy::all)]
6
7use num_enum::{IntoPrimitive, TryFromPrimitive};
8
9use singe_cuda_sys::{
10    library_types::{
11        cudaDataType, cudaDataType_t, cudaEmulationMantissaControl_t,
12        cudaEmulationSpecialValuesSupport_t, cudaEmulationStrategy_t, libraryPropertyType,
13    },
14    runtime::cudaStream_t,
15};
16
17#[cfg(feature = "cusolver_13_2")]
18include!("sys_12100.rs");
19
20#[cfg(test)]
21mod tests {
22    use super::*;
23
24    #[test]
25    fn it_works() {
26        let mut version = 0;
27        unsafe {
28            assert_eq!(
29                cusolverGetVersion(&mut version),
30                cusolverStatus_t::CUSOLVER_STATUS_SUCCESS,
31            );
32        }
33        println!("cuSOLVER version: {}", version);
34        assert_ne!(version, 0);
35    }
36}