42
Advanced Scientific Visualization Laboratory Paul Navrátil 28 May 2009

Advanced Scientific Visualization Laboratory

  • Upload
    hani

  • View
    43

  • Download
    2

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Advanced Scientific Visualization Laboratory

AdvancedScientific Visualization

Laboratory

Paul Navrátil

28 May 2009

Page 2: Advanced Scientific Visualization Laboratory

Topics

• Remote and Collaborative Visualization

• Remote Visualization on Spur

• Scripted Visualization with VisIt

Page 3: Advanced Scientific Visualization Laboratory

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

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

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

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

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

Topics

• Remote and Collaborative Visualization

• Remote Visualization on Spur

• Scripted Visualization with VisIt

Page 9: Advanced Scientific Visualization Laboratory

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

Starting a Remote Vis Job on Spur(Lab Exercise)

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

Page 11: Advanced Scientific Visualization Laboratory

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

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

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

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

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

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

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

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

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

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

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

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

Lab #1 – Create Isosurface Plot

• Open RectGrid2.vtk• Create Pseudocolor

plot on scalars variable

• Apply Isosurface operator

Page 24: Advanced Scientific Visualization Laboratory

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

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

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 27: Advanced Scientific Visualization Laboratory

Obrigado!

[email protected]

Page 28: Advanced Scientific Visualization Laboratory

Helpful Hints for Labs #1 and #2

Page 29: Advanced Scientific Visualization Laboratory

VisIt

Open the file RectGrid2.vtk

• Click File -> Open• Select RectGrid2.vtk• Click OK• Active dataset highlighted

Page 30: Advanced Scientific Visualization Laboratory

VisIt

Open the file RectGrid2.vtk

• Click File -> Open• Select RectGrid2.vtk• Click OK• Active dataset highlighted

Page 31: Advanced Scientific Visualization Laboratory

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

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

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

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

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

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

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

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

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

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

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

VisItClip isosurfaces• Rotate view to +Y axis• Click Operators ->

Clip• Click OpAtts ->

Clip…• Change Normal to

0 -1 0• Click Apply• Click Dismiss