singe-cupti 0.1.0-alpha.5

Safe Rust wrappers for NVIDIA CUPTI profiling and callback APIs.
Documentation
use singe_cuda::testing::DeviceLock;

use crate::{context::Context, error::Result};

pub struct TestContext {
    context: Context,
    _lock: DeviceLock,
}

impl TestContext {
    pub fn context(&self) -> &Context {
        &self.context
    }
}

pub fn setup_context() -> Result<TestContext> {
    let lock = singe_cuda::testing::device_lock(0)?;
    let context = Context::create()?;
    Ok(TestContext {
        context,
        _lock: lock,
    })
}