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
10
#include <
CL/sycl/access/access.hpp
>
11
12
13
__SYCL_INLINE_NAMESPACE
(
cl
) {
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
=
21
multi_ptr<ElementType, access::address_space::generic_space>
;
22
23
template
<
typename
ElementType>
24
using
global_ptr
=
multi_ptr<ElementType, access::address_space::global_space>
;
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
=
33
multi_ptr<ElementType, access::address_space::ext_intel_global_host_space>
;
34
35
template
<
typename
ElementType>
36
using
local_ptr
=
multi_ptr<ElementType, access::address_space::local_space>
;
37
38
template
<
typename
ElementType>
39
using
constant_ptr
=
40
multi_ptr<ElementType, access::address_space::constant_space>
;
41
42
template
<
typename
ElementType>
43
using
private_ptr
=
44
multi_ptr<ElementType, access::address_space::private_space>
;
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
include
CL
sycl
pointers.hpp
Generated by
1.8.17