Gromacs  2026.0-dev-20250623-2b0916a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions | Variables
gpu_kernel_utils.h File Reference
#include "config.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/nbnxm/nbnxm.h"
#include "gputraits.h"
+ Include dependency graph for gpu_kernel_utils.h:
+ This graph shows which files directly or indirectly include this file:

Description

NBNXM GPU kernel utility methods.

Macros

#define GMX_ALWAYS_INLINE   GMX_DEVICE_ATTRIBUTE __attribute__((always_inline))
 

Functions

static __attribute__ ((always_inline)) T lerp(T d0
 Linear interpolation using exactly two FMA operations. More...
 

Variables

static const float two
 
return value = 0.0F ? value : 0.0F
 
static const T valueTwo
 
static const T const T valueThree
 
static T d1
 
static T T t
 
static int offset
 

Function Documentation

static __attribute__ ( (always_inline)  )
inlinestatic

Linear interpolation using exactly two FMA operations.

Implements numeric equivalent of: (1-t)*d0 + t*d1.

Variable Documentation

int offset
Initial value:
{
return LDG(&input[offset])
__device__ __forceinline__ T LDG(const T *ptr)
Definition: hip_kernel_utils.h:50
const char *const input[]
Input testing data - an inline xvg file.
Definition: xvgtest_tests.cpp:65
T T t
Initial value:
{
return gmxGpuFma(t, d1, gmxGpuFma(-t, d0, d0))
const float two
Initial value:
{
const float value = one - two
const T const T valueThree
Initial value:
{
return __fma(valueOne, valueTwo, valueThree)