//! Profiling GPU kernels and host CUDA API calls
use crate::*;
use *;
use Arc;
/// RAII handler for nvprof profiling
///
/// - Profiling starts by `Profiler::start`, and stops by `Drop` of `Profiler`.
/// - Unified memory profiling is not supported. You must add an option `--unified-memory-profiling off` to `nvprof` command.
/// ```shell
/// $ nvprof --unified-memory-profiling off ./target/release/examples/add
/// ```
/// - You will find more options at [nvprof user's guide](https://docs.nvidia.com/cuda/profiler-users-guide/index.html#nvprof-overview)