17 inline namespace _V1 {
29 throw sycl::invalid_parameter_error(
30 "Maximum statement size exceeds limit of " +
32 PI_ERROR_INVALID_VALUE);
34 return MaxStatementSize;
37 stream::stream(
size_t BufferSize,
size_t MaxStatementSize, handler &CGH)
38 : stream(BufferSize, MaxStatementSize, CGH, {}) {}
40 stream::stream(
size_t BufferSize,
size_t MaxStatementSize, handler &CGH,
41 const property_list &PropList)
42 : impl(
std::make_shared<detail::stream_impl>(
44 GlobalBuf(impl->accessGlobalBuf(CGH)),
45 GlobalOffset(impl->accessGlobalOffset(CGH)),
47 GlobalFlushBuf(impl->accessGlobalFlushBuf(CGH)),
59 size_t stream::size() const
noexcept {
return impl->get_size(); }
61 size_t stream::get_work_item_buffer_size()
const {
62 return impl->get_work_item_buffer_size();
65 size_t stream::get_size()
const {
return size(); }
67 size_t stream::get_max_statement_size()
const {
68 return get_work_item_buffer_size();
75 #define __SYCL_PARAM_TRAITS_SPEC(param_type) \
77 __SYCL_EXPORT bool stream::has_property<param_type>() const noexcept { \
78 return impl->has_property<param_type>(); \
80 #include <sycl/detail/properties_traits.def>
82 #undef __SYCL_PARAM_TRAITS_SPEC
84 #define __SYCL_PARAM_TRAITS_SPEC(param_type) \
86 __SYCL_EXPORT param_type stream::get_property<param_type>() const { \
87 return impl->get_property<param_type>(); \
89 #include <sycl/detail/properties_traits.def>
91 #undef __SYCL_PARAM_TRAITS_SPEC
decltype(Obj::impl) getSyclObjImpl(const Obj &SyclObject)
constexpr unsigned FLUSH_BUF_OFFSET_SIZE
bool operator==(const cache_config &lhs, const cache_config &rhs)
bool operator!=(const cache_config &lhs, const cache_config &rhs)
static constexpr size_t MAX_STATEMENT_SIZE
static size_t CheckMaxStatementSize(const size_t &MaxStatementSize)
_Abi const simd< _Tp, _Abi > & noexcept