summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/benchmarks/mixed_precision.hpp
blob: fc3fc469f3f77abaeb9f51a6421c93f00fba3097 (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
29
#pragma once

#include "../c++/data.hpp"
#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::Sycl<saw::encode::Native>, 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);