From e2777074dc929cc26f05a83b952afd53fc087bc2 Mon Sep 17 00:00:00 2001 From: Gerwin van der Lugt Date: Tue, 15 Aug 2023 14:34:19 +0200 Subject: [PATCH] refactored `npp` ffi code into `ffi` --- src/ffi/mod.rs | 3 +++ src/{npp/ffi => ffi/npp}/context.rs | 2 +- src/{npp/ffi => ffi/npp}/copy_constant_border.rs | 6 +++--- src/{npp/ffi => ffi/npp}/includes.rs | 0 src/{npp/ffi => ffi/npp}/mod.rs | 0 src/{npp/ffi => ffi/npp}/remap.rs | 6 +++--- src/{npp/ffi => ffi/npp}/resize.rs | 6 +++--- src/{npp/ffi => ffi/npp}/resize_batch.rs | 6 +++--- src/npp/copy_constant_border.rs | 3 +-- src/npp/mod.rs | 3 +-- src/npp/remap.rs | 3 +-- src/npp/resize.rs | 3 +-- src/npp/resize_batch.rs | 3 +-- src/npp/stream.rs | 2 +- tests/functions_side_effects_test.rs | 10 +++++----- 15 files changed, 27 insertions(+), 29 deletions(-) rename src/{npp/ffi => ffi/npp}/context.rs (99%) rename src/{npp/ffi => ffi/npp}/copy_constant_border.rs (97%) rename src/{npp/ffi => ffi/npp}/includes.rs (100%) rename src/{npp/ffi => ffi/npp}/mod.rs (100%) rename src/{npp/ffi => ffi/npp}/remap.rs (98%) rename src/{npp/ffi => ffi/npp}/resize.rs (98%) rename src/{npp/ffi => ffi/npp}/resize_batch.rs (99%) diff --git a/src/ffi/mod.rs b/src/ffi/mod.rs index 2555dff..e936afe 100644 --- a/src/ffi/mod.rs +++ b/src/ffi/mod.rs @@ -6,6 +6,9 @@ pub mod memory; pub mod ptr; pub mod stream; +#[cfg(feature = "npp")] +pub mod npp; + /// Convenience macro for turning a CUDA error code into a `std::result::Result`. /// /// # Usage diff --git a/src/npp/ffi/context.rs b/src/ffi/npp/context.rs similarity index 99% rename from src/npp/ffi/context.rs rename to src/ffi/npp/context.rs index b4242aa..2a4dc98 100644 --- a/src/npp/ffi/context.rs +++ b/src/ffi/npp/context.rs @@ -1,7 +1,7 @@ use cpp::cpp; use crate::ffi::device::Device; -use crate::npp::ffi::result; +use crate::ffi::npp::result; use crate::stream::Stream; /// NPP stream context structure. diff --git a/src/npp/ffi/copy_constant_border.rs b/src/ffi/npp/copy_constant_border.rs similarity index 97% rename from src/npp/ffi/copy_constant_border.rs rename to src/ffi/npp/copy_constant_border.rs index f55b27c..880e81e 100644 --- a/src/npp/ffi/copy_constant_border.rs +++ b/src/ffi/npp/copy_constant_border.rs @@ -1,8 +1,8 @@ use cpp::cpp; +use crate::ffi::npp::context::Context; +use crate::ffi::npp::result; use crate::npp::constant_border::ConstantBorder; -use crate::npp::ffi::context::Context; -use crate::npp::ffi::result; type Result = std::result::Result; @@ -64,7 +64,7 @@ pub fn copy_constant_border( mod tests { use super::*; - use crate::npp::ffi::context::Context; + use crate::ffi::npp::context::Context; use crate::npp::tests::image::*; use crate::npp::tests::sync::memory::*; diff --git a/src/npp/ffi/includes.rs b/src/ffi/npp/includes.rs similarity index 100% rename from src/npp/ffi/includes.rs rename to src/ffi/npp/includes.rs diff --git a/src/npp/ffi/mod.rs b/src/ffi/npp/mod.rs similarity index 100% rename from src/npp/ffi/mod.rs rename to src/ffi/npp/mod.rs diff --git a/src/npp/ffi/remap.rs b/src/ffi/npp/remap.rs similarity index 98% rename from src/npp/ffi/remap.rs rename to src/ffi/npp/remap.rs index d94e361..83ce8c8 100644 --- a/src/npp/ffi/remap.rs +++ b/src/ffi/npp/remap.rs @@ -1,7 +1,7 @@ use cpp::cpp; -use crate::npp::ffi::context::Context; -use crate::npp::ffi::result; +use crate::ffi::npp::context::Context; +use crate::ffi::npp::result; type Result = std::result::Result; @@ -91,7 +91,7 @@ pub fn remap( mod tests { use super::*; - use crate::npp::ffi::context::Context; + use crate::ffi::npp::context::Context; use crate::npp::tests::image::*; use crate::npp::tests::sync::memory::*; diff --git a/src/npp/ffi/resize.rs b/src/ffi/npp/resize.rs similarity index 98% rename from src/npp/ffi/resize.rs rename to src/ffi/npp/resize.rs index 1c333bd..a6486e4 100644 --- a/src/npp/ffi/resize.rs +++ b/src/ffi/npp/resize.rs @@ -1,7 +1,7 @@ use cpp::cpp; -use crate::npp::ffi::context::Context; -use crate::npp::ffi::result; +use crate::ffi::npp::context::Context; +use crate::ffi::npp::result; use crate::npp::region::Region; type Result = std::result::Result; @@ -88,7 +88,7 @@ pub fn resize( mod tests { use super::*; - use crate::npp::ffi::context::Context; + use crate::ffi::npp::context::Context; use crate::npp::tests::image::*; use crate::npp::tests::sync::memory::*; diff --git a/src/npp/ffi/resize_batch.rs b/src/ffi/npp/resize_batch.rs similarity index 99% rename from src/npp/ffi/resize_batch.rs rename to src/ffi/npp/resize_batch.rs index d8500e8..3329180 100644 --- a/src/npp/ffi/resize_batch.rs +++ b/src/ffi/npp/resize_batch.rs @@ -1,7 +1,7 @@ use cpp::cpp; -use crate::npp::ffi::context::Context; -use crate::npp::ffi::result; +use crate::ffi::npp::context::Context; +use crate::ffi::npp::result; use crate::npp::region::Region; type Result = std::result::Result; @@ -189,7 +189,7 @@ pub fn resize_batch( mod tests { use super::*; - use crate::npp::ffi::context::Context; + use crate::ffi::npp::context::Context; use crate::npp::tests::sync::memory::*; #[test] diff --git a/src/npp/copy_constant_border.rs b/src/npp/copy_constant_border.rs index 2f39b22..79f8a6a 100644 --- a/src/npp/copy_constant_border.rs +++ b/src/npp/copy_constant_border.rs @@ -1,6 +1,5 @@ use crate::memory::DeviceBuffer2D; use crate::npp::constant_border::ConstantBorder; -use crate::npp::ffi; use crate::npp::stream::Stream; use crate::runtime::Future; @@ -39,7 +38,7 @@ pub async fn copy_constant_border( let context = stream.to_context(); Future::new(move || { - ffi::copy_constant_border::copy_constant_border( + crate::ffi::npp::copy_constant_border::copy_constant_border( input.inner(), output.inner_mut(), constant_border, diff --git a/src/npp/mod.rs b/src/npp/mod.rs index dce5598..792b5ab 100644 --- a/src/npp/mod.rs +++ b/src/npp/mod.rs @@ -1,7 +1,6 @@ pub mod constant_border; pub mod copy_constant_border; pub mod error; -pub mod ffi; pub mod region; pub mod remap; pub mod resize; @@ -22,4 +21,4 @@ pub use stream::Stream; pub use resize_batch::resize_batch; #[cfg(test)] -mod tests; +pub mod tests; diff --git a/src/npp/remap.rs b/src/npp/remap.rs index fff995a..40352ea 100644 --- a/src/npp/remap.rs +++ b/src/npp/remap.rs @@ -1,5 +1,4 @@ use crate::memory::DeviceBuffer2D; -use crate::npp::ffi; use crate::npp::stream::Stream; use crate::runtime::Future; @@ -63,7 +62,7 @@ pub async fn remap( let context = stream.to_context(); Future::new(move || { - ffi::remap::remap( + crate::ffi::npp::remap::remap( input.inner(), output.inner_mut(), map_x.inner(), diff --git a/src/npp/resize.rs b/src/npp/resize.rs index 8dbfd2f..96c5a45 100644 --- a/src/npp/resize.rs +++ b/src/npp/resize.rs @@ -1,5 +1,4 @@ use crate::memory::DeviceBuffer2D; -use crate::npp::ffi; use crate::npp::region::Region; use crate::npp::stream::Stream; use crate::runtime::Future; @@ -42,7 +41,7 @@ pub async fn resize( let context = stream.to_context(); Future::new(move || { - ffi::resize::resize( + crate::ffi::npp::resize::resize( input.inner(), input_region, output.inner_mut(), diff --git a/src/npp/resize_batch.rs b/src/npp/resize_batch.rs index 2567947..27effe9 100644 --- a/src/npp/resize_batch.rs +++ b/src/npp/resize_batch.rs @@ -1,5 +1,4 @@ use crate::memory::DeviceBuffer2D; -use crate::npp::ffi; use crate::npp::region::Region; use crate::npp::stream::Stream; use crate::runtime::Future; @@ -93,7 +92,7 @@ pub async fn resize_batch( .iter_mut() .map(|(input, output)| (input.inner(), output.inner_mut())) .collect::>(); - ffi::resize_batch::resize_batch( + crate::ffi::npp::resize_batch::resize_batch( inputs_and_outputs_inner.as_mut_slice(), input_region, output_region, diff --git a/src/npp/stream.rs b/src/npp/stream.rs index f4995d1..af39a36 100644 --- a/src/npp/stream.rs +++ b/src/npp/stream.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use crate::npp::ffi::context::Context; +use crate::ffi::npp::context::Context; use crate::runtime::Future; /// Represents an NPP stream. diff --git a/tests/functions_side_effects_test.rs b/tests/functions_side_effects_test.rs index d325d5b..3a47a99 100644 --- a/tests/functions_side_effects_test.rs +++ b/tests/functions_side_effects_test.rs @@ -1,10 +1,10 @@ -#[cfg(npp)] +#[cfg(feature = "npp")] use async_cuda::ffi::device::Device; -#[cfg(npp)] +#[cfg(feature = "npp")] use async_cuda::stream::Stream; -#[cfg(npp)] -use async_cuda::npp::ffi::context::Context; +#[cfg(feature = "npp")] +use async_cuda::ffi::npp::context::Context; /// This integration test helps determine which ffi functions affect the GPU state, or local thread /// state. @@ -39,7 +39,7 @@ use async_cuda::npp::ffi::context::Context; /// | ----------------------------- | ---------------- | ------------------------- | /// | `Context::from_null_stream` | ❌ | ✅ | /// | `Context::from_stream` | ❌ | ✅ | -#[cfg(npp)] +#[cfg(feature = "npp")] #[tokio::test] async fn test_side_effects() { // First block contains stuff we are not interested in measuring...