TBB_ExecutionSpace Struct Reference#

DiFfRG: DiFfRG::TBB_ExecutionSpace Struct Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::TBB_ExecutionSpace Struct Reference

The CPU execution space: TBB, the one host thread pool DiFfRG runs on. More...

#include <kokkos.hh>

Public Types

using memory_space = Kokkos::DefaultHostExecutionSpace::memory_space
 

Public Member Functions

void fence () const
 

Detailed Description

The CPU execution space: TBB, the one host thread pool DiFfRG runs on.

Not a Kokkos backend but a tag that routes an integrator through tbb::parallel_for instead, so that its work is stolen by the same arena deal.II's MeshWorker pipeline uses. This is what every production flow's CPU integrators are instantiated with, and it is optimal in conjunction with the FE discretizations, whose cell workers it nests inside.

Its sibling KokkosHost_exec is the Kokkos host backend, which is Kokkos::Serial unless the build sets KOKKOS_THREADS=ON. Keeping it serial is deliberate: a second pool of spinning workers on the same cores only contends with this one.

Member Typedef Documentation

◆ memory_space

using DiFfRG::TBB_ExecutionSpace::memory_space = Kokkos::DefaultHostExecutionSpace::memory_space

Member Function Documentation

◆ fence()

void DiFfRG::TBB_ExecutionSpace::fence ( ) const
inline

The documentation for this struct was generated from the following file:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/kokkos.hh