|
Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
|
#include <phiprof.hpp>#include "gpu_moments.h"#include "vlasovmover.h"#include "../object_wrapper.h"#include "../fieldsolver/fs_common.h"#include "../arch/gpu_base.hpp"
Go to the source code of this file.
Functions | |
| __global__ void | __launch_bounds__ (WID3) first_moments_kernel(const vmesh |
| void | gpu_calculateMoments_R (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const std::vector< CellID > &cells_in, const bool computeSecond, const bool initialCompute) |
| void | gpu_calculateMoments_V (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const std::vector< CellID > &cells_in, const bool computeSecond, const bool initialCompute) |
| __global__ void __launch_bounds__ | ( | WID3 | ) | const |
GPU kernel for calculating first velocity moments from provided velocity block containers
GPU kernel for calculating second velocity moments from provided velocity block containers
Definition at line 36 of file gpu_moments.cpp.

| void gpu_calculateMoments_R | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| const std::vector< CellID > & | cells_in, | ||
| const bool | computeSecond, | ||
| const bool | initialCompute ) |
Note: there is no single-cell GPU-only version of moments calculations, (calculateCellMoments) as that task is achieved through the ARCH-interface with no performance loss. Calculate zeroth, first, and (possibly) second bulk velocity moments for the given spatial cell. The calculated moments include contributions from all existing particle populations. The calculated moments are stored to SpatialCell::parameters in _R variables.
| mpiGrid | Parallel grid library. |
| cells | Vector containing the spatial cells to be calculated. |
| computeSecond | If true, second velocity moments are calculated. |
| initialCompute | If true, force re-calculation of outflow L1 sysboundary cell moments. (otherwise skipped as their VDF contents are not kept up to date) |
Definition at line 249 of file gpu_moments.cpp.


| void gpu_calculateMoments_V | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| const std::vector< CellID > & | cells_in, | ||
| const bool | computeSecond, | ||
| const bool | initialCompute ) |
Calculate zeroth, first, and (possibly) second bulk velocity moments for the given spatial cell. The calculated moments include contributions from all existing particle populations. The calculated moments are stored to SpatialCell::parameters in _V variables.
| mpiGrid | Parallel grid library. |
| cells | Vector containing the spatial cells to be calculated. |
| computeSecond | If true, second velocity moments are calculated. |
| initialCompute | If true, force re-calculation of outflow L1 sysboundary cell moments. (otherwise skipped as their VDF contents are not kept up to date) |
Definition at line 469 of file gpu_moments.cpp.

