Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
gpu_trans_map_amr.hpp File Reference
#include <vector>
#include "vec.h"
#include "../common.h"
#include "../spatial_cells/spatial_cell_wrapper.hpp"
Include dependency graph for gpu_trans_map_amr.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool trans_map_1d_amr (const dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const std::vector< CellID > &localPropagatedCells, const std::vector< CellID > &remoteTargetCells, std::vector< uint > &nPencils, const uint dimension, const Realf dt, const uint popID)
void update_remote_mapping_contribution_amr (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const uint dimension, int direction, const uint popID)

Variables

split::SplitVector< vmesh::GlobalID > * unionOfBlocks
split::SplitVector< vmesh::GlobalID > * dev_unionOfBlocks
Hashinator::Hashmap< vmesh::GlobalID, vmesh::LocalID > * unionOfBlocksSet
Hashinator::Hashmap< vmesh::GlobalID, vmesh::LocalID > * dev_unionOfBlocksSet

Function Documentation

◆ trans_map_1d_amr()

bool trans_map_1d_amr ( const dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > & mpiGrid,
const std::vector< CellID > & localPropagatedCells,
const std::vector< CellID > & remoteTargetCells,
std::vector< uint > & nPencils,
const uint dimension,
const Realf dt,
const uint popID )

◆ update_remote_mapping_contribution_amr()

void update_remote_mapping_contribution_amr ( dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > & mpiGrid,
const uint dimension,
int direction,
const uint popID )

GPUTODO: First attempts at using unified memory for remote neighbours Should probably: a) Switch to using pure device buffers. Some MPI-CUDA implementations do not work well with UB buffers. b) transition to re-using buffers and ensuring size is suitable? If that path is taken, it should also check for any local cells not on process boundary (anymore, due to LB) and free the buffers from those cells... so gets tricky.

Definition at line 493 of file cpu_trans_map_amr.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ dev_unionOfBlocks

split::SplitVector<vmesh::GlobalID> * dev_unionOfBlocks

Definition at line 32 of file gpu_trans_map_amr.hpp.

◆ dev_unionOfBlocksSet

Hashinator::Hashmap<vmesh::GlobalID,vmesh::LocalID> * dev_unionOfBlocksSet

Definition at line 33 of file gpu_trans_map_amr.hpp.

◆ unionOfBlocks

split::SplitVector<vmesh::GlobalID>* unionOfBlocks
extern

Definition at line 60 of file gpu_base.cpp.

◆ unionOfBlocksSet

Hashinator::Hashmap<vmesh::GlobalID,vmesh::LocalID>* unionOfBlocksSet
extern

Definition at line 61 of file gpu_base.cpp.