9.1
general documentation
cs_dispatch.h File Reference
#include "base/cs_defs.h"
#include <utility>
#include <cmath>
#include "base/cs_assert.h"
#include "base/cs_mem.h"
+ Include dependency graph for cs_dispatch.h:

Go to the source code of this file.

Classes

class  cs_dispatch_context_mixin< Derived >
 
class  cs_host_context
 
class  cs_void_context
 
class  cs_combined_context< Contexts >
 
class  cs_dispatch_context
 

Macros

#define CS_DISPATCH_REDUCER_TYPE(type)   type
 

Enumerations

enum  cs_dispatch_sum_type_t { CS_DISPATCH_SUM_SIMPLE , CS_DISPATCH_SUM_ATOMIC }
 

Functions

template<typename T >
void cs_dispatch_sum (T *dest, const T src, cs_dispatch_sum_type_t sum_type)
 sum values using a chosen dispatch sum type. More...
 
template<size_t dim, typename T >
void cs_dispatch_sum (T *dest, const T *src, cs_dispatch_sum_type_t sum_type)
 sum values using a chosen dispatch sum type. More...
 

Detailed Description

Dispatch computation using various runtimes (OpenMP, CUDA, ...)

Macro Definition Documentation

◆ CS_DISPATCH_REDUCER_TYPE

#define CS_DISPATCH_REDUCER_TYPE (   type)    type

Enumeration Type Documentation

◆ cs_dispatch_sum_type_t

Algorithm classes for indirect sums from a graph's edges to its nodes, such as face-to cell sums.

Enumerator
CS_DISPATCH_SUM_SIMPLE 

Simple sum (assumes data race-avoiding numbering/coloring)

CS_DISPATCH_SUM_ATOMIC 

Atomic sum

Function Documentation

◆ cs_dispatch_sum() [1/2]

void cs_dispatch_sum ( T *  dest,
const T *  src,
cs_dispatch_sum_type_t  sum_type 
)
inline

sum values using a chosen dispatch sum type.

This allows calling a unique function for assembly in lambda functions called by a dispatch context for interior or boundary faces.

Template Parameters
dimarray stride
Tarray type
Parameters
[in,out]destdestination values
[in]srcsource values
[in]sum_typesum type

◆ cs_dispatch_sum() [2/2]

void cs_dispatch_sum ( T *  dest,
const T  src,
cs_dispatch_sum_type_t  sum_type 
)
inline

sum values using a chosen dispatch sum type.

This allows calling a unique function for assembly in lambda functions called by a dispatch context for interior or boundary faces.

Template Parameters
Tarray type
Parameters
[in,out]destdestination
[in]srcsource value
[in]sum_typesum type