Comments (2)
Hi @Meerkov,
this is the nature of the Esoteric-Pull streaming scheme, it loads/stores the DDFs in asymmetric locations, which solves the data-dependencies of the streaming to eliminate the 2nd copy of the grid in VRAM. This asymmetric storage pattern has no effect on the physics of the simulatuion. The location of every pair of opposing DDFs ((1,2), (3,4), ...) on the grid is irrelevant: individual pairs can be off-set by any number of cells in any direction, as long as they are consistently stored in swapped order in the same locations. The variant I have, where one DDF of every pair always is in the center cell, has best possible memory coalescence and is fastest.
I'd argue that i+1u
(= DDF in opposite direction of i
, see here Figure 1) is easier than rotate(i,2)
, although through loop unrolling there will not be additional integer computation for either.
Kind regards,
Moritz
from fluidx3d.
There are 2 design choices mentioned here:
- order for convenient 90 degree turns (currently in no particular order)
- pull direction such that it always prefers to pull in preference order +X, +Y, +Z. (currently pulls with slight preference from +X, but not consistently).
Since neither impacts the speed of the algorithm, but they have other nice properties which can be used, I see it as a Feature Request, but I understand it would not be accepted as the purpose of these changes is non-obvious. This creates some useful properties for cubed sphere grids.
from fluidx3d.
Related Issues (20)
- Wierdly behaving 3D objects / Meshes HOT 6
- Visualizing rho and u in Paraview HOT 3
- Less brittle Linux OpenCL setup instructions HOT 3
- No progress - stuck at Step 0 (benchmark works) HOT 2
- cannot find file "FluidX3D.exe" HOT 2
- Including the scale, frame-info, and copyright notice inside the output PNG files ? HOT 1
- INTERACTIVE_GRAPHICS_ASCII broken by the "Made camera movement/rotation/zoom behavior independent of framerate" feature? HOT 1
- Struct of Arrays vs Arrays of Structs: Possible Oversight? HOT 2
- Connection to flow5 possible?
- Applying a force during simulation to simulate main line water pressure HOT 2
- NIT: No Volume Force in 2D Taylor Vortex HOT 1
- Unnecessary neighbor calculations
- Vibrating Lines HOT 13
- Issue with setting up inflow/outflow boundaries. The boundaries keep reflecting back.
- Does FluidX3D support multi-component calculations? HOT 2
- Conflicting declaration when compiling on 32 bit powerpc HOT 3
- Regarding passive tracer particles HOT 2
- undefined reference when trying to run interactive graphics in linux x11 HOT 1
- Model changing when rotating HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluidx3d.