Advanced scientific visualization laboratory
Download
1 / 42

Advanced Scientific Visualization Laboratory - PowerPoint PPT Presentation


  • 149 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Advanced Scientific Visualization Laboratory' - hani


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Advanced scientific visualization laboratory

AdvancedScientific VisualizationLaboratory

Paul Navrátil

28 May 2009


Topics
Topics

  • Remote and Collaborative Visualization

  • Remote Visualization on Spur

  • Scripted Visualization with VisIt


Old model no remote capability
Old Model (No Remote Capability)

Local

Visualization

Resource

HPC

System

Pixels

Mouse

Data

Archive

Display

Wide-Area

Network

Remote Site

Local Site


New model remote capability
New ModelRemote Capability

Pixels

Large-Scale

Visualization

Resource

HPC

System

Display

Mouse

Data

Archive

Wide-Area

Network

Remote Site

Local Site


New model multi user and collaborative capability
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


Spur visualization system
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


Spur ranger topology
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


Topics1
Topics

  • Remote and Collaborative Visualization

  • Remote Visualization on Spur

  • Scripted Visualization with VisIt


Starting a remote vis job on spur lab exercise
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


Starting a remote vis job on spur lab exercise1
Starting a Remote Vis Job on Spur(Lab Exercise)

Step 2: ssh <username>@spur.tacc.utexas.edu


Starting a remote vis job on spur lab exercise2
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


Starting a remote vis job on spur lab exercise3
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


Starting a remote vis job on spur lab exercise4
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>


Starting a remote vis job on spur lab exercise5
Starting a Remote Vis Job on Spur(Lab Exercise)

Step 6: Connect to that display by using a vnc client

(3)

(1)

(2)


Starting a remote visualization job on maverick lab exercise
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


Starting a remote visualization job on maverick lab exercise1
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>


Starting a remote vis job on spur lab exercise6
Starting a Remote Vis Job on Spur Exercise)(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


Topics2
Topics Exercise)

  • 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


One slide intro to python
One-Slide Intro to Python Exercise)

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)


Inspecting visit python classes
Inspecting VisIt Python Classes Exercise)

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


Basic visit classes and functions
Basic VisIt Classes and Functions Exercise)

  • 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


Function to change view axis
Function to Change View Axis Exercise)

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


Lab 1 create isosurface plot
Lab #1 – Create Isosurface Plot Exercise)

  • Open RectGrid2.vtk

  • Create Pseudocolor plot on scalars variable

  • Apply Isosurface operator


Lab 2 clip isosurface plot on y
Lab #2 – Clip Isosurface Plot on Exercise)-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


Lab 3 save image stack
Lab #3 – Save Image Stack Exercise)

  • Using change_view as a model, save an image stack of the view changing

  • Bonus points: change filename and image file type


Lab 4 fly around plot
Lab #4 – Fly Around Plot Exercise)

  • 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)


Obrigado pnav@tacc utexas edu
Obrigado! Exercise)[email protected]



Visit
VisIt Exercise)

Open the file RectGrid2.vtk

  • Click File -> Open

  • Select RectGrid2.vtk

  • Click OK

  • Active dataset highlighted


Visit1
VisIt Exercise)

Open the file RectGrid2.vtk

  • Click File -> Open

  • Select RectGrid2.vtk

  • Click OK

  • Active dataset highlighted


Visit2
VisIt Exercise)

Create isosurfaces

  • Click Plots -> Pseudocolor -> scalars

  • Click Operators -> Isosurface

  • Click OpAtts -> Isosurface…

  • Keep defaults, click Dismiss

  • Click Draw


Visit3
VisIt Exercise)

Create isosurfaces

  • Click Plots -> Pseudocolor -> scalars

  • Click Operators -> Isosurface

  • Click OpAtts -> Isosurface…

  • Keep defaults, click Dismiss

  • Click Draw


Visit4
VisIt Exercise)

Create isosurfaces

  • Click Plots -> Pseudocolor -> scalars

  • Click Operators -> Isosurface

  • Click OpAtts -> Isosurface…

  • Keep defaults, click Dismiss

  • Click Draw


Visit5
VisIt Exercise)

Create isosurfaces

  • Click Plots -> Pseudocolor -> scalars

  • Click Operators -> Isosurface

  • Click OpAtts -> Isosurface…

  • Keep defaults, click Dismiss

  • Click Draw


Visit6
VisIt Exercise)

Create isosurfaces

  • Click Plots -> Pseudocolor -> scalars

  • Click Operators -> Isosurface

  • Click OpAtts -> Isosurface…

  • Keep defaults, click Dismiss

  • Click Draw


Visit7
VisIt Exercise)

Create isosurfaces

  • Click Plots -> Pseudocolor -> scalars

  • Click Operators -> Isosurface

  • Click OpAtts -> Isosurface…

  • Keep defaults, click Dismiss

  • Click Draw


Visit8
VisIt Exercise)

Clip isosurfaces

  • Rotate view to +Y axis

  • Click Operators -> Clip

  • Click OpAtts -> Clip…

  • Change Normal to 0 -1 0

  • Click Apply

  • Click Dismiss


Visit9
VisIt Exercise)

Clip isosurfaces

  • Rotate view to +Y axis

  • Click Operators -> Clip

  • Click OpAtts -> Clip…

  • Change Normal to 0 -1 0

  • Click Apply

  • Click Dismiss


Visit10
VisIt Exercise)

Clip isosurfaces

  • Rotate view to +Y axis

  • Click Operators -> Clip

  • Click OpAtts -> Clip…

  • Change Normal to 0 -1 0

  • Click Apply

  • Click Dismiss


Visit11
VisIt Exercise)

Clip isosurfaces

  • Rotate view to +Y axis

  • Click Operators -> Clip

  • Click OpAtts -> Clip…

  • Change Normal to 0 -1 0

  • Click Apply

  • Click Dismiss


Visit12
VisIt Exercise)

Clip isosurfaces

  • Rotate view to +Y axis

  • Click Operators -> Clip

  • Click OpAtts -> Clip…

  • Change Normal to 0 -1 0

  • Click Apply

  • Click Dismiss


Visit13
VisIt Exercise)

Clip isosurfaces

  • Rotate view to +Y axis

  • Click Operators -> Clip

  • Click OpAtts -> Clip…

  • Change Normal to 0 -1 0

  • Click Apply

  • Click Dismiss


ad