mirror of https://github.com/CGAL/cgal
Add ITT support in Mesh_3
This commit is contained in:
parent
6747341f66
commit
25710329ac
|
|
@ -0,0 +1,204 @@
|
||||||
|
# CGAL note: copy from https://raw.githubusercontent.com/dmitry-gurulev/cmake/104ca4a6c462e3d5a1c217571212238c6446cfca/FindITT.cmake
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||||
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||||
|
|
||||||
|
#.rst:
|
||||||
|
# FindITT
|
||||||
|
# ---------
|
||||||
|
#
|
||||||
|
# Find Instrumentation and Tracing Technology (ITT) API include dirs and libraries
|
||||||
|
#
|
||||||
|
# Use this module by invoking find_package with the form
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# find_package(ITT
|
||||||
|
# [REQUIRED] # Fail with error if ITT is not found
|
||||||
|
# )
|
||||||
|
#
|
||||||
|
# This module finds headers and libraries
|
||||||
|
# For the former case results are reported in variables
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# ITT_FOUND - True if headers and requested libraries were found
|
||||||
|
# ITT_INCLUDE_DIRS - ITT include directories
|
||||||
|
# ITT_LIBRARIES - ITT libraries to be linked
|
||||||
|
#
|
||||||
|
# This module reads hints about search locations from variables
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# SEAPI_ROOT - Preferred installation path for Intel® Single Event API (Intel® SEAPI)
|
||||||
|
# (https://github.com/intel/IntelSEAPI)
|
||||||
|
# ITT_ROOT/
|
||||||
|
# CMAKE_ITT_HOME - Preferred installation path for standalone ITT library
|
||||||
|
# INTEL_LIBITTNOTIFY32/
|
||||||
|
# INTEL_LIBITTNOTIFY64 - Preferred ITT library directory
|
||||||
|
# VTUNE_AMPLIFIER_<YEAR>_DIR - VTune Amplifier XE installation path which is set by amplxe-vars.sh/bat script
|
||||||
|
# See notes about [ITT_NO_VTUNE_PATH] below
|
||||||
|
# CMAKE_VTUNE_HOME - Explicitly defined VTune Amplifier XE installation path
|
||||||
|
#
|
||||||
|
# Other variables one may set to control this module are
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# ITT_DEBUG - Set to ON to enable debug output from FindITT.
|
||||||
|
# Please enable this before filing any bug report.
|
||||||
|
# ITT_NO_VTUNE_PATH - Set to ON to not try to find VTUNE_AMPLIFIER_<YEAR>_DIR environment variable
|
||||||
|
#
|
||||||
|
# Example to find ITT headers and libraries
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# find_package(ITT)
|
||||||
|
# if (ITT_FOUND)
|
||||||
|
# include_directories(${ITT_INCLUDE_DIRS})
|
||||||
|
# add_executable(foo foo.cc)
|
||||||
|
# target_link_libraries(foo ${ITT_LIBRARIES})
|
||||||
|
# endif()
|
||||||
|
#
|
||||||
|
# Example to find ITT library and use imported targets::
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# find_package(ITT REQUIRED)
|
||||||
|
# add_executable(foo foo.cc)
|
||||||
|
# target_link_libraries(foo ITT::ITT)
|
||||||
|
|
||||||
|
unset (_itt_INC_DIR_HINT)
|
||||||
|
unset (_itt_LIB_DIR_HINT)
|
||||||
|
|
||||||
|
set (_itt_ARC "")
|
||||||
|
if (${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} MATCHES "x86")
|
||||||
|
set (_itt_ARC "64")
|
||||||
|
elseif (${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} MATCHES "x64")
|
||||||
|
set (_itt_ARC "64")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if ("x${_itt_ARC}" STREQUAL "x")
|
||||||
|
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
set (_itt_ARC "64")
|
||||||
|
else()
|
||||||
|
set (_itt_ARC "32")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list (APPEND _itt_INC_DIR_HINT
|
||||||
|
$ENV{ITT_ROOT}
|
||||||
|
$ENV{SEAPI_ROOT}/ittnotify
|
||||||
|
${CMAKE_ITT_HOME}
|
||||||
|
${CMAKE_VTUNE_HOME}
|
||||||
|
)
|
||||||
|
|
||||||
|
set (_itt_LIBITTNOTIFY $ENV{INTEL_LIBITTNOTIFY${_itt_ARC}})
|
||||||
|
if (_itt_LIBITTNOTIFY)
|
||||||
|
get_filename_component (_itt_LIB_DIR_HINT ${_itt_LIBITTNOTIFY} DIRECTORY)
|
||||||
|
get_filename_component (_itt_INC_DIR_HINT ${_itt_LIB_DIR_HINT} DIRECTORY)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list (APPEND _itt_INC_DIR_HINT
|
||||||
|
${_itt_INC_DIR_HINT}/ittnotify
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT ITT_NO_VTUNE_PATH)
|
||||||
|
execute_process (COMMAND "${CMAKE_COMMAND}" "-E" "environment"
|
||||||
|
OUTPUT_VARIABLE _itt_ENV_LIST
|
||||||
|
)
|
||||||
|
|
||||||
|
string (REGEX MATCH "VTUNE_AMPLIFIER_[0-9]+_DIR"
|
||||||
|
_itt_VTUNE_DIR ${_itt_ENV_LIST}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (_itt_VTUNE_DIR)
|
||||||
|
list (APPEND _itt_INC_DIR_HINT $ENV{${_itt_VTUNE_DIR}})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (ITT_DEBUG)
|
||||||
|
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||||
|
"_itt_INC_DIR_HINT = ${_itt_INC_DIR_HINT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_path (ITT_INCLUDE_DIR
|
||||||
|
NAMES ittnotify.h
|
||||||
|
HINTS
|
||||||
|
${_itt_INC_DIR_HINT}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
if (ITT_DEBUG)
|
||||||
|
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||||
|
"ITT_INCLUDE_DIR = ${ITT_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (ITT_DEBUG)
|
||||||
|
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||||
|
"_itt_ARC = ${_itt_ARC}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (ITT_INCLUDE_DIR)
|
||||||
|
get_filename_component (_itt_INC_DIR_HINT ${ITT_INCLUDE_DIR} DIRECTORY)
|
||||||
|
list (APPEND _itt_LIB_DIR_HINT ${_itt_INC_DIR_HINT})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list (APPEND _itt_LIB_DIR_HINT
|
||||||
|
$ENV{ITT_ROOT}
|
||||||
|
$ENV{SEAPI_ROOT}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (ITT_DEBUG)
|
||||||
|
message (STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||||
|
"_itt_LIB_DIR_HINT = ${_itt_LIB_DIR_HINT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_library (ITT_LIBRARY
|
||||||
|
NAMES
|
||||||
|
libittnotify
|
||||||
|
libittnotify${_itt_ARC}
|
||||||
|
ittnotify
|
||||||
|
ittnotify${_itt_ARC}
|
||||||
|
HINTS
|
||||||
|
${_itt_LIB_DIR_HINT}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib${_itt_ARC}
|
||||||
|
lib
|
||||||
|
bin
|
||||||
|
)
|
||||||
|
|
||||||
|
if (ITT_DEBUG)
|
||||||
|
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
|
||||||
|
"ITT_LIBRARY = ${ITT_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set MFX_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
include (${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS (ITT
|
||||||
|
REQUIRED_VARS ITT_INCLUDE_DIR ITT_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
mark_as_advanced(ITT_INCLUDE_DIR ITT_LIBRARY)
|
||||||
|
|
||||||
|
if (ITT_FOUND)
|
||||||
|
set (ITT_INCLUDE_DIRS ${ITT_INCLUDE_DIR})
|
||||||
|
set (ITT_LIBRARIES ${ITT_LIBRARY})
|
||||||
|
|
||||||
|
if (NOT TARGET ITT::ITT)
|
||||||
|
add_library(ITT::ITT UNKNOWN IMPORTED)
|
||||||
|
|
||||||
|
set_target_properties(ITT::ITT PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${ITT_INCLUDE_DIRS}"
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(ITT::ITT PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${ITT_LIBRARIES}"
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(ITT::ITT PROPERTIES
|
||||||
|
INTERFACE_LINK_LIBRARIES "${CMAKE_DL_LIBS}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
@ -169,7 +169,7 @@ if ( CGAL_FOUND )
|
||||||
# create_single_source_cgal_program( "mesh_polyhedral_surface_tolerance_region.cpp" )
|
# create_single_source_cgal_program( "mesh_polyhedral_surface_tolerance_region.cpp" )
|
||||||
# create_single_source_cgal_program( "mesh_polyhedral_edge_tolerance_region.cpp" )
|
# create_single_source_cgal_program( "mesh_polyhedral_edge_tolerance_region.cpp" )
|
||||||
|
|
||||||
if(CGAL_ACTIVATE_CONCURRENT_MESH_3 AND TARGET CGAL::TBB_support AND TARGET ${target})
|
if(CGAL_ACTIVATE_CONCURRENT_MESH_3 AND TARGET CGAL::TBB_support)
|
||||||
foreach(target
|
foreach(target
|
||||||
mesh_3D_image_with_features
|
mesh_3D_image_with_features
|
||||||
mesh_3D_image
|
mesh_3D_image
|
||||||
|
|
@ -184,12 +184,21 @@ if ( CGAL_FOUND )
|
||||||
mesh_polyhedral_domain_sm
|
mesh_polyhedral_domain_sm
|
||||||
mesh_polyhedral_domain_with_lipschitz_sizing
|
mesh_polyhedral_domain_with_lipschitz_sizing
|
||||||
mesh_polyhedral_complex
|
mesh_polyhedral_complex
|
||||||
|
mesh_implicit_domains
|
||||||
mesh_polyhedral_domain_with_features
|
mesh_polyhedral_domain_with_features
|
||||||
mesh_3D_image_variable_size)
|
mesh_3D_image_variable_size)
|
||||||
|
if(TARGET ${target})
|
||||||
target_link_libraries(${target} PUBLIC CGAL::TBB_support)
|
target_link_libraries(${target} PUBLIC CGAL::TBB_support)
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
find_package( ITT QUIET )
|
||||||
|
if(TARGET ITT::ITT)
|
||||||
|
target_link_libraries(mesh_implicit_domains PRIVATE ITT::ITT)
|
||||||
|
target_compile_definitions(mesh_implicit_domains PRIVATE CGAL_MESH_3_USE_INTEL_ITT)
|
||||||
|
endif()
|
||||||
|
|
||||||
else()
|
else()
|
||||||
message(STATUS "This program requires the CGAL library, and will not be compiled.")
|
message(STATUS "This program requires the CGAL library, and will not be compiled.")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,12 @@
|
||||||
|
|
||||||
using namespace CGAL::parameters;
|
using namespace CGAL::parameters;
|
||||||
|
|
||||||
|
#ifdef CGAL_CONCURRENT_MESH_3
|
||||||
|
typedef CGAL::Parallel_tag Concurrency_tag;
|
||||||
|
#else
|
||||||
|
typedef CGAL::Sequential_tag Concurrency_tag;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Domain
|
// Domain
|
||||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||||
typedef FT_to_point_function_wrapper<K::FT, K::Point_3> Function;
|
typedef FT_to_point_function_wrapper<K::FT, K::Point_3> Function;
|
||||||
|
|
@ -23,7 +29,7 @@ typedef Function_wrapper::Function_vector Function_vector;
|
||||||
typedef CGAL::Labeled_mesh_domain_3<K> Mesh_domain;
|
typedef CGAL::Labeled_mesh_domain_3<K> Mesh_domain;
|
||||||
|
|
||||||
// Triangulation
|
// Triangulation
|
||||||
typedef CGAL::Mesh_triangulation_3<Mesh_domain>::type Tr;
|
typedef CGAL::Mesh_triangulation_3<Mesh_domain,CGAL::Default,Concurrency_tag>::type Tr;
|
||||||
typedef CGAL::Mesh_complex_3_in_triangulation_3<Tr> C3t3;
|
typedef CGAL::Mesh_complex_3_in_triangulation_3<Tr> C3t3;
|
||||||
|
|
||||||
// Mesh Criteria
|
// Mesh Criteria
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,15 @@
|
||||||
|
|
||||||
#include <CGAL/Mesh_3/config.h>
|
#include <CGAL/Mesh_3/config.h>
|
||||||
|
|
||||||
|
#if CGAL_MESH_3_USE_INTEL_ITT
|
||||||
|
# include <ittnotify.h>
|
||||||
|
# define CGAL_MESH_3_TASK_BEGIN(task_handle) __itt_task_begin(mesh_3_domain, __itt_null, __itt_null, task_handle);
|
||||||
|
# define CGAL_MESH_3_TASK_END(task_handle) __itt_task_end(mesh_3_domain);
|
||||||
|
#else
|
||||||
|
# define CGAL_MESH_3_TASK_BEGIN(task_handle)
|
||||||
|
# define CGAL_MESH_3_TASK_END(task_handle)
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <CGAL/Mesh_error_code.h>
|
#include <CGAL/Mesh_error_code.h>
|
||||||
|
|
||||||
#include <CGAL/Mesh_3/Dump_c3t3.h>
|
#include <CGAL/Mesh_3/Dump_c3t3.h>
|
||||||
|
|
@ -406,6 +415,15 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
||||||
CGAL::Real_timer timer;
|
CGAL::Real_timer timer;
|
||||||
timer.start();
|
timer.start();
|
||||||
double elapsed_time = 0.;
|
double elapsed_time = 0.;
|
||||||
|
#if CGAL_MESH_3_USE_INTEL_ITT
|
||||||
|
auto mesh_3_domain = __itt_domain_create("org.cgal.Mesh_3.refine_mesh");
|
||||||
|
auto refine_mesh_task_handle = __itt_string_handle_create("Mesher_3::refine_mesh");
|
||||||
|
auto initialize_task_handle = __itt_string_handle_create("Mesher_3::initialize");
|
||||||
|
auto refine_surface_mesh_task_handle = __itt_string_handle_create("Mesher_3 refine surface mesh");
|
||||||
|
auto scan_cells_task_handle = __itt_string_handle_create("Mesher_3 scan triangulation for bad cells");
|
||||||
|
auto refine_volume_mesh_task_handle = __itt_string_handle_create("Mesher_3 refine volume mesh");
|
||||||
|
CGAL_MESH_3_TASK_BEGIN(refine_mesh_task_handle);
|
||||||
|
#endif // CGAL_MESH_3_USE_INTEL_ITT
|
||||||
|
|
||||||
// First surface mesh could modify c3t3 without notifying cells_mesher
|
// First surface mesh could modify c3t3 without notifying cells_mesher
|
||||||
// So we have to ensure that no old cell will be left in c3t3
|
// So we have to ensure that no old cell will be left in c3t3
|
||||||
|
|
@ -419,12 +437,15 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
||||||
|
|
||||||
#ifndef CGAL_MESH_3_VERBOSE
|
#ifndef CGAL_MESH_3_VERBOSE
|
||||||
// Scan surface and refine it
|
// Scan surface and refine it
|
||||||
|
CGAL_MESH_3_TASK_BEGIN(initialize_task_handle);
|
||||||
initialize();
|
initialize();
|
||||||
|
CGAL_MESH_3_TASK_END(initialize_task_handle);
|
||||||
|
|
||||||
#ifdef CGAL_MESH_3_PROFILING
|
#ifdef CGAL_MESH_3_PROFILING
|
||||||
std::cerr << "Refining facets..." << std::endl;
|
std::cerr << "Refining facets..." << std::endl;
|
||||||
WallClockTimer t;
|
WallClockTimer t;
|
||||||
#endif
|
#endif
|
||||||
|
CGAL_MESH_3_TASK_BEGIN(refine_surface_mesh_task_handle);
|
||||||
facets_mesher_.refine(facets_visitor_);
|
facets_mesher_.refine(facets_visitor_);
|
||||||
facets_mesher_.scan_edges();
|
facets_mesher_.scan_edges();
|
||||||
refinement_stage = REFINE_FACETS_AND_EDGES;
|
refinement_stage = REFINE_FACETS_AND_EDGES;
|
||||||
|
|
@ -432,6 +453,7 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
||||||
facets_mesher_.scan_vertices();
|
facets_mesher_.scan_vertices();
|
||||||
refinement_stage = REFINE_FACETS_AND_EDGES_AND_VERTICES;
|
refinement_stage = REFINE_FACETS_AND_EDGES_AND_VERTICES;
|
||||||
facets_mesher_.refine(facets_visitor_);
|
facets_mesher_.refine(facets_visitor_);
|
||||||
|
CGAL_MESH_3_TASK_END(refine_surface_mesh_task_handle);
|
||||||
#ifdef CGAL_MESH_3_PROFILING
|
#ifdef CGAL_MESH_3_PROFILING
|
||||||
double facet_ref_time = t.elapsed();
|
double facet_ref_time = t.elapsed();
|
||||||
std::cerr << "==== Facet refinement: " << facet_ref_time << " seconds ===="
|
std::cerr << "==== Facet refinement: " << facet_ref_time << " seconds ===="
|
||||||
|
|
@ -464,13 +486,17 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
||||||
if(!forced_stop())
|
if(!forced_stop())
|
||||||
{
|
{
|
||||||
// Then scan volume and refine it
|
// Then scan volume and refine it
|
||||||
|
CGAL_MESH_3_TASK_BEGIN(scan_cells_task_handle);
|
||||||
cells_mesher_.scan_triangulation();
|
cells_mesher_.scan_triangulation();
|
||||||
|
CGAL_MESH_3_TASK_END(scan_cells_task_handle);
|
||||||
refinement_stage = REFINE_ALL;
|
refinement_stage = REFINE_ALL;
|
||||||
#ifdef CGAL_MESH_3_PROFILING
|
#ifdef CGAL_MESH_3_PROFILING
|
||||||
std::cerr << "Refining cells..." << std::endl;
|
std::cerr << "Refining cells..." << std::endl;
|
||||||
t.reset();
|
t.reset();
|
||||||
#endif
|
#endif
|
||||||
|
CGAL_MESH_3_TASK_BEGIN(refine_volume_mesh_task_handle);
|
||||||
cells_mesher_.refine(cells_visitor_);
|
cells_mesher_.refine(cells_visitor_);
|
||||||
|
CGAL_MESH_3_TASK_END(refine_volume_mesh_task_handle);
|
||||||
#ifdef CGAL_MESH_3_PROFILING
|
#ifdef CGAL_MESH_3_PROFILING
|
||||||
double cell_ref_time = t.elapsed();
|
double cell_ref_time = t.elapsed();
|
||||||
std::cerr << "==== Cell refinement: " << cell_ref_time << " seconds ===="
|
std::cerr << "==== Cell refinement: " << cell_ref_time << " seconds ===="
|
||||||
|
|
@ -599,6 +625,7 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
||||||
<< std::endl << std::endl;
|
<< std::endl << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
CGAL_MESH_3_TASK_END(refine_mesh_task_handle);
|
||||||
return elapsed_time;
|
return elapsed_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@ if ( CGAL_FOUND )
|
||||||
find_package( TBB QUIET )
|
find_package( TBB QUIET )
|
||||||
include(CGAL_TBB_support)
|
include(CGAL_TBB_support)
|
||||||
|
|
||||||
|
find_package( ITT QUIET )
|
||||||
|
|
||||||
# Use Eigen
|
# Use Eigen
|
||||||
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
find_package(Eigen3 3.1.0 REQUIRED) #(3.1.0 or greater)
|
||||||
include(CGAL_Eigen_support)
|
include(CGAL_Eigen_support)
|
||||||
|
|
@ -117,6 +119,10 @@ if ( CGAL_FOUND )
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
if(TARGET ITT::ITT)
|
||||||
|
target_link_libraries(test_meshing_verbose PRIVATE ITT::ITT)
|
||||||
|
target_compile_definitions(test_meshing_verbose PRIVATE CGAL_MESH_3_USE_INTEL_ITT)
|
||||||
|
endif()
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue