#pragma once #include "../c++/data.hpp" #include "../c++/device.hpp" #include "../c++/remote.hpp" namespace sch { using namespace saw::schema; using MixedArray = Array< MixedPrecision >; using Float64Array = Array< Float64 >; using Float32Array = Array< Float32 >; using MixedPrecisionBenchmarkInterface = Interface< Member, "float64_32">, Member, "float64">, Member, "float32"> >; /** * This is more of a presentation */ template using FloatPrecisionBenchmarkInterface = Interface< Member, "float_arr"> >; } saw::interface, 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); saw::interface, saw::encode::Sycl, cl::sycl::queue*> listen_mixed_float_precision(cl::sycl::event& ev, uint64_t& arithmetic_intensity); saw::interface, saw::encode::Sycl, cl::sycl::queue*> listen_half_float_precision(cl::sycl::event& ev, uint64_t& arithmetic_intensity); saw::interface, saw::encode::Sycl, cl::sycl::queue*> listen_full_precision(cl::sycl::event& ev, uint64_t& arithmetic_intensity);