VirtualFluids 0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
vf::gpu::RefinementAndExchange_streams_exchangeInterface Class Reference

Version of refinement: for multi-gpu simulations, with communication hiding ("streams"), only exchange the interpolated cells. More...

#include <RefinementStrategy.h>

Public Member Functions

void operator() (UpdateGrid27 *updateGrid, Parameter *para, int level)
 

Detailed Description

Version of refinement: for multi-gpu simulations, with communication hiding ("streams"), only exchange the interpolated cells.

recommended for multi-gpu simulations if the chosen collision kernel supports the use of cuda streams

Definition at line 52 of file RefinementStrategy.h.

Member Function Documentation

◆ operator()()

void vf::gpu::RefinementAndExchange_streams_exchangeInterface::operator() ( UpdateGrid27 updateGrid,
Parameter para,
int  level 
)

steps:

  1. Interpolation fine to coarse for nodes which are at the border of the gpus/processes
  1. prepare the exchange between gpus (collect the send nodes for communication in a buffer on the gpu) and trigger bulk kernel execution when finished
  1. launch the bulk kernels for both interpolation processes (fine to coarse and coarse to fine)
  1. exchange information between GPUs (only nodes which are part of the interpolation)

Definition at line 77 of file RefinementStrategy.cpp.


The documentation for this class was generated from the following files: