8.3
general documentation
cs_array_cuda.h File Reference
#include <string.h>
#include "cs_defs.h"
#include "cs_base_cuda.h"
+ Include dependency graph for cs_array_cuda.h:

Go to the source code of this file.

Functions

template<typename T , size_t stride>
__global__ void cuda_kernel_set_value (cs_lnum_t n, const T ref_val, const int size_arrs, T **array_ptrs)
 
template<typename T , size_t stride>
__global__ void cuda_kernel_set_value (cs_lnum_t n, const T *ref_val, const int size_arrs, T **array_ptrs)
 
template<typename T , size_t stride, typename... Arrays>
void cs_arrays_set_value (cudaStream_t stream, const cs_lnum_t n_elts, const T *ref_val, Arrays &&... arrays)
 Assign values to all elements of multiple arrays. ref_val is input as a pointer or an array. More...
 
template<typename T , size_t stride, typename... Arrays>
void cs_arrays_set_value (cudaStream_t stream, const cs_lnum_t n_elts, const T ref_val, Arrays &&... arrays)
 Assign values to all elements of multiple arrays. ref_val is input as a scalar value. More...
 
template<typename T >
void cs_array_copy (cudaStream_t stream, const cs_lnum_t size, const T *src, T *dest)
 Copy values from an array to another of the same dimensions. More...
 

Function Documentation

◆ cs_array_copy()

void cs_array_copy ( cudaStream_t  stream,
const cs_lnum_t  size,
const T *  src,
T *  dest 
)

Copy values from an array to another of the same dimensions.

Template parmeters. T type name

Parameters
[in]streamcuda stream used for the operation
[in]sizenumber of elements * dimension
[in]srcsource array values
[out]destdestination array values

◆ cs_arrays_set_value() [1/2]

void cs_arrays_set_value ( cudaStream_t  stream,
const cs_lnum_t  n_elts,
const T *  ref_val,
Arrays &&...  arrays 
)

Assign values to all elements of multiple arrays. ref_val is input as a pointer or an array.

Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack

Function parameters:

Parameters
[in]streamcuda stream used for the operation
[in]n_eltstotal number of elements to set
[in]ref_valvalue to assign
[out]arraysarrays to set

◆ cs_arrays_set_value() [2/2]

void cs_arrays_set_value ( cudaStream_t  stream,
const cs_lnum_t  n_elts,
const T  ref_val,
Arrays &&...  arrays 
)

Assign values to all elements of multiple arrays. ref_val is input as a scalar value.

Template parmeters. T type name stride 1 for scalars, 3 for vectors, 6 for symetric tensors Arrays varadiac parameters pack

Function parameters:

Parameters
[in]streamcuda stream used for the operation
[in]n_eltstotal number of elements to set
[in]ref_valvalue to assign
[out]arraysarrays to set

◆ cuda_kernel_set_value() [1/2]

__global__ void cuda_kernel_set_value ( cs_lnum_t  n,
const T *  ref_val,
const int  size_arrs,
T **  array_ptrs 
)

◆ cuda_kernel_set_value() [2/2]

__global__ void cuda_kernel_set_value ( cs_lnum_t  n,
const T  ref_val,
const int  size_arrs,
T **  array_ptrs 
)