GENIUS RealityGrid
From RealityGrid
[edit] HemeLB Reality Grid Integration
HemeLB is currently a standalone package writting in C/C++ utlising MPI for parallelisation. Various parameters to do with the fluid solver and the built in parallelised ray tracer (viewpoint, zoom, etc.) are currently read in from file during the execution of HemeLB. With the incorporation of RealityGrid, these parameters will be passed directly over a network connection, and the ray traced frames passed back over the link to a visualisation client, without the use of any intermediate file read and writes.
[edit] Overview of HemeLB/RG
HemeLB/RG will consist of two parts:
- HemeLB with the RealityGrid library directly build in,
- A Java GUI client, with RealityGrid steering built in, along with AHE, etc.
A steerable HemeLB session will proceed as follows:
1. A HemeLB job is submitted via the AHE to a grid resource (e.g. NGS2 Manchester)
2. HemeLB/RG begins execution, notifying the RG web service of the IP address of the root MPI process
3. This information is pushed from the web service to the RG steering client, which then connects directly to HemeLB/RG.
[edit] Planned steps and milstones for HemeLB/RG
1. Development of a version of HemeLB (serial code) which starts a network thread that sends out the ray traced frame buffer at every time step, along with a simple OpenGL network client to display this graphic stream as the run proceeds. COMPLETE.
2. Remove the dependency of all HemeLB MPI processes on reading input files at every time step during excecution, and replace with an MPI broadcast as every timestep. COMPLETE.
3. Addition of network code within HemeLB (MPI) to send out ray traced frame buffers over a network connection. This will run as a seperate thread on the root MPI process.
4. Incorporation of the RealityGrid library into HemeLB. This will run as a seperate thread on the root MPI process.
