DPC++ Runtime
Runtime libraries for oneAPI DPC++
pointers.hpp
Go to the documentation of this file.
1 //==------------ pointers.hpp - SYCL pointers classes ----------------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
11 
12 
14 namespace sycl {
15 
16 template <typename ElementType, access::address_space Space> class multi_ptr;
17 // Template specialization aliases for different pointer address spaces
18 
19 template <typename ElementType>
20 using generic_ptr =
22 
23 template <typename ElementType>
25 
26 template <typename ElementType>
27 using device_ptr =
28  multi_ptr<ElementType,
29  access::address_space::ext_intel_global_device_space>;
30 
31 template <typename ElementType>
32 using host_ptr =
34 
35 template <typename ElementType>
37 
38 template <typename ElementType>
39 using constant_ptr =
41 
42 template <typename ElementType>
43 using private_ptr =
45 
46 } // namespace sycl
47 } // __SYCL_INLINE_NAMESPACE(cl)
sycl
Definition: invoke_simd.hpp:68
cl::sycl::multi_ptr
Provides constructors for address space qualified and non address space qualified pointers to allow i...
Definition: atomic.hpp:33
access.hpp
cl
We provide new interfaces for matrix muliply in this patch:
Definition: access.hpp:13
cl::sycl::generic_ptr
multi_ptr< ElementType, access::address_space::generic_space > generic_ptr
Definition: pointers.hpp:21
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition: defines_elementary.hpp:12