summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/benchmarks/mixed_precision.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/remote-sycl/benchmarks/mixed_precision.hpp')
-rw-r--r--modules/remote-sycl/benchmarks/mixed_precision.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/remote-sycl/benchmarks/mixed_precision.hpp b/modules/remote-sycl/benchmarks/mixed_precision.hpp
new file mode 100644
index 0000000..3462bcd
--- /dev/null
+++ b/modules/remote-sycl/benchmarks/mixed_precision.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include "../c++/remote.hpp"
+
+namespace sch {
+using namespace saw::schema;
+
+using MixedArray = Array<
+ MixedPrecision<Float64, Float32>
+>;
+
+using Float64Array = Array<
+ Float64
+>;
+
+using Float32Array = Array<
+ Float32
+>;
+
+using MixedPrecisionBenchmarkInterface = Interface<
+ Member<Function<MixedArray,Void>, "float64_32">,
+ Member<Function<Float64Array,Void>, "float64">,
+ Member<Function<Float32Array,Void>, "float32">
+>;
+}
+
+saw::interface<sch::MixedPrecisionBenchmarkInterface, saw::encode::Native, saw::rmt::Sycl, cl::sycl::queue*> listen_mixed_precision(cl::sycl::event& mixed_ev, cl::sycl::event& float64_ev, cl::sycl::event& float32_ev);