8 template <
class triangulationType>
20#ifdef TTK_ENABLE_OPENMP4
21#pragma omp parallel num_threads(threadNumber_)
24#ifdef TTK_ENABLE_OPENMP4
25#pragma omp single nowait
29 printTime(precomputeTime,
"leafSearch", 3);
32#ifdef TTK_ENABLE_OMP_PRIORITY
44#ifdef TTK_ENABLE_OPENMP4
45#pragma omp parallel num_threads(threadNumber_)
48#ifdef TTK_ENABLE_OPENMP4
49#pragma omp single nowait
53#ifdef TTK_ENABLE_OPENMP4
54#pragma omp task UNTIED() if(threadNumber_ > 1)
59#ifdef TTK_ENABLE_OPENMP4
60#pragma omp task UNTIED() if(threadNumber_ > 1)
65#ifdef TTK_ENABLE_OPENMP4
70 printTime(mergeTreesTime,
"merge trees ", 3);
75 Timer combineFullTime;
80 printTime(combineTime,
"combine trees", 4);
81 printTime(combineFullTime,
"combine full", 3);
100 this->
printMsg({
"- final number of nodes :", nbNodes});
109template <
class triangulationType>
111 const auto nbScalars =
scalars_->size;
116 for(
SimplexId chunkId = 0; chunkId < chunkNb; ++chunkId) {
117#ifdef TTK_ENABLE_OPENMP4
118#pragma omp task firstprivate(chunkId)
121 const SimplexId lowerBound = chunkId * chunkSize;
123 = std::min(nbScalars, (chunkId + 1) * chunkSize);
124 for(
SimplexId v = lowerBound; v < upperBound; ++v) {
125 const auto &neighNumb = mesh->getVertexNeighborNumber(v);
129 for(
valence n = 0; n < neighNumb; ++n) {
131 mesh->getVertexNeighbor(v, n, neigh);
153#ifdef TTK_ENABLE_OPENMP4
void build(const triangulationType *mesh, TreeType tt)
int leafSearch(const triangulationType *mesh)
idNode getNumberOfNodes() const
SimplexId getChunkSize(const SimplexId nbVerts=-1, const SimplexId nbtasks=100) const
idNode getNumberOfLeaves() const
void build(const triangulationType *mesh, const bool ct)
Compute the merge.
int printTime(Timer &t, const std::string &s, const int debugLevel=2) const
SimplexId getChunkCount(const SimplexId nbVerts=-1, const SimplexId nbTasks=100) const
idNode makeNode(SimplexId vertexId, SimplexId linked=nullVertex)
void setValence(const SimplexId v, const SimplexId val)
std::shared_ptr< Scalars > scalars_
SimplexId valence
for vertex up/down valence
int SimplexId
Identifier type for simplices of any dimension.
printMsg(debug::output::BOLD+" | | | | | . \\ | | (__| | / __/| |_| / __/|__ _|"+debug::output::ENDCOLOR, debug::Priority::PERFORMANCE, debug::LineMode::NEW, stream)