Reference documentation for deal.II version 9.4.1
|
#include <deal.II/matrix_free/cuda_matrix_free.h>
Public Member Functions | |
AdditionalData (const ParallelizationScheme parallelization_scheme=parallel_in_elem, const UpdateFlags mapping_update_flags=update_gradients|update_JxW_values|update_quadrature_points, const bool use_coloring=false, const bool overlap_communication_computation=false) | |
Public Attributes | |
ParallelizationScheme | parallelization_scheme |
UpdateFlags | mapping_update_flags |
bool | use_coloring |
bool | overlap_communication_computation |
Standardized data struct to pipe additional data to MatrixFree.
Definition at line 114 of file cuda_matrix_free.h.
|
inline |
Constructor.
Definition at line 119 of file cuda_matrix_free.h.
ParallelizationScheme CUDAWrappers::MatrixFree< dim, Number >::AdditionalData::parallelization_scheme |
Parallelization scheme used, parallelization over degrees of freedom or over cells.
Definition at line 147 of file cuda_matrix_free.h.
UpdateFlags CUDAWrappers::MatrixFree< dim, Number >::AdditionalData::mapping_update_flags |
This flag is used to determine which quantities should be cached. This class can cache data needed for gradient computations (inverse Jacobians), Jacobian determinants (JxW), quadrature points as well as data for Hessians (derivative of Jacobians). By default, only data for gradients and Jacobian determinants times quadrature weights, JxW, are cached. If quadrature points of second derivatives are needed, they must be specified by this field.
Definition at line 157 of file cuda_matrix_free.h.
bool CUDAWrappers::MatrixFree< dim, Number >::AdditionalData::use_coloring |
If true, use graph coloring. Otherwise, use atomic operations. Graph coloring ensures bitwise reproducibility but is slower on Pascal and newer architectures.
Definition at line 164 of file cuda_matrix_free.h.
bool CUDAWrappers::MatrixFree< dim, Number >::AdditionalData::overlap_communication_computation |
Overlap MPI communications with computation. This requires CUDA-aware MPI and use_coloring must be false.
Definition at line 170 of file cuda_matrix_free.h.