Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
launch_bounds.h
Go to the documentation of this file.
1
8#ifndef LAUNCH_BOUNDS_H
9#define LAUNCH_BOUNDS_H
10
11#include <Kokkos_Core.hpp>
12
19#if defined(KOKKOS_ENABLE_HIP)
20using HeavyBounds = Kokkos::LaunchBounds<256, 1>;
21#else
22using HeavyBounds = Kokkos::LaunchBounds<>;
23#endif
24
26template <typename... Traits>
27using HeavyRange = Kokkos::RangePolicy<HeavyBounds, Traits...>;
28
29#endif // LAUNCH_BOUNDS_H
KOKKOS_INLINE_FUNCTION rtype dot(const rtype *a, const rtype *b)
Compute the dot product of two arrays.
Definition common_math.h:32
Kokkos::LaunchBounds<> HeavyBounds
HIP compiles a kernel without launch bounds for blocks of 1024 threads, which caps it at 128 register...
Definition launch_bounds.h:22
Kokkos::RangePolicy< HeavyBounds, Traits... > HeavyRange
Range policy for register-heavy kernels.
Definition launch_bounds.h:27