-
Notifications
You must be signed in to change notification settings - Fork 225
PIConGPU domain definitions
You are here: Home > Developer Documentation > PIConGPU domain definitions
This page describes the internal naming scheme for domain and window offsets and sizes in PIConGPU as described in this issue.
![]()
-
domain= contiguous volume on one or all GPUs -
window= any part of a domain
| attribute | type | notes |
|---|---|---|
.size |
uint |
size of an object |
.offset |
int |
offset of an object to its next higher hierarchy |
- offsets are exclusive and always relative to the element that is above it in the hierarchy
-
local= the object is located on the current ("my") GPU, no guards -
global= the currently simulated volume over all GPUs, no guards -
total= takes parts into account that are not in the global volume, e.g. previous areas that have been gone due to the sliding window
-
global:
-
globalDomain.size= size of currently simulation volume on all GPUs -
globalDomain.offset= offset caused due to slides: offset to the totalDomain -
globalWindow.size= size of the current/selected moving window (cutting away areas of the globalDomain that are before/after the window) -
globalWindow.offset= offset of moving window from the first GPU: offset to the globalDomain
-
-
local:
-
localDomain.size= size of my GPU -
localDomain.offset= beginning of my local domain in the global Domain -
localWindow.size= size of the volume of the moving window on my GPU -
localWindow.offset= offset of my moving window part from the start of the global window
-
- My GPU is not contained in the moving window.
-
localWindow.size== 0 -
localWindow.offset== undefined
-
- An interface, lets say the gasProfiles, may needs an inclusive domain offset like
-
localDomain.offset+globalDomain.offset(1) - how to name the result (1) in the interface?
- suggestion:
localDomainToTotal= (1) - note: usually, as defined above,
localDomainmeanslocalDomainToGlobalbecauseglobalis the next higher hierarchy.
-
-
domainSize: size of the simulation grid for a GPU
-
domainOffset: offset of the simulation grid of a GPU within the total simulation grid
-
globalDomainSize: size of the currently computed part of the simulation grid (moving window)
-
globalDomainOffset: offset of the currently computed part of the simulation grid (moving window) within the total simulation grid
-
localDomainOffset: offset of the simulation grid of a GPU from the start of the currently computed part (moving window). 0 for all GPUs for which domainOffset > globalDomainOffset
In the below image, the currently computed part of the simulation grid (moving window) is marked as a hatched area.
Note that for simulations which do not use moving window, the currently computed part of the simulation grid always spans the total simulation grid.
![]()
All wiki entries describe the dev branch. Features may be different in the current master branch.
Before you start please read our README!
PIConGPU is a scientific project. If you present and/or publish scientific results that used PIConGPU, you should set a reference to show your support. Our according up-to-date publication at the time of your publication should be inquired from:
The documentation in this wiki is still not complete and we need your help keeping it up to date. Feel free to help improving this wiki!