9.0
general documentation
Loading...
Searching...
No Matches
cs_array_cuda.h File Reference
#include <string.h>
#include "base/cs_defs.h"
#include "base/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.
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.
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.

Function Documentation

◆ cs_array_copy()

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.

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]

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.

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]

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.

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]

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 )

◆ cuda_kernel_set_value() [2/2]

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 )