TBB_ExecutionSpace Struct Reference#

DiFfRG: TBB_ExecutionSpace Struct Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
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 the assemblers' parallel loops use. This is what every production flow's CPU integrators are instantiated with, and it is optimal in conjunction with the discretizations, whose cell loops 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 memory_space = Kokkos::DefaultHostExecutionSpace::memory_space

Member Function Documentation

◆ fence()

void fence ( ) const
inline

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