Enabled code-style for OpenVINO folder (#3385)
This commit is contained in:
parent
19ab50a4f6
commit
b1e99ba699
@ -89,11 +89,6 @@ endfunction()
|
||||
# they must be built even if samples build is disabled (required for tests and tools).
|
||||
ie_build_samples()
|
||||
|
||||
file(GLOB_RECURSE SAMPLES_SOURCES samples/*.cpp samples/*.hpp samples/*.h)
|
||||
add_cpplint_target(sample_cpplint
|
||||
FOR_SOURCES ${SAMPLES_SOURCES}
|
||||
EXCLUDE_PATTERNS "thirdparty/*" "pugixml/*")
|
||||
|
||||
if (ENABLE_PYTHON)
|
||||
add_subdirectory(ie_bridges/python)
|
||||
endif()
|
||||
|
@ -44,3 +44,6 @@ elseif(SELECTIVE_BUILD STREQUAL "ON")
|
||||
|
||||
ov_force_include(${TARGET_NAME} INTERFACE ${GENERATED_HEADER})
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE hdrs "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_SOURCES ${hdrs})
|
||||
|
@ -21,124 +21,127 @@
|
||||
#include <type_traits>
|
||||
#include <unordered_map>
|
||||
|
||||
namespace openvino
|
||||
{
|
||||
namespace cc
|
||||
{
|
||||
template<typename Key, typename T>
|
||||
class Factory;
|
||||
namespace openvino {
|
||||
namespace cc {
|
||||
|
||||
template<typename Key, typename T, typename ...Args>
|
||||
class Factory<Key, T(Args...)> {
|
||||
Factory(Factory const&) = delete;
|
||||
Factory& operator=(Factory const&) = delete;
|
||||
template<typename Key, typename T>
|
||||
class Factory;
|
||||
|
||||
public:
|
||||
using builder_t = std::function<T(Args...)>;
|
||||
template<typename Key, typename T, typename ...Args>
|
||||
class Factory<Key, T(Args...)> {
|
||||
Factory(Factory const&) = delete;
|
||||
Factory& operator=(Factory const&) = delete;
|
||||
|
||||
Factory(const std::string & name)
|
||||
: name(name) {}
|
||||
public:
|
||||
using builder_t = std::function<T(Args...)>;
|
||||
|
||||
#ifdef SELECTIVE_BUILD
|
||||
#define registerNodeIfRequired(Module, Name, key, Impl) \
|
||||
OV_CC_EXPAND(OV_CC_CAT(registerImpl, OV_CC_SCOPE_IS_ENABLED(OV_CC_CAT3(Module, _, Name)))<Impl>(key))
|
||||
#define createNodeIfRegistered(Module, key, ...) createImpl(key, __VA_ARGS__)
|
||||
Factory(const std::string & name)
|
||||
: name(name) {}
|
||||
|
||||
template<typename Impl>
|
||||
void registerImpl0(const Key &) {
|
||||
}
|
||||
#ifdef SELECTIVE_BUILD
|
||||
#define registerNodeIfRequired(Module, Name, key, Impl) \
|
||||
OV_CC_EXPAND(OV_CC_CAT(registerImpl, OV_CC_SCOPE_IS_ENABLED(OV_CC_CAT3(Module, _, Name)))<Impl>(key))
|
||||
#define createNodeIfRegistered(Module, key, ...) createImpl(key, __VA_ARGS__)
|
||||
|
||||
template<typename Impl>
|
||||
void registerImpl1(const Key & key) {
|
||||
builders[key] = [](Args... args) -> T {
|
||||
Impl *impl = new Impl(args...);
|
||||
return static_cast<T>(impl);
|
||||
};
|
||||
}
|
||||
template<typename Impl>
|
||||
void registerImpl0(const Key &) {
|
||||
}
|
||||
|
||||
T createImpl(const Key & key, Args... args) {
|
||||
auto builder = builders.find(key);
|
||||
if (builder != builders.end()) {
|
||||
return builder->second(args...);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
#elif defined(SELECTIVE_BUILD_ANALYZER)
|
||||
#define registerNodeIfRequired(Module, Name, key, Impl) registerImpl<OV_CC_CAT(FACTORY_, Module), Impl>(key, OV_CC_TOSTRING(Name))
|
||||
#define createNodeIfRegistered(Module, key, ...) createImpl<OV_CC_CAT(FACTORY_, Module)>(key, __VA_ARGS__)
|
||||
|
||||
template<openvino::itt::domain_t(*domain)(), typename Impl>
|
||||
void registerImpl(const Key & key, const char *typeName) {
|
||||
const std::string task_name = "REG$" + name + "$" + to_string(key) + "$" + typeName;
|
||||
openvino::itt::ScopedTask<domain> task(openvino::itt::handle(task_name));
|
||||
builders[key] = [](Args... args) -> T {
|
||||
Impl *impl = new Impl(args...);
|
||||
return static_cast<T>(impl);
|
||||
};
|
||||
}
|
||||
|
||||
template<openvino::itt::domain_t(*domain)()>
|
||||
T createImpl(const Key & key, Args... args) {
|
||||
auto builder = builders.find(key);
|
||||
if (builder != builders.end()) {
|
||||
const std::string task_name = "CREATE$" + name + "$" + to_string(key);
|
||||
openvino::itt::ScopedTask<domain> task(openvino::itt::handle(task_name));
|
||||
return builder->second(args...);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
#else
|
||||
#define registerNodeIfRequired(Module, Name, key, Impl) registerImpl<Impl>(key)
|
||||
#define createNodeIfRegistered(Module, key, ...) createImpl(key, __VA_ARGS__)
|
||||
|
||||
template<typename Impl>
|
||||
void registerImpl(const Key & key) {
|
||||
builders[key] = [](Args... args) -> T {
|
||||
Impl *impl = new Impl(args...);
|
||||
return static_cast<T>(impl);
|
||||
};
|
||||
}
|
||||
|
||||
T createImpl(const Key & key, Args... args) {
|
||||
auto builder = builders.find(key);
|
||||
if (builder != builders.end()) {
|
||||
return builder->second(args...);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
template<typename Fn>
|
||||
void foreach(Fn fn) const {
|
||||
for (auto itm : builders)
|
||||
fn(itm);
|
||||
}
|
||||
|
||||
size_t size() const noexcept {
|
||||
return builders.size();
|
||||
}
|
||||
|
||||
private:
|
||||
const std::string & to_string(const std::string & str) const noexcept {
|
||||
return str;
|
||||
}
|
||||
|
||||
template<typename V,
|
||||
typename std::enable_if<std::is_enum<V>::value, bool>::type = true>
|
||||
std::string to_string(V val) const {
|
||||
return std::to_string(static_cast<int>(val));
|
||||
}
|
||||
|
||||
template<typename V,
|
||||
typename std::enable_if<!std::is_enum<V>::value, bool>::type = true>
|
||||
std::string to_string(V val) const {
|
||||
return std::to_string(val);
|
||||
}
|
||||
|
||||
using map_t = std::unordered_map<Key, builder_t>;
|
||||
|
||||
const std::string name;
|
||||
map_t builders;
|
||||
template<typename Impl>
|
||||
void registerImpl1(const Key & key) {
|
||||
builders[key] = [](Args... args) -> T {
|
||||
Impl *impl = new Impl(args...);
|
||||
return static_cast<T>(impl);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
T createImpl(const Key & key, Args... args) {
|
||||
auto builder = builders.find(key);
|
||||
if (builder != builders.end()) {
|
||||
return builder->second(args...);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#elif defined(SELECTIVE_BUILD_ANALYZER)
|
||||
#define registerNodeIfRequired(Module, Name, key, Impl) registerImpl<OV_CC_CAT(FACTORY_, Module), Impl>(key, OV_CC_TOSTRING(Name))
|
||||
#define createNodeIfRegistered(Module, key, ...) createImpl<OV_CC_CAT(FACTORY_, Module)>(key, __VA_ARGS__)
|
||||
|
||||
template<openvino::itt::domain_t(*domain)(), typename Impl>
|
||||
void registerImpl(const Key & key, const char *typeName) {
|
||||
const std::string task_name = "REG$" + name + "$" + to_string(key) + "$" + typeName;
|
||||
openvino::itt::ScopedTask<domain> task(openvino::itt::handle(task_name));
|
||||
builders[key] = [](Args... args) -> T {
|
||||
Impl *impl = new Impl(args...);
|
||||
return static_cast<T>(impl);
|
||||
};
|
||||
}
|
||||
|
||||
template<openvino::itt::domain_t(*domain)()>
|
||||
T createImpl(const Key & key, Args... args) {
|
||||
auto builder = builders.find(key);
|
||||
if (builder != builders.end()) {
|
||||
const std::string task_name = "CREATE$" + name + "$" + to_string(key);
|
||||
openvino::itt::ScopedTask<domain> task(openvino::itt::handle(task_name));
|
||||
return builder->second(args...);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define registerNodeIfRequired(Module, Name, key, Impl) registerImpl<Impl>(key)
|
||||
#define createNodeIfRegistered(Module, key, ...) createImpl(key, __VA_ARGS__)
|
||||
|
||||
template<typename Impl>
|
||||
void registerImpl(const Key & key) {
|
||||
builders[key] = [](Args... args) -> T {
|
||||
Impl *impl = new Impl(args...);
|
||||
return static_cast<T>(impl);
|
||||
};
|
||||
}
|
||||
|
||||
T createImpl(const Key & key, Args... args) {
|
||||
auto builder = builders.find(key);
|
||||
if (builder != builders.end()) {
|
||||
return builder->second(args...);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
template<typename Fn>
|
||||
void foreach(Fn fn) const {
|
||||
for (auto itm : builders)
|
||||
fn(itm);
|
||||
}
|
||||
|
||||
size_t size() const noexcept {
|
||||
return builders.size();
|
||||
}
|
||||
|
||||
private:
|
||||
const std::string & to_string(const std::string & str) const noexcept {
|
||||
return str;
|
||||
}
|
||||
|
||||
template<typename V,
|
||||
typename std::enable_if<std::is_enum<V>::value, bool>::type = true>
|
||||
std::string to_string(V val) const {
|
||||
return std::to_string(static_cast<int>(val));
|
||||
}
|
||||
|
||||
template<typename V,
|
||||
typename std::enable_if<!std::is_enum<V>::value, bool>::type = true>
|
||||
std::string to_string(V val) const {
|
||||
return std::to_string(val);
|
||||
}
|
||||
|
||||
using map_t = std::unordered_map<Key, builder_t>;
|
||||
|
||||
const std::string name;
|
||||
map_t builders;
|
||||
};
|
||||
|
||||
} // namespace cc
|
||||
} // namespace openvino
|
||||
|
@ -70,50 +70,52 @@
|
||||
#include <openvino/itt.hpp>
|
||||
|
||||
#ifdef SELECTIVE_BUILD_ANALYZER
|
||||
#include <string>
|
||||
# include <string>
|
||||
#endif
|
||||
|
||||
#include <utility>
|
||||
#include <tuple>
|
||||
|
||||
namespace openvino
|
||||
{
|
||||
namespace cc
|
||||
{
|
||||
namespace openvino {
|
||||
namespace cc {
|
||||
|
||||
#ifndef SELECTIVE_BUILD_ANALYZER
|
||||
namespace internal
|
||||
{
|
||||
template<typename C, typename T>
|
||||
struct case_wrapper {
|
||||
using type = T;
|
||||
const C value {};
|
||||
|
||||
case_wrapper(C && val)
|
||||
: value(std::forward<C>(val))
|
||||
{}
|
||||
};
|
||||
namespace internal {
|
||||
|
||||
template<typename T, typename C>
|
||||
case_wrapper<C, T> make_case_wrapper(C && val) {
|
||||
return case_wrapper<C, T>(std::forward<C>(val));
|
||||
}
|
||||
template<typename C, typename T>
|
||||
struct case_wrapper {
|
||||
using type = T;
|
||||
const C value {};
|
||||
|
||||
template<template<typename...> class Fn, typename Ctx, typename T, typename Case>
|
||||
bool match(Ctx && ctx, T && val, Case && cs) {
|
||||
const bool is_matched = val == cs.value;
|
||||
if (is_matched)
|
||||
Fn<typename Case::type>()(std::forward<Ctx>(ctx));
|
||||
return is_matched;
|
||||
}
|
||||
case_wrapper(C && val)
|
||||
: value(std::forward<C>(val))
|
||||
{}
|
||||
};
|
||||
|
||||
template<template<typename...> class Fn, typename Ctx, typename T, typename Case, typename ...Cases>
|
||||
bool match(Ctx && ctx, T && val, Case && cs, Cases&&... cases) {
|
||||
if (match<Fn>(std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Case>(cs)))
|
||||
return true;
|
||||
return match<Fn>(std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Cases>(cases)...);
|
||||
}
|
||||
} // namespace internal
|
||||
#endif
|
||||
template<typename T, typename C>
|
||||
case_wrapper<C, T> make_case_wrapper(C && val) {
|
||||
return case_wrapper<C, T>(std::forward<C>(val));
|
||||
}
|
||||
|
||||
template<template<typename...> class Fn, typename Ctx, typename T, typename Case>
|
||||
bool match(Ctx && ctx, T && val, Case && cs) {
|
||||
const bool is_matched = val == cs.value;
|
||||
if (is_matched)
|
||||
Fn<typename Case::type>()(std::forward<Ctx>(ctx));
|
||||
return is_matched;
|
||||
}
|
||||
|
||||
template<template<typename...> class Fn, typename Ctx, typename T, typename Case, typename ...Cases>
|
||||
bool match(Ctx && ctx, T && val, Case && cs, Cases&&... cases) {
|
||||
if (match<Fn>(std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Case>(cs)))
|
||||
return true;
|
||||
return match<Fn>(std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Cases>(cases)...);
|
||||
}
|
||||
|
||||
} // namespace internal
|
||||
|
||||
#endif // SELECTIVE_BUILD_ANALYZER
|
||||
|
||||
// Macros for names concatenation
|
||||
#define OV_CC_CAT_(x, y) x ## y
|
||||
@ -137,52 +139,53 @@ namespace openvino
|
||||
OV_ITT_DOMAIN(OV_CC_CAT(SWITCH_, Module)); /* Domain for switch/cases */ \
|
||||
OV_ITT_DOMAIN(OV_CC_CAT(FACTORY_, Module)); /* Domain for factories */
|
||||
|
||||
namespace internal
|
||||
{
|
||||
template<typename C, typename T>
|
||||
struct case_wrapper {
|
||||
using type = T;
|
||||
const C value {};
|
||||
const char *name = nullptr;
|
||||
namespace internal {
|
||||
|
||||
case_wrapper(C && val, const char *name)
|
||||
: value(std::forward<C>(val))
|
||||
, name(name)
|
||||
{}
|
||||
};
|
||||
template<typename C, typename T>
|
||||
struct case_wrapper {
|
||||
using type = T;
|
||||
const C value {};
|
||||
const char *name = nullptr;
|
||||
|
||||
template<typename T, typename C>
|
||||
case_wrapper<C, T> make_case_wrapper(C && val, const char *name) {
|
||||
return case_wrapper<C, T>(std::forward<C>(val), name);
|
||||
case_wrapper(C && val, const char *name)
|
||||
: value(std::forward<C>(val))
|
||||
, name(name)
|
||||
{}
|
||||
};
|
||||
|
||||
template<typename T, typename C>
|
||||
case_wrapper<C, T> make_case_wrapper(C && val, const char *name) {
|
||||
return case_wrapper<C, T>(std::forward<C>(val), name);
|
||||
}
|
||||
|
||||
template<openvino::itt::domain_t(*domain)(),
|
||||
template<typename...> class Fn,
|
||||
typename Ctx,
|
||||
typename T,
|
||||
typename Case>
|
||||
bool match(char const *region, Ctx && ctx, T && val, Case && cs) {
|
||||
const bool is_matched = val == cs.value;
|
||||
if (is_matched) {
|
||||
openvino::itt::ScopedTask<domain> task(
|
||||
openvino::itt::handle<struct OV_CC_CAT(Task_, __LINE__)>(
|
||||
std::string(region) + "$" + cs.name));
|
||||
Fn<typename Case::type>()(std::forward<Ctx>(ctx));
|
||||
}
|
||||
return is_matched;
|
||||
}
|
||||
|
||||
template<openvino::itt::domain_t(*domain)(),
|
||||
template<typename...> class Fn,
|
||||
typename Ctx,
|
||||
typename T,
|
||||
typename Case>
|
||||
bool match(char const *region, Ctx && ctx, T && val, Case && cs) {
|
||||
const bool is_matched = val == cs.value;
|
||||
if (is_matched) {
|
||||
openvino::itt::ScopedTask<domain> task(
|
||||
openvino::itt::handle<struct OV_CC_CAT(Task_, __LINE__)>(
|
||||
std::string(region) + "$" + cs.name));
|
||||
Fn<typename Case::type>()(std::forward<Ctx>(ctx));
|
||||
}
|
||||
return is_matched;
|
||||
}
|
||||
template<openvino::itt::domain_t(*domain)(),
|
||||
template<typename...> class Fn,
|
||||
typename Ctx,
|
||||
typename T,
|
||||
typename Case, typename ...Cases>
|
||||
bool match(char const *region, Ctx && ctx, T && val, Case && cs, Cases&&... cases) {
|
||||
if (match<domain, Fn>(region, std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Case>(cs)))
|
||||
return true;
|
||||
return match<domain, Fn>(region, std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Cases>(cases)...);
|
||||
}
|
||||
|
||||
template<openvino::itt::domain_t(*domain)(),
|
||||
template<typename...> class Fn,
|
||||
typename Ctx,
|
||||
typename T,
|
||||
typename Case, typename ...Cases>
|
||||
bool match(char const *region, Ctx && ctx, T && val, Case && cs, Cases&&... cases) {
|
||||
if (match<domain, Fn>(region, std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Case>(cs)))
|
||||
return true;
|
||||
return match<domain, Fn>(region, std::forward<Ctx>(ctx), std::forward<T>(val), std::forward<Cases>(cases)...);
|
||||
}
|
||||
} // namespace internal
|
||||
} // namespace internal
|
||||
|
||||
#define OV_SCOPE(Module, region, ...) \
|
||||
OV_ITT_SCOPED_TASK(OV_CC_CAT(SIMPLE_, Module), OV_CC_TOSTRING(region)); \
|
||||
@ -261,5 +264,5 @@ namespace internal
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
} // namespace cc
|
||||
} // namespace openvino
|
||||
|
@ -18,7 +18,7 @@ set(TARGET_NAME itt)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
file(GLOB_RECURSE SOURCES "src/*.cpp")
|
||||
file(GLOB_RECURSE SOURCES "src/*.cpp" "src/*.hpp")
|
||||
|
||||
if(ENABLE_PROFILING_ITT)
|
||||
if(DEFINED INTEL_VTUNE_DIR OR DEFINED ENV{INTEL_VTUNE_DIR})
|
||||
@ -71,3 +71,5 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
endif()
|
||||
|
||||
target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
|
||||
add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
|
||||
|
@ -21,62 +21,59 @@
|
||||
#include <ittnotify.h>
|
||||
#endif
|
||||
|
||||
namespace openvino
|
||||
{
|
||||
namespace itt
|
||||
{
|
||||
namespace internal
|
||||
{
|
||||
namespace openvino {
|
||||
namespace itt {
|
||||
namespace internal {
|
||||
|
||||
#ifdef ENABLE_PROFILING_ITT
|
||||
static size_t callStackDepth()
|
||||
{
|
||||
static const char *env = std::getenv("OPENVINO_TRACE_DEPTH");
|
||||
static const size_t depth = env ? std::strtoul(env, nullptr, 10): 0;
|
||||
return depth;
|
||||
}
|
||||
|
||||
static thread_local uint32_t call_stack_depth = 0;
|
||||
|
||||
domain_t domain(char const* name)
|
||||
{
|
||||
return reinterpret_cast<domain_t>(__itt_domain_create(name));
|
||||
}
|
||||
|
||||
handle_t handle(char const* name)
|
||||
{
|
||||
return reinterpret_cast<handle_t>(__itt_string_handle_create(name));
|
||||
}
|
||||
|
||||
void taskBegin(domain_t d, handle_t t)
|
||||
{
|
||||
if (!callStackDepth() || call_stack_depth++ < callStackDepth())
|
||||
__itt_task_begin(reinterpret_cast<__itt_domain*>(d),
|
||||
__itt_null,
|
||||
__itt_null,
|
||||
reinterpret_cast<__itt_string_handle*>(t));
|
||||
}
|
||||
|
||||
void taskEnd(domain_t d)
|
||||
{
|
||||
if (!callStackDepth() || call_stack_depth-- > 0)
|
||||
__itt_task_end(reinterpret_cast<__itt_domain*>(d));
|
||||
}
|
||||
|
||||
void threadName(const char* name)
|
||||
{
|
||||
__itt_thread_set_name(name);
|
||||
}
|
||||
#else
|
||||
domain_t domain(char const *) { return nullptr; }
|
||||
|
||||
handle_t handle(char const *) { return nullptr; }
|
||||
|
||||
void taskBegin(domain_t, handle_t) { }
|
||||
|
||||
void taskEnd(domain_t) { }
|
||||
|
||||
void threadName(const char *) { }
|
||||
#endif
|
||||
}
|
||||
}
|
||||
static size_t callStackDepth() {
|
||||
static const char *env = std::getenv("OPENVINO_TRACE_DEPTH");
|
||||
static const size_t depth = env ? std::strtoul(env, nullptr, 10): 0;
|
||||
return depth;
|
||||
}
|
||||
|
||||
static thread_local uint32_t call_stack_depth = 0;
|
||||
|
||||
domain_t domain(char const* name) {
|
||||
return reinterpret_cast<domain_t>(__itt_domain_create(name));
|
||||
}
|
||||
|
||||
handle_t handle(char const* name) {
|
||||
return reinterpret_cast<handle_t>(__itt_string_handle_create(name));
|
||||
}
|
||||
|
||||
void taskBegin(domain_t d, handle_t t) {
|
||||
if (!callStackDepth() || call_stack_depth++ < callStackDepth())
|
||||
__itt_task_begin(reinterpret_cast<__itt_domain*>(d),
|
||||
__itt_null,
|
||||
__itt_null,
|
||||
reinterpret_cast<__itt_string_handle*>(t));
|
||||
}
|
||||
|
||||
void taskEnd(domain_t d) {
|
||||
if (!callStackDepth() || call_stack_depth-- > 0)
|
||||
__itt_task_end(reinterpret_cast<__itt_domain*>(d));
|
||||
}
|
||||
|
||||
void threadName(const char* name) {
|
||||
__itt_thread_set_name(name);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
domain_t domain(char const *) { return nullptr; }
|
||||
|
||||
handle_t handle(char const *) { return nullptr; }
|
||||
|
||||
void taskBegin(domain_t, handle_t) { }
|
||||
|
||||
void taskEnd(domain_t) { }
|
||||
|
||||
void threadName(const char *) { }
|
||||
|
||||
#endif // ENABLE_PROFILING_ITT
|
||||
|
||||
} // namespace internal
|
||||
} // namespace itt
|
||||
} // namespace openvino
|
||||
|
Loading…
Reference in New Issue
Block a user