-
Notifications
You must be signed in to change notification settings - Fork 113
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Dynamic Selection] Adding sycl profiling for auto tune policy (#1464)
* Added static assert for keyArgs==Args * WIP for jit compilation * Fixing Autotune bug * Added sycl profiling without host task * Corrections in dynamic traits * Remove comments in dynamic_selection_traits * Adding back jit compolation restrictions * Adressing comments to add thread safety, better traits * Added backend trait to check if profiling is enabled * Backend traits, renaming and adding a lock to lazy report * Fixed memory leaks * No nullptr for selection handle in async waiter constructor * Added an erase and remove_if * Adressing comments for profiling report, Adding profiling to default sycl backend constructor * Changes to std::chrono::duration * Addressed comments for sycl backend * Addressed comments to sycl backend * Fix USM memory leaks and create unique task names (#1537) * test/parallel_api/dynamic_selection/sycl/test_auto_tune_policy_sycl.pass.cpp - fix USM shared memory leaks Signed-off-by: Sergey Kopienko <[email protected]> * test/parallel_api/dynamic_selection/sycl/test_auto_tune_policy_sycl.pass.cpp - create unique task names for h.single_task([](){}); Signed-off-by: Sergey Kopienko <[email protected]> --------- Signed-off-by: Sergey Kopienko <[email protected]> * Fix the format of report method - using `report_duration` in second param (#1539) * include/oneapi/dpl/internal/dynamic_selection_traits.h - fix traits to specify report method second parameter type Signed-off-by: Sergey Kopienko <[email protected]> * Change second parameter type of auto_tune_selection_type::report method - to report_duration (std::chrono::milliseconds) Signed-off-by: Sergey Kopienko <[email protected]> --------- Signed-off-by: Sergey Kopienko <[email protected]> * Fixing clang format --------- Signed-off-by: Sergey Kopienko <[email protected]> Co-authored-by: Sergey Kopienko <[email protected]>
- Loading branch information
1 parent
f6a8c40
commit 5ea755c
Showing
7 changed files
with
347 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
include/oneapi/dpl/internal/dynamic_selection_impl/backend_traits.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
// -*- C++ -*- | ||
//===----------------------------------------------------------------------===// | ||
// | ||
// Copyright (C) 2023 Intel Corporation | ||
// | ||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
// | ||
//===----------------------------------------------------------------------===// | ||
|
||
#ifndef _ONEDPL_INTERNAL_BACKEND_TRAITS_H | ||
#define _ONEDPL_INTERNAL_BACKEND_TRAITS_H | ||
|
||
#include <utility> | ||
#include <type_traits> | ||
|
||
namespace oneapi | ||
{ | ||
namespace dpl | ||
{ | ||
namespace experimental | ||
{ | ||
namespace internal | ||
{ | ||
template <typename Backend> | ||
auto | ||
has_lazy_report_impl(...) -> std::false_type; | ||
|
||
template <typename Backend> | ||
auto | ||
has_lazy_report_impl(int) -> decltype(std::declval<Backend>().lazy_report(), std::true_type{}); | ||
|
||
template <typename Backend> | ||
struct has_lazy_report : decltype(has_lazy_report_impl<Backend>(0)) | ||
{ | ||
}; | ||
|
||
} //namespace internal | ||
|
||
namespace backend_traits | ||
{ | ||
template <typename S> | ||
struct lazy_report_value | ||
{ | ||
static constexpr bool value = ::oneapi::dpl::experimental::internal::has_lazy_report<S>::value; | ||
}; | ||
template <typename S> | ||
inline constexpr bool lazy_report_v = lazy_report_value<S>::value; | ||
|
||
} //namespace backend_traits | ||
|
||
} // namespace experimental | ||
} // namespace dpl | ||
} // namespace oneapi | ||
|
||
#endif /*_ONEDPL_INTERNAL_BACKEND_TRAITS_H*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.