summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/benchmarks/mixed_precision.hpp
blob: cd8f9ecba79289a6b5aa5a454434c7ab80e33f9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include "../c++/device.hpp"
#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, uint64_t& arithmetic_intensity);