Skip to content

Commit d76350b

Browse files
authored
1 parent 7a28b7a commit d76350b

File tree

6 files changed

+25
-0
lines changed

6 files changed

+25
-0
lines changed

sycl/include/sycl/device.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ namespace sycl {
3838
inline namespace _V1 {
3939
// Forward declarations
4040
class platform;
41+
class context;
4142
template <backend BackendName, class SyclObjectT>
4243
auto get_native(const SyclObjectT &Obj)
4344
-> backend_return_t<BackendName, SyclObjectT>;
@@ -353,6 +354,11 @@ class __SYCL_STANDALONE_DEBUG __SYCL_EXPORT device
353354
return profile.c_str();
354355
}
355356

357+
/// Shortcut for get_platform().khr_get_default_context().
358+
///
359+
/// \return the default context
360+
context ext_oneapi_get_default_context();
361+
356362
// TODO: Remove this diagnostics when __SYCL_WARN_IMAGE_ASPECT is removed.
357363
#if defined(__clang__)
358364
#pragma clang diagnostic pop

sycl/source/device.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,5 +336,9 @@ detail::string device::ext_oneapi_cl_profile_impl() const {
336336
return detail::string{profile};
337337
}
338338

339+
context device::ext_oneapi_get_default_context() {
340+
return impl->get_platform().khr_get_default_context();
341+
}
342+
339343
} // namespace _V1
340344
} // namespace sycl

sycl/source/feature_test.hpp.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ inline namespace _V1 {
122122
#define SYCL_EXT_ONEAPI_MEMORY_EXPORT 1
123123
#define SYCL_EXT_ONEAPI_CLOCK 1
124124
#define SYCL_EXT_ONEAPI_DEVICE_IS_INTEGRATED_GPU 1
125+
#define SYCL_EXT_ONEAPI_DEVICE_DEFAULT_CONTEXT 1
125126
// In progress yet
126127
#define SYCL_EXT_ONEAPI_ATOMIC16 0
127128
#define SYCL_KHR_DEFAULT_CONTEXT 1
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// RUN: %{build} -o %t.out
2+
// RUN: %{run} %t.out
3+
4+
#include <sycl/detail/core.hpp>
5+
#include <sycl/platform.hpp>
6+
7+
int main() {
8+
sycl::device dev;
9+
auto ctx1 = dev.ext_oneapi_get_default_context();
10+
auto ctx2 = dev.get_platform().khr_get_default_context();
11+
return !(ctx1 == ctx2);
12+
}

sycl/test/abi/sycl_symbols_linux.dump

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3397,6 +3397,7 @@ _ZN4sycl3_V16device26ext_oneapi_architecture_isENS0_3ext6oneapi12experimental13a
33973397
_ZN4sycl3_V16device26ext_oneapi_can_access_peerERKS1_NS0_3ext6oneapi11peer_accessE
33983398
_ZN4sycl3_V16device29ext_oneapi_enable_peer_accessERKS1_
33993399
_ZN4sycl3_V16device30ext_oneapi_disable_peer_accessERKS1_
3400+
_ZN4sycl3_V16device30ext_oneapi_get_default_contextEv
34003401
_ZN4sycl3_V16device32ext_oneapi_supports_cl_c_featureENS0_6detail11string_viewE
34013402
_ZN4sycl3_V16deviceC1EP13_cl_device_id
34023403
_ZN4sycl3_V16deviceC1ERKNS0_15device_selectorE

sycl/test/abi/sycl_symbols_windows.dump

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3935,6 +3935,7 @@
39353935
?ext_oneapi_get_backend_content_view_impl@device_image_plain@detail@_V1@sycl@@IEBA?AU?$pair@PEBW4byte@std@@PEBW412@@std@@XZ
39363936
?ext_oneapi_get_backend_impl@device_image_plain@detail@_V1@sycl@@IEBA?AW4backend@34@XZ
39373937
?ext_oneapi_get_composite_devices@platform@_V1@sycl@@QEBA?AV?$vector@Vdevice@_V1@sycl@@V?$allocator@Vdevice@_V1@sycl@@@std@@@std@@XZ
3938+
?ext_oneapi_get_default_context@device@_V1@sycl@@QEAA?AVcontext@23@XZ
39383939
?ext_oneapi_get_default_context@platform@_V1@sycl@@QEBA?AVcontext@23@XZ
39393940
?ext_oneapi_get_default_memory_pool@context@_V1@sycl@@QEBA?AVmemory_pool@experimental@oneapi@ext@23@AEBVdevice@23@W4alloc@usm@23@@Z
39403941
?ext_oneapi_get_device_global_address@kernel_bundle_plain@detail@_V1@sycl@@AEAAPEAXVstring_view@234@AEBVdevice@34@@Z

0 commit comments

Comments
 (0)