DPC++ Runtime
Runtime libraries for oneAPI DPC++
usm_properties.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <CL/sycl/context.hpp>
6 
8 namespace sycl {
9 namespace ext {
10 
11 namespace oneapi {
12 namespace property {
13 namespace usm {
15  : public sycl::detail::DataLessProperty<sycl::detail::DeviceReadOnly> {
16 public:
17  device_read_only() = default;
18 };
19 } // namespace usm
20 } // namespace property
21 } // namespace oneapi
22 
23 namespace intel {
24 namespace experimental {
25 namespace property {
26 namespace usm {
27 
30  sycl::detail::PropWithDataKind::AccPropBufferLocation> {
31 public:
32  buffer_location(uint64_t Location) : MLocation(Location) {}
33  uint64_t get_buffer_location() const { return MLocation; }
34 
35 private:
36  uint64_t MLocation;
37 };
38 
39 } // namespace usm
40 } // namespace property
41 } // namespace experimental
42 } // namespace intel
43 } // namespace ext
44 
45 template <>
46 struct is_property<ext::oneapi::property::usm::device_read_only>
47  : std::true_type {};
48 
49 template <>
50 struct is_property<ext::intel::experimental::property::usm::buffer_location>
51  : std::true_type {};
52 
53 } // namespace sycl
54 } // __SYCL_INLINE_NAMESPACE(cl)
property_traits.hpp
cl::sycl::ext::intel::experimental::property::usm::buffer_location::get_buffer_location
uint64_t get_buffer_location() const
Definition: usm_properties.hpp:33
context.hpp
sycl
Definition: invoke_simd.hpp:68
cl::sycl::is_property
Definition: property_traits.hpp:15
cl::sycl::ext::oneapi::property::usm::device_read_only
Definition: usm_properties.hpp:14
cl::sycl::detail::DataLessProperty
Definition: property_helper.hpp:62
cl::sycl::ext::intel::experimental::property::usm::buffer_location::buffer_location
buffer_location(uint64_t Location)
Definition: usm_properties.hpp:32
cl
We provide new interfaces for matrix muliply in this patch:
Definition: access.hpp:13
cl::sycl::ext::intel::experimental::property::usm::buffer_location
Definition: usm_properties.hpp:28
property_helper.hpp
cl::sycl::detail::PropertyWithData
Definition: property_helper.hpp:83
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition: defines_elementary.hpp:12