From f21b3da304fe6083b24f75049e2704b95e541e18 Mon Sep 17 00:00:00 2001 From: Aaron Councilman <aaronjc4@illinois.edu> Date: Thu, 13 Feb 2025 13:26:18 -0600 Subject: [PATCH] New product test that fails --- Cargo.lock | 2 +- Cargo.toml | 2 +- juno_samples/{product_read => products}/Cargo.toml | 4 ++-- juno_samples/{product_read => products}/build.rs | 4 ++-- juno_samples/{product_read => products}/src/gpu.sch | 0 juno_samples/{product_read => products}/src/main.rs | 7 ++++++- .../src/product_read.jn => products/src/products.jn} | 5 +++++ 7 files changed, 17 insertions(+), 7 deletions(-) rename juno_samples/{product_read => products}/Cargo.toml (88%) rename juno_samples/{product_read => products}/build.rs (81%) rename juno_samples/{product_read => products}/src/gpu.sch (100%) rename juno_samples/{product_read => products}/src/main.rs (63%) rename juno_samples/{product_read/src/product_read.jn => products/src/products.jn} (72%) diff --git a/Cargo.lock b/Cargo.lock index ffb61f4d..f6ffbed9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1210,7 +1210,7 @@ dependencies = [ ] [[package]] -name = "juno_product_read" +name = "juno_products" version = "0.1.0" dependencies = [ "async-std", diff --git a/Cargo.toml b/Cargo.toml index 3e86bad0..0ed8f64b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,5 +33,5 @@ members = [ "juno_samples/edge_detection", "juno_samples/fork_join_tests", "juno_samples/multi_device", - "juno_samples/product_read", + "juno_samples/products", ] diff --git a/juno_samples/product_read/Cargo.toml b/juno_samples/products/Cargo.toml similarity index 88% rename from juno_samples/product_read/Cargo.toml rename to juno_samples/products/Cargo.toml index d466f555..34878a07 100644 --- a/juno_samples/product_read/Cargo.toml +++ b/juno_samples/products/Cargo.toml @@ -1,11 +1,11 @@ [package] -name = "juno_product_read" +name = "juno_products" version = "0.1.0" authors = ["Aaron Councilman <aaronjc4@illinois.edu>"] edition = "2021" [[bin]] -name = "juno_product_read" +name = "juno_products" path = "src/main.rs" [features] diff --git a/juno_samples/product_read/build.rs b/juno_samples/products/build.rs similarity index 81% rename from juno_samples/product_read/build.rs rename to juno_samples/products/build.rs index 2bd5172e..6d621961 100644 --- a/juno_samples/product_read/build.rs +++ b/juno_samples/products/build.rs @@ -4,7 +4,7 @@ fn main() { #[cfg(not(feature = "cuda"))] { JunoCompiler::new() - .file_in_src("product_read.jn") + .file_in_src("products.jn") .unwrap() .build() .unwrap(); @@ -12,7 +12,7 @@ fn main() { #[cfg(feature = "cuda")] { JunoCompiler::new() - .file_in_src("product_read.jn") + .file_in_src("products.jn") .unwrap() .schedule_in_src("gpu.sch") .unwrap() diff --git a/juno_samples/product_read/src/gpu.sch b/juno_samples/products/src/gpu.sch similarity index 100% rename from juno_samples/product_read/src/gpu.sch rename to juno_samples/products/src/gpu.sch diff --git a/juno_samples/product_read/src/main.rs b/juno_samples/products/src/main.rs similarity index 63% rename from juno_samples/product_read/src/main.rs rename to juno_samples/products/src/main.rs index 5211098c..b8abb59d 100644 --- a/juno_samples/product_read/src/main.rs +++ b/juno_samples/products/src/main.rs @@ -2,7 +2,7 @@ use hercules_rt::{runner, HerculesImmBox, HerculesImmBoxTo, HerculesMutBox}; -juno_build::juno!("product_read"); +juno_build::juno!("products"); fn main() { async_std::task::block_on(async { @@ -11,6 +11,11 @@ fn main() { let mut r = runner!(product_read); let res : Vec<i32> = HerculesMutBox::from(r.run(input.to()).await).as_slice().to_vec(); assert_eq!(res, vec![0, 1, 2, 3]); + + // Technically this returns a product of two i32s, but we can interpret that as an array + let mut r = runner!(product_return); + let res : Vec<i32> = HerculesMutBox::from(r.run(42, 17).await).as_slice().to_vec(); + assert_eq!(res, vec![42, 17]); }); } diff --git a/juno_samples/product_read/src/product_read.jn b/juno_samples/products/src/products.jn similarity index 72% rename from juno_samples/product_read/src/product_read.jn rename to juno_samples/products/src/products.jn index 7bf74a10..4f56368e 100644 --- a/juno_samples/product_read/src/product_read.jn +++ b/juno_samples/products/src/products.jn @@ -7,3 +7,8 @@ fn product_read(input: (i32, i32)[2]) -> i32[4] { result[3] = input[1].1; return result; } + +#[entry] +fn product_return(x: i32, y: i32) -> (i32, i32) { + return (x, y); +} -- GitLab