Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
launch_bounds.h File Reference

Launch bounds of kernels that need many registers per thread. More...

#include <Kokkos_Core.hpp>

Go to the source code of this file.

Typedefs

using HeavyBounds = Kokkos::LaunchBounds<>
 HIP compiles a kernel without launch bounds for blocks of 1024 threads, which caps it at 128 registers per thread and spills the rest to scratch memory; blocks of 256 threads allow 512. Other backends: no bounds.
 
template<typename... Traits>
using HeavyRange = Kokkos::RangePolicy< HeavyBounds, Traits... >
 Range policy for register-heavy kernels.
 

Detailed Description

Launch bounds of kernels that need many registers per thread.

Typedef Documentation

◆ HeavyBounds

HIP compiles a kernel without launch bounds for blocks of 1024 threads, which caps it at 128 registers per thread and spills the rest to scratch memory; blocks of 256 threads allow 512. Other backends: no bounds.

◆ HeavyRange

template<typename... Traits>
using HeavyRange = Kokkos::RangePolicy<HeavyBounds, Traits...>

Range policy for register-heavy kernels.