1 / 42

Advanced Scientific Visualization Laboratory

Advanced Scientific Visualization Laboratory. Paul Navrátil 28 May 2009. Topics. Remote and Collaborative Visualization Remote Visualization on Spur Scripted Visualization with VisIt. Old Model (No Remote Capability). Local Visualization Resource. HPC System. Pixels. Mouse. Data

hani
Download Presentation

Advanced Scientific Visualization Laboratory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AdvancedScientific VisualizationLaboratory Paul Navrátil 28 May 2009

  2. Topics • Remote and Collaborative Visualization • Remote Visualization on Spur • Scripted Visualization with VisIt

  3. Old Model (No Remote Capability) Local Visualization Resource HPC System Pixels Mouse Data Archive Display Wide-Area Network Remote Site Local Site

  4. New ModelRemote Capability Pixels Large-Scale Visualization Resource HPC System Display Mouse Data Archive Wide-Area Network Remote Site Local Site

  5. New ModelMulti-User and Collaborative Capability Local Site A Large-Scale Visualization Resource Pixels HPC System Display A Mouse Data Archive Pixels Display B Mouse Wide-Area Network Remote Site Local Site B

  6. Spur - Visualization System 128 cores, 1 TB distributed memory, 32 GPUs spur.tacc.utexas.edulogin node, no GPUsdon’t run apps here! ivisbig.rangerSun 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

  7. Spur / Ranger topology visqueue $SCRATCH spur $WORK $HOME Vis nodesivis[1-7|big] login3.ranger normaldevelopment<etc>queues HPC nodesixxx-xxx login4.ranger Login Nodes Compute Nodes File System

  8. Topics • Remote and Collaborative Visualization • Remote Visualization on Spur • Scripted Visualization with VisIt

  9. Starting a Remote Vis Job on Spur(Lab Exercise) Step 1: Download a vnc client, preferably with integrated compression Recommended options: TightVNC http://www.tightvnc.com/download.html TurboVNC http://www.virtualgl.org/Downloads/TurboVNC

  10. Starting a Remote Vis Job on Spur(Lab Exercise) Step 2: ssh <username>@spur.tacc.utexas.edu

  11. 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 password stored in ~/.vnc/passwd

  12. Starting a Remote Vis Job on Spur(Lab Exercise) Step 4: Launch a vncserver job using SGE qsub /share/sge/default/pe_scripts/job.vnc touch ~/vncserver.out tail –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.outonce job launches Use visq to monitor job status

  13. 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>

  14. Starting a Remote Vis Job on Spur(Lab Exercise) Step 6: Connect to that display by using a vnc client (3) (1) (2)

  15. 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

  16. 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>

  17. 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

  18. 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

  19. 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)

  20. 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)

  21. 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

  22. 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

  23. Lab #1 – Create Isosurface Plot • Open RectGrid2.vtk • Create Pseudocolor plot on scalars variable • Apply Isosurface operator

  24. 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

  25. 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

  26. 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)

  27. Obrigado!pnav@tacc.utexas.edu

  28. Helpful Hints for Labs #1 and #2

  29. VisIt Open the file RectGrid2.vtk • Click File -> Open • Select RectGrid2.vtk • Click OK • Active dataset highlighted

  30. VisIt Open the file RectGrid2.vtk • Click File -> Open • Select RectGrid2.vtk • Click OK • Active dataset highlighted

  31. VisIt Create isosurfaces • Click Plots -> Pseudocolor -> scalars • Click Operators -> Isosurface • Click OpAtts -> Isosurface… • Keep defaults, click Dismiss • Click Draw

  32. VisIt Create isosurfaces • Click Plots -> Pseudocolor -> scalars • Click Operators -> Isosurface • Click OpAtts -> Isosurface… • Keep defaults, click Dismiss • Click Draw

  33. VisIt Create isosurfaces • Click Plots -> Pseudocolor -> scalars • Click Operators -> Isosurface • Click OpAtts -> Isosurface… • Keep defaults, click Dismiss • Click Draw

  34. VisIt Create isosurfaces • Click Plots -> Pseudocolor -> scalars • Click Operators -> Isosurface • Click OpAtts -> Isosurface… • Keep defaults, click Dismiss • Click Draw

  35. VisIt Create isosurfaces • Click Plots -> Pseudocolor -> scalars • Click Operators -> Isosurface • Click OpAtts -> Isosurface… • Keep defaults, click Dismiss • Click Draw

  36. VisIt Create isosurfaces • Click Plots -> Pseudocolor -> scalars • Click Operators -> Isosurface • Click OpAtts -> Isosurface… • Keep defaults, click Dismiss • Click Draw

  37. VisIt Clip isosurfaces • Rotate view to +Y axis • Click Operators -> Clip • Click OpAtts -> Clip… • Change Normal to 0 -1 0 • Click Apply • Click Dismiss

  38. VisIt Clip isosurfaces • Rotate view to +Y axis • Click Operators -> Clip • Click OpAtts -> Clip… • Change Normal to 0 -1 0 • Click Apply • Click Dismiss

  39. VisIt Clip isosurfaces • Rotate view to +Y axis • Click Operators -> Clip • Click OpAtts -> Clip… • Change Normal to 0 -1 0 • Click Apply • Click Dismiss

  40. VisIt Clip isosurfaces • Rotate view to +Y axis • Click Operators -> Clip • Click OpAtts -> Clip… • Change Normal to 0 -1 0 • Click Apply • Click Dismiss

  41. VisIt Clip isosurfaces • Rotate view to +Y axis • Click Operators -> Clip • Click OpAtts -> Clip… • Change Normal to 0 -1 0 • Click Apply • Click Dismiss

  42. VisIt Clip isosurfaces • Rotate view to +Y axis • Click Operators -> Clip • Click OpAtts -> Clip… • Change Normal to 0 -1 0 • Click Apply • Click Dismiss

More Related