advanced scientific visualization laboratory paul navrátil 28 may 2009
TRANSCRIPT
![Page 1: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/1.jpg)
AdvancedScientific Visualization
Laboratory
Paul Navrátil
28 May 2009
![Page 2: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/2.jpg)
Topics
• Remote and Collaborative Visualization
• Remote Visualization on Spur
• Scripted Visualization with VisIt
![Page 3: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/3.jpg)
Old Model (No Remote Capability)
LocalVisualization
Resource
LocalVisualization
Resource
HPCSystem
HPCSystem
DataArchive
DataArchive
Pix
els
Pix
els
Mou
se
Mou
se
DisplayDisplay
Remote SiteRemote SiteWide-AreaNetwork
Wide-AreaNetwork Local SiteLocal Site
![Page 4: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/4.jpg)
New ModelRemote Capability
Large-ScaleVisualization
Resource
Large-ScaleVisualization
Resource
HPCSystem
HPCSystem
DataArchive
DataArchive
DisplayDisplay
Remote SiteRemote SiteWide-AreaNetwork
Wide-AreaNetwork Local SiteLocal Site
PixelsPixels
MouseMouse
![Page 5: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/5.jpg)
New ModelMulti-User and Collaborative Capability
Large-ScaleVisualization
Resource
Large-ScaleVisualization
Resource
HPCSystem
HPCSystem
DataArchive
DataArchive
Wide-AreaNetwork
Wide-AreaNetwork Local Site BLocal Site B
PixelsPixels
Remote SiteRemote Site
MouseMouse
PixelsPixels
MouseMouse
Display ADisplay A
Display BDisplay B
Local Site ALocal Site A
![Page 6: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/6.jpg)
Spur - Visualization System
• 128 cores, 1 TB distributed memory, 32 GPUs
• spur.tacc.utexas.edulogin node, no GPUsdon’t run apps here!
• ivisbig.ranger Sun Fire X4600 server
– 8 AMD Opteron dual-core CPUs @ 3 GHz
– 256 GB memory– 4 NVIDIA FX5600 GPUs
• ivis[1-7].rangerSun Fire X4440 server
– 4 AMD Opteron quad-core CPUs @ 2.3 GHz
– 128 GB memory– 4 NVIDIA FX5600 GPUs
![Page 7: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/7.jpg)
Spur / Ranger topology
spurspur
login3.rangerlogin3.ranger
Login NodesLogin Nodes
login4.rangerlogin4.ranger
Compute NodesCompute Nodes
Vis nodesivis[1-7|big]
Vis nodesivis[1-7|big]
HPC nodesixxx-xxx
HPC nodesixxx-xxx
visqueuevis
queue
normaldevelopment
<etc>queues
normaldevelopment
<etc>queues
File SystemFile System
$HOME
$HOME
$WORK
$WORK
$SCRATCH
$SCRATCH
![Page 8: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/8.jpg)
Topics
• Remote and Collaborative Visualization
• Remote Visualization on Spur
• Scripted Visualization with VisIt
![Page 9: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/9.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 1: Download a vnc client, preferably with integrated compression
Recommended options:TightVNChttp://www.tightvnc.com/download.html
TurboVNChttp://www.virtualgl.org/Downloads/TurboVNC
![Page 10: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/10.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 2: ssh <username>@spur.tacc.utexas.edu
![Page 11: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/11.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 3: On Spur, set up your vnc password. This only needs to be done oncevnc password shared across Spur and Ranger
In your ssh, enter vncpasswd Select and verify password.
NOTE: vnc passwords are NOT secure!8 char limit (rest ignored)should NOT be your TACC passwordstored in ~/.vnc/passwd
![Page 12: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/12.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 4: Launch a vncserver job using SGEqsub /share/sge/default/pe_scripts/job.vnctouch ~/vncserver.outtail –f ~/vncserver.out
qsub = sge submit command must specify account
job.vnc = job script make local copy to modify acct, runtime, # proc
Connection instructions written to ~/vncserver.out once job launches
Use visq to monitor job status
![Page 13: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/13.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 5: Create ssh tunnel from your laptop to the vnc session ssh –f –N –L <port>:spur.tacc.utexas.edu:<port> <user>@spur.tacc.utexas.edu
vnc communication is unencryptedso create ssh tunnel between your laptop and spur login
<port> : port assigned by vnc job
<user> : your username on spur
Your vncviewer will connect to port on your laptop (localhost)
ssh tunnel forwards connection to port on spur (login node)
spur automatically forwards to port on vis node
-f port forward only, no command
-N background after connect
-L forward local <port> to remote machine:<port>
![Page 14: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/14.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 6: Connect to that display by using a vnc client
(1)
(2)
(3)
![Page 15: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/15.jpg)
Starting a Remote Visualization Job on Maverick (Lab Exercise)
Step 7: Type glxgearsA common error – extension GLX missing!
By default, your vnc session cannot access OpenGL or GPUs
Any OpenGL-based application will encounter this issue
![Page 16: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/16.jpg)
Starting a Remote Visualization Job on Maverick (Lab Exercise)
Step 8: Type vglrun glxgearsAccesses GPUs and OpenGL libs via VirtualGL
VirtualGL captures framebuffer from GPU, forwards it to vnc session
Use vglrun –d to specify which GPU to use (–d :0.0 is default)
vglrun –d :0.0 <app>
vglrun –d :0.1 <app>
vglrun –d :0.2 <app>
vglrun –d :0.3 <app>
![Page 17: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/17.jpg)
Starting a Remote Vis Job on Spur(Lab Exercise)
Step 9: Type ‘module avail’ in the xterm.
This will tell you which programs are available to load and run.
Some programs have module dependencies (e.g. many vis programs)
Some programs are compiler and/or MPI-stack dependent
![Page 18: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/18.jpg)
Topics
• Remote and Collaborative Visualization
• Remote Visualization on Spur
• Scripted Visualization with VisIt
– Python Primer
– Create Image using Python Script
– Change View and Apply Operators
– Fly Around Dataset
![Page 19: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/19.jpg)
One-Slide Intro to Python
def count_fingers(n):
if (n < 0):
print “How do you count negative fingers?!”
elif (n > 10):
print “I only have ten fingers!”
else:
for i in range(0,n):
print “%d little piggy” % (i + 1)
![Page 20: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/20.jpg)
Inspecting VisIt Python Classes>>> s = SaveWindowAttributes()
>>> s
outputToCurrentDirectory = 0
outputDirectory = "C:\Documents and Settings\pnav\My Documents\VisIt 1.11.2\My images"
fileName = "visit"
family = 1
format = TIFF # BMP, CURVE, JPEG, OBJ, PNG, POSTSCRIPT, POVRAY, PPM, RGB, STL, TIFF, ULTRA, VTK
width = 1024
height = 1024
screenCapture = 0
saveTiled = 0
quality = 80
progressive = 0
binary = 0
stereo = 0
compression = PackBits # None, PackBits, Jpeg, Deflate
forceMerge = 0
resConstraint = ScreenProportions # NoConstraint, EqualWidthHeight, ScreenProportions
>>> s.format = s.PNG
>>> s.width, s.height = (1600, 1200)
>>> SetSaveWindowAttributes(s)
![Page 21: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/21.jpg)
Basic VisIt Classes and Functions• OpenDatabase( “<Full Path to DB>” )• AddPlot( “<Plot Name>” )
pa = <Plot Name>Attributes()SetPlotOptions( pa )
• AddOperator( “<Operator Name>” )
oa = <Operator Name>Attributes()SetOperatorOptions( oa )
• DrawPlots()– once invoked, all commands that change plot will update plot automatically
• s = SaveWindowAttributes()SetSaveWindowAttributes( s )
• SaveWindow()• view = GetView3D()
SetView3D( view )• DeleteAllPlots()
Full Interface description at:https://wci.llnl.gov/codes/visit/1.4.1/PythonInterface1.4.1.pdf
![Page 22: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/22.jpg)
Function to Change View Axis
def change_view(normal, up, nsteps=10, start=0):
c0 = GetView3D()
c1 = GetView3D()
c1.viewNormal = normal
c1.viewUp = up
cpts = (c0, c1)
x = (0., 1.)
for i in range(start, nsteps+1):
t = float(i) / float(nsteps)
c = EvalCubicSpline(t, x, cpts)
SetView3D(c)
# SaveWindow() # uncomment to save image of each step
![Page 23: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/23.jpg)
Lab #1 – Create Isosurface Plot
• Open RectGrid2.vtk• Create Pseudocolor
plot on scalars variable
• Apply Isosurface operator
![Page 24: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/24.jpg)
Lab #2 – Clip Isosurface Plot on -Y
• Rotate view from +Z axis to –Y axis
• Create Clip operator• Change Clip attributes
to change clip plane from +X axis to –Y axis
• Apply new clip attributes
![Page 25: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/25.jpg)
Lab #3 – Save Image Stack
• Using change_view as a model, save an image stack of the view changing
• Bonus points: change filename and image file type
![Page 26: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/26.jpg)
Lab #4 – Fly Around Plot
• Using change_view as a model, create multiple viewpoints to fly around dataset
• Bonus points: modulate viewpoints along wave (will need to calculate orthogonal view and up)
![Page 28: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/28.jpg)
Helpful Hints for Labs #1 and #2
![Page 29: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/29.jpg)
VisIt
Open the file RectGrid2.vtk
• Click File -> Open• Select RectGrid2.vtk• Click OK• Active dataset highlighted
![Page 30: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/30.jpg)
VisIt
Open the file RectGrid2.vtk
• Click File -> Open• Select RectGrid2.vtk• Click OK• Active dataset highlighted
![Page 31: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/31.jpg)
VisIt
Create isosurfaces• Click Plots ->
Pseudocolor -> scalars
• Click Operators -> Isosurface
• Click OpAtts -> Isosurface…
• Keep defaults, click Dismiss
• Click Draw
![Page 32: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/32.jpg)
VisIt
Create isosurfaces• Click Plots ->
Pseudocolor -> scalars
• Click Operators -> Isosurface
• Click OpAtts -> Isosurface…
• Keep defaults, click Dismiss
• Click Draw
![Page 33: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/33.jpg)
VisIt
Create isosurfaces• Click Plots ->
Pseudocolor -> scalars
• Click Operators -> Isosurface
• Click OpAtts -> Isosurface…
• Keep defaults, click Dismiss
• Click Draw
![Page 34: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/34.jpg)
VisIt
Create isosurfaces• Click Plots ->
Pseudocolor -> scalars
• Click Operators -> Isosurface
• Click OpAtts -> Isosurface…
• Keep defaults, click Dismiss
• Click Draw
![Page 35: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/35.jpg)
VisIt
Create isosurfaces• Click Plots ->
Pseudocolor -> scalars
• Click Operators -> Isosurface
• Click OpAtts -> Isosurface…
• Keep defaults, click Dismiss
• Click Draw
![Page 36: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/36.jpg)
VisIt
Create isosurfaces• Click Plots ->
Pseudocolor -> scalars
• Click Operators -> Isosurface
• Click OpAtts -> Isosurface…
• Keep defaults, click Dismiss
• Click Draw
![Page 37: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/37.jpg)
VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->
Clip• Click OpAtts ->
Clip…• Change Normal to
0 -1 0• Click Apply• Click Dismiss
![Page 38: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/38.jpg)
VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->
Clip• Click OpAtts ->
Clip…• Change Normal to
0 -1 0• Click Apply• Click Dismiss
![Page 39: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/39.jpg)
VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->
Clip• Click OpAtts ->
Clip…• Change Normal to
0 -1 0• Click Apply• Click Dismiss
![Page 40: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/40.jpg)
VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->
Clip• Click OpAtts ->
Clip…• Change Normal to
0 -1 0• Click Apply• Click Dismiss
![Page 41: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/41.jpg)
VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->
Clip• Click OpAtts ->
Clip…• Change Normal to
0 -1 0• Click Apply• Click Dismiss
![Page 42: Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009](https://reader036.vdocuments.site/reader036/viewer/2022062409/56649cb15503460f949768db/html5/thumbnails/42.jpg)
VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->
Clip• Click OpAtts ->
Clip…• Change Normal to
0 -1 0• Click Apply• Click Dismiss