high performance computing: concepts, methods & means scientific visualization prof. thomas...

91
High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University April 12 th , 2007

Upload: helena-little

Post on 11-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

High Performance Computing: Concepts, Methods & Means

Scientific Visualization

Prof. Thomas SterlingDepartment of Computer Science

Louisiana State University

April 12th, 2007

Page 2: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

2

Topics

• Introduction • Application of Visualization• Challenges and Approaches• GnuPlot• OpenGL• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 3: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

3

Topics

• Introduction

• Application of Visualization• Challenges and Approaches• GnuPlot• OpenGL• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 4: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

What is visualization?

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Page 5: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

5

Why visualize?

• Understand not the data but the underlying phenomenon.

a) Computers produce too much data.

b) Bandwidth of human visual channel is high and large portion of brain devoted to visual processing.

c) Well developed languages for visual communication.

Page 6: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Why Visualization ? u = -6.427857 , -6.523186 , -6.54103 , -6.54103 , -6.482776 , -6.390405 , -6.390405 , -6.572558 , -6.97136 , -7.201595 , -7.348364 , -7.329116 , -7.452635 , -7.64616 , -7.942822 , -8.201272 , -8.43337 , -8.660357 , -8.717431 , -8.655432 , -8.406534 , -8.33491 , -8.369874 , -8.578186 , -8.721748 , -8.844964 , -8.925459 , -8.98138 , -8.984378 , -8.983262 , -8.971765 , -8.961585 , -8.971635 , -8.925839 , -8.84674 , -8.710734 , -8.628431 , -8.573109 , -8.573581 , -8.507746 , -8.403376 , -8.241115 , -8.10023 , -7.968015 , -7.840099 , -7.750834 , -7.682921 , -7.671621 , -7.535857 , -7.322661 , -6.97717 , -6.752327 , -6.593081 , -6.5627 , -6.429719 , -6.255228 , -5.996966 , -5.849945 , -5.849944 , -5.849944 , -5.866279 , -6.008289 , -6.256032 , -6.256031 , -6.061061 , -5.582273 , -5.318203 , -5.304733 , -5.304731 , -5.304732 , -5.400971 , -5.525061 , -5.695447 , -5.908212 , -6.120428 , -6.483144 , -6.929903 , -7.499269 , -7.870482 , -7.944466 , -7.944464 , -7.944464 , -7.659261 , -7.229546 , -6.725167 , -6.161546 , -5.556448 , -4.978111 , -4.438664 , -3.956492 , -3.541891 , -3.200402 , -2.948171 , -2.725869 , -2.547415 , -2.403962 , -2.328887 , -2.328887 , -2.362912 , -2.47964 , -2.661769 , -2.897908 , -3.173306 , -3.469175 , -3.77889 , -4.023475 , -4.197217 , -4.269307 , -4.269307 , -4.141403 , -3.900984 , -3.598546 , -3.241225 , -2.838429 , -2.448151 , -2.077646 , -1.729339 , -1.448499 , -1.221355 , -1.075136 , -0.8622113 , -0.610992 , -0.309599 , -0.008249226 , 0.2866637 , 0.5844232 , 0.7551345 , 0.7551345 , 0.7404107 , 0.628957 , 0.4618129 , 0.254385 , -0.001586894 , -0.2942654 , -0.6273276 , -0.9602203 , -1.302442 , -1.651798 , -2.040005 , -2.473109 , -2.927637 , -3.536143 , -4.256138 , -5.131937 , -5.909329 , -6.632139 , -7.264142 , -7.914654 , -8.569831 , -9.225504 , -9.972804 , -10.79719 , -11.69678 , -12.65146 , -13.63585 , -14.65405 , -15.52981 , -16.26998 , -16.84625 , -17.27217 , -17.54335 , -17.63945 , -17.68136 , -17.6488 , -17.5907 , -17.36112 , -17.01713 , -16.55005 , -16.1187 , -15.72782 , -15.39774 , -15.21338 , -15.21338 , -15.29171 , -15.5386 , -5.872988 , -6.085768 , -6.315414 , -6.46691 , -6.566167 , -6.463671 , -6.516846 , -6.661736 , -6.950105 , -7.139693 , -7.292792 , -7.35294 , -7.509007 , -7.711919 , -7.98795 , -8.204489 , -8.388111 , -8.53765 , -8.549171 , -8.494419 , -8.274727 , -8.235106 , -8.290669 , -8.485452 , -8.631478 , -8.758162 , -8.843537 , -8.905816 , -8.901114 , -8.923553 , -8.900274 , -8.85834 , -8.826035 , -8.742122 , -8.633344 , -8.481342 , -8.38605 , -8.324376 , -8.328 , -8.283401 , -8.224975 , -8.140258 , -8.033843 , -7.907145 , -7.744395 , -7.630397 , -7.540941 , -7.511995 , -7.380935 , -7.18389 , -6.89576 , -6.690366 , -6.539803 , -6.49908 , -6.338212 , -6.121155 , -5.800247 , -5.614371 , -5.590841 , -5.617583 , -5.618993 , -5.705396 , -5.831448 , -5.808238 , -5.637913 , -5.273538 , -5.048944 , -4.978347 , -4.939844 , -4.935815 , -5.005646 , -5.125065 , -5.340047 , -5.640095 , -6.118582 , -6.479867 , -7.020726 , -7.656367 , -8.091928 , -8.235412 , -8.256392 , -8.288987 , -8.02024 , -7.594208 , -7.080354 , -6.493727 , -5.853112 , -5.222045 , -4.61448 , -4.051221 , -3.540982 , -3.094106 , -2.729883 , -2.4017 , -2.128516 , -1.901242 , -1.783949 , -1.794434 , -1.854288 , -2.025638 , -2.276666 , -2.588354 , -2.951093 , -3.336414 , -3.737945 , -4.051697 , -4.247976 , -4.299063 , -4.287614 , -4.141403 , -3.773021 , -3.392112 , -2.966861 , -2.511141 , -2.104363 , -1.752656 , -1.458143 , -1.264281 , -1.149855 , -1.12121 , -1.021299 , -0.857702 , -0.6503528 , -0.3679736 , -0.04715691 , 0.330871 , 0.5817654 , 0.6693039 , 0.6839384 , 0.6188942 , 0.4083084 , 0.09041793 , -0.2997381 , -0.7528136 , -1.269037 , -1.776355 , -2.282719 , -2.770765 , -3.301226 , -3.86602 , -4.443498 , -5.119157 , -5.857961 , -6.703572 , -7.392374 , -7.978982 , -8.419954 , -8.906201 , -9.416592 , -9.960371 , -10.61076 , -11.35791 , -12.20694 , -13.09808 , -14.01462 , -14.95342 , -15.77099 , -16.46989 , -17.01907 , -17.4528 , -17.75783 , -17.91834 , -18.00619 , -17.99242 , -17.95625 , -17.69617 , -17.28662 , -16.70866 , -16.18466 , -15.72867 , -15.31314 , -15.07428 , -15.04266 , -15.08206 , -15.2573 ,………

v = -1.094848 , -1.388215 , -1.7774 , -1.87638 , -1.769933 , -1.374895 , -1.068985 , -0.7930366 , -0.6055306 , -0.4153382 , -0.2618484 , -0.1600156 , -0.09336649 , -0.0933665 , -0.09336649 , -0.29928 , -0.6517227 , -1.185737 , -1.632164 , -2.017494 , -2.310865 , -2.50579 , -2.557264 , -2.540595 , -2.557264 , -2.543922 , -2.557264 , -2.534354 , -2.340377 , -2.021534 , -1.68185 , -1.31723 , -0.9375733 , -0.6081405 , -0.331678 , -0.1343881 , 0.0349655 , 0.1550956 , 0.2184148 , 0.2184148 , 0.09506586 , -0.1572805 , -0.3115382 , -0.4108411 , -0.3943729 , -0.472298 , -0.5880879 , -0.7785369 , -0.8741692 , -0.8741691 , -0.852599 , -0.7818746 , -0.6815349 , -0.559538 , -0.4188876 , -0.2667979 , -0.1274622 , 0.04737541 , 0.222767 , 0.4350842 , 0.4537844 , 0.3320421 , 0.02712467 , -0.2381335 , -0.4869398 , -0.7065635 , -0.8304897 , -0.8304898 , -0.7885993 , -0.7802173 , -0.8343163 , -0.9507663 , -0.9507663 , -0.7676437 , -0.4141116 , 0.03086369 , 0.5632063 , 1.191833 , 1.741727 , 2.228943 , 2.614007 , 2.988411 , 3.328841 , 3.646137 , 3.926322 , 4.182895 , 4.416797 , 4.670647 , 4.945902 , 5.249022 , 5.59187 , 5.97444 , 6.391531 , 6.847597 , 7.327731 , 7.829793 , 8.284888 , 8.688264 , 9.02784 , 9.276457 , 9.431317 , 9.460448 , 9.460449 , 9.355015 , 9.180367 , 8.963261 , 8.718586 , 8.452602 , 8.229078 , 8.049659 , 7.91937 , 7.852942 , 7.852942 , 7.884611 , 7.904743 , 7.898197 , 7.849684 , 7.732419 , 7.538555 , 7.259863 , 6.899429 , 6.457614 , 5.938355 , 5.356821 , 4.723446 , 4.041956 , 3.363791 , 2.691295 , 2.037988 , 1.397454 , 0.7774612 , 0.1903167 , -0.394103 , -0.9607456 , -1.504752 , -1.999091 , -2.432707 , -2.797345 , -3.046965 , -3.053234 , -3.053234 , -3.023986 , -2.730067 , -2.301303 , -1.71073 , -0.9851491 , -0.1510314 , 0.7523372 , 1.677023 , 2.615013 , 3.343748 , 3.86464 , 4.160915 , 4.184602 , 3.966629 , 3.474625 , 3.016644 , 2.568788 , 2.165158 , 1.824501 , 1.54189 , 1.360883 , 1.035977 , 0.6115122 , 0.06123456 , -0.5250472 , -1.146736 , -1.800962 , -2.367146 , -2.846602 , -3.223269 , -3.491419 , -3.655909 , -3.702413 , -3.745571 , -0.5370894 , -0.8362811 , -1.261836 , -1.431323 , -1.439548 , -1.197057 , -1.010797 , -0.8057232 , -0.6501509 , -0.4674788 , -0.2819314 , -0.1039538 , -0.003672248 , -0.03016879 , -0.08807017 , -0.2992798 , -0.6517226 , -1.04221 , -1.493191 , -1.87203 , -2.175377 , -2.407176 , -2.555969 , -2.599726 , -2.671768 , -2.712004 , -2.75505 , -2.75902 , -2.60304 , -2.328378 , -2.018466 , -1.671619 , -1.297618 , -0.9531922 , -0.6438362 , -0.3950594 , -0.1701427 , 0.01022664 , 0.1364522 , 0.1747276 , 0.07895294 , -0.163308 , -0.3119612 , -0.4108411 , -0.4113753 , -0.4671833 , -0.514634 , -0.6230809 , -0.6598164 , -0.6212637 , -0.5786133 , -0.5099974 , -0.4389736 , -0.3768384 , -0.2941028 , -0.184191 , -0.06520332 , 0.04737541 , 0.222767 , 0.4200633 , 0.4607859 , 0.3320421 , 0.3006737 , 0.07510712 , -0.07692574 , -0.2115855 , -0.2936291 , -0.2928487 , -0.292287 , -0.2969472 , -0.3166117 , -0.4137569 , -0.4247616 , -0.2855123 , -0.01641562 , 0.3228842 , 0.7352448 , 1.223382 , 1.67242 , 2.098369 , 2.465089 , 2.82751 , 3.167285 , 3.493491 , 3.772224 , 4.01767 , 4.227215 , 4.45173 , 4.692906 , 4.956936 , 5.272628 , 5.639721 , 6.05663 , 6.525858 , 7.034393 , 7.579512 , 8.094472 , 8.572382 , 9.010693 , 9.246994 , 9.600247 , 9.734415 , 9.818371 , 9.768746 , 9.634361 , 9.467207 , 9.223889 , 8.935048 , 8.680677 , 8.465234 , 8.293701 , 8.204026 , 8.200741 , 8.238729 , 8.27344 , 8.296266 , 8.249908 , 8.143016 , 7.933974 , 7.620547 , 7.205623 , 6.692104 , 6.073251 , 5.356821 , 4.704732 , 3.950881 , 3.223222 , 2.52102 , 1.863057 , 1.214219 , 0.5855544 , -0.008720525 , -0.6155071 , -1.212232 , -1.798152 , -2.302297 , -2.713413 , -2.993824 , -3.092898 , -3.038303 , -2.847107 , -2.602939 , -2.127067 , -1.511888 , -0.7935675 , -0.009873301 , 0.8129019 , 1.657815 , 2.47968 , 3.274564 , 3.86061 , 4.223564 , 4.421453 , 4.368874 , 4.113844 , 3.630303 , 3.202399 , 2.802837 , 2.467391 , 2.162023 , 1.88674 , 1.675342 , 1.306858 , 0.8053824 , 0.09287734 , -0.5250471 , -1.144472 , -1.850449 , -2.463693 , ……...

MM5 Data (Left) MM5 Viz (Right) using Amira

6

Page 7: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

7

Goals of visualization

• Understanding of the phenomenon represented by the data.

• Achieving compelling visual depictions.

Page 8: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

8

Topics

• Introduction

• Application of Visualization• Challenges and Approaches• GnuPlot• OpenGL• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 9: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Weather prediction

Page 10: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Environmental monitoring

Page 11: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Computational fluid dynamics

Page 12: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Molecular dynamics

Page 13: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Design and manufacturing

Page 14: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Astrophysics

Page 15: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Healthcare

Page 16: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

16

Uses of visualization

• Data exploration.• Hypothesis testing.• Steering of computation.• Program/performance debugging.• Presentation.

Page 17: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Data exploration

Page 18: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Data exploration

• Cygron's DataScope utilizes innovative data visualization technology that leverages the natural human ability to see patterns in pictures rather than numbers.

• DataScope creates real-time, high quality database graphics, but it is also offers powerful data transformation, filtering, querying, drill-down and automatic correlation discovery capabilities.

• http://www.cygron.com/VisualExploration.html

18

Page 19: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Hypothesis testing• Promoters of statistical methods may use linear

correlation coefficients to detect relationships between variables, which works wonderfully when there is a linear relationship between variables and when the data is free from anomalies. 

• However, if the relationship is quadratic (or exponential, sinusoidal, etc.) a linear algorithm may fail to detect the relationship. 

• Similarly if there are data collection problems that add outliers or if there are discontinuities over the range (e.g. freezing or boiling points of water), then linear correlation may fail. 

• A visual presentation is more likely to help researchers find such phenomena and suggest richer hypotheses.

19

Page 20: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Hypothesis testing

Page 21: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Steering of computation• Understanding the atmospheric dispersion of reacting

chemicals is one of the major scientific challenges in the world today.

• Scientists study the problem by constructing a numerical simulation of the dispersion, combining the expertise of the scientist in the physical processes involved, and the skill of numerical mathematicians in the numerical modeling of these processes.

• As part of the analysis, a scientist will want to explore different scenarios: varying the chimney height, varying the terrain, varying the emission rate and varying the wind direction.

• http://www.visualization.leeds.ac.uk/CovisaG/demo.html

21

Page 22: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Steering of computation• The IRIS Explorer

application (shown on the right) provides a 'user friendly' interface to computational steering and visualization.

• This application allows the scientist to control the simulation, experiment with different wind directions and see the visualized results with or without the ground and chimney geometry displayed.

Page 23: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Program/performance debugging

• TAU was designed to improve parallel programming productivity by combining advances in parallel debugging, performance evaluation, and program visualization tools.

Page 24: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Presentation (GNU plots)

Page 25: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Presentation(2D)• QuikScat measurements of Arctic perennial sea ice coverage

(shown in red) in winter 2006 were 14-percent less than in winter 2005. Image credit: NASA/JPL

Page 26: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Presentation(3D)

• Debris (NASA) The debris software package includes programs for computing debris trajectories relative to a vehicle in flight, for detecting possible debris impacts on any part of the flight vehicle, and for filtering, sorting, and managing very large databases of debris impacts.

26

Page 27: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Presentation (Mars movie)

• Images of the "Columbia Hills" region inside Mars' Gusev Crater, taken by the High Resolution Imaging Science Experiment camera on NASA's Mars Reconnaissance Orbiter, provided detailed, three-dimensional information that was used to create this animation of a hypothetical flyover.

• http://mars.jpl.nasa.gov/mro/gallery/video/movies/Columbia640.mov

27

Page 28: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

28

Topics

• Introduction • Application of Visualization

• Challenges and Approaches• GnuPlot• OpenGL• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 29: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

29

Scalability and large dataset management

• Databases often store data on the terabyte scale. Simulation results are often several gigabytes in size.

• Software growth exceeds hardware growth. Hence, processing speed is limited.

• Visualization algorithms have to process huge amounts of data to generate visual representations. Delay should be minimum.

• Some have to filter the data in order to extract relevant information.

• Visualization algorithms should be scalable.

Page 30: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

30

High data dimensionality

• Understand relationship between the attributes or dimensions.

• Represent data with high dimensionality or multiple attributes accurately; e.g. representation of flow simulation data attributes that describe the flow like velocity, temperature, pressure, kinetic energy, etc.

• Representation becomes more complex if data is time-dependent.

Page 31: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

31

Time-dependent data• Questions asked about time-dependent

data element– does it exist, when, how long, where, how

often, in what order?

• Challenges– High-dimensional temporal data.– Comparability of visualizations for time-

frames.

Page 32: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

32

Cross-platform visualization

• Large variety of hardware, operating systems and display devices.

• User-friendly visualization tools must adapt to variable environments.

Page 33: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

33

Other challenges in visualization

• Other challenges include defining the audience, the primary features in the visual depiction, appropriate visual metaphors, user-friendly design, choosing compelling visual representations and interactive/pre-generated graphics.

Page 34: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

34

Visualization processSensors, cameras,

etc.

Supercomputers

Financial data

Data

Image

Display

sampling

simulation

sampling

transform

Page 35: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

35

Visualization process

DataObjects in a virtual scene

Output screen image

Transformation

Pixeliz

ation-ra

steriz

ation

Transformations may include thresholding, re-scaling, normalization or clipping. They may be applied to the whole dataset or to parts of it.

Page 36: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

36

Topics

• Introduction • Application of Visualization• Challenges and Approaches

• GnuPlot• OpenGL• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 37: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• Portable command-line driven – interactive data and function plotting utility

• for UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari and many other platforms.

– copyrighted but freely distributed.– supported and under development since

1986.

37

Page 38: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• Plots– 2D and 3D.

• Presentations– lines, points, boxes, contours, vector fields,

surfaces, and various associated text.

• Output– interactive screen terminals– direct output to printers– output to many types of file (eps, jpeg,

LaTeX, pdf, png, postscript).

38

Page 39: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• Newest version of gnuplot is 4.2 (March 2007). Official web site is http://www.gnuplot.info/ .

• Current version can be obtaind at – http://sourceforge.net/projects/gnuplot/

and ftp://ftp.gnuplot.info/pub/gnuplot/ – several mirror sites you can find at the

URL above.

• For a development version:http://sourceforge.net/projects/gnuplot/

39

Page 40: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• “exec gnuplot” shows a gnuplot command line prompt "gnuplot> ".

• exit or quit command terminates gnuplot.

gnuplot> save "savefile.plt"

gnuplot> load "savefile.plt"

% gnuplot savefile.plt

The above command is in batch mode.

40

Page 41: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot• 2 basic commands to plot a

graph– plot: 2-dimensional graph.– splot: 3-dimensional graph.

• To plot a function– use the plot/splot command

with a range of X-axis (or X and Y ranges for 3-dim. plot) and the function.

– you can omit the range parameters.

gnuplot> plot [0:5] sin(x)

gnuplot> plot sin(x)

41

Page 42: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• You can change the appearance of your plot by the set command.

gnuplot> help set

gnuplot> set xlabel "X-AXIS“

gnuplot> set ylabel "Y-AXIS"

gnuplot> set xrange [0:5]

gnuplot> set yrange [-2:2]

gnuplot> plot sin(x)

42

Page 43: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• Produces a graph in a Postscript format when “set terminal postscript” command is given.

• If an output direction is not specified, the produced Postscript data flow on your screen.

• The set output command changes the destination of output.

gnuplot> help set

43

Page 44: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot• You can use gnuplot as a

calculator.

gnuplot> set xrange [-2*pi:2*pi] gnuplot> a=0.5 gnuplot> print a 0.5 gnuplot> plot a*sin(x)

gnuplot> f(x)=a*sin(x)*cos(x)

• You can also define your own function.

44

Page 45: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot• The alternative to lines is

points, steps or impulses.

gnuplot> set xlabel "x" gnuplot> set ylabel "y=exp(-x)" gnuplot> set title "Pade approximation" gnuplot> plot "output.dat" using 1:2 title "Analytical" with lines, \ >"output.dat" using 1:3 title "L=1, M=2" with lines,\ >"output.dat" using 1:4 title "L=2, M=1"

with lines

gnuplot> plot “output.dat” using 1:2

with lines

• The alternative to lines is points, steps or impulses.

45

Page 46: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• Graduations starts with 0, and the interval is 0.5.– change graduations, use “set {x|y}tics” .

• Controlled by 3 optional numbers after “set tics” command. – One number: increment. – Two numbers: initial value and increment.– Three: initial value, increment and final value.

• Draw small tics inside the interval with the set m{x|y}tics n where n is the number of divisions.

46

Page 47: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot Demo

• Draw a color-mapped 3D figure by setting pm3d.

gnuplot> set xrange [-2:2] gnuplot> set yrange [-2:2] gnuplot> set pm3d gnuplot> splot exp(-x*x)*exp(-y*y)

47

Page 48: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

gnuplot

• References:• http://www.gnuplot.info/ • http://t16web.lanl.gov/Kawano/gnuplot/index-e.html• http://www.duke.edu/~hpgavin/gnuplot.html• http://sparky.rice.edu/~hartigan/gnuplot.html• http://www.chemie.fu-berlin.de/chemnet/use/suppl/gpcard.html

• http://gnuplot.flexkb.net/wc.dll?gnu~HomeTopic

48

Page 49: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

49

Topics

• Introduction • Application of Visualization• Challenges and Approaches• GnuPlot

• OpenGL• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 50: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

50

Visualization software

• Visualization software are present at both low and high levels of abstraction.

• Those at higher levels may use libraries from any software at the lower level.

• Visualization software implement different visualization algorithms.

Page 51: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

51

Visualization software

• OpenGL is a popular visualization software at a low level of abstraction.

• Visualization software like OpenDX, VTK, etc. use OpenGL libraries.

• Other popular graphic APIs similar to OpenGL are Mesa 3D (an open source version of OpenGL) and Direct3D (Microsoft).

• Common visualization software at high level of abstraction are OpenDX, Visualization ToolKit (VTK), AVS, Amira, Vis5D, Iris Explorer, Para View, etc.

Page 52: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

52

OpenGL“OpenGL (Open Graphics Library) is a standard specification defining a cross-language cross-platform API for writing applications that produce 3D computer graphics (and 2D computer graphics as well). The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics and is popular in the video games industry where it competes with Direct3D on Microsoft Windows platforms. OpenGL is widely used in CAD, virtual reality, scientific visualization, information visualization, flight simulation and video game development. “ ……Wikipedia

Page 53: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

53

OpenGL

• Hides the complexities of interfacing with different hardware platforms from the user.

• Accepts primitives such as points, lines and polygons, and converts them into pixels via a graphics pipeline called OpenGL state machine.

• Issues primitives to the graphics pipeline, configures how the pipeline processes these primitives.

Page 54: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

54

OpenGL

OpenGL pipeline:

Vertex data Per-Vertex Operations& Primitive Assembly

Rasterization

Per-fragment OperationsFramebuffer

Page 55: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

55

OpenGL• Vertex data: Data for geometric objects consist of vertices.• Per-vertex operations: Translations and rotations are performed for

some vertices. Positions in the 3D world are projected onto positions on the screen. Lighting calculations are performed using the vertices, surface normal, light sources, and material properties.

• Primitive assembly: Clipping eliminates portions of geometry, which fall outside the screen.

• Rasterizations: Conversion of geometric data into fragments. Each fragment square corresponds to a pixel in the framebuffer. Color and depth (z coordinate) values are assigned.

• Per-fragment operations: Hidden surface removal using the depth buffer (z buffer) or alpha blending for transparent materials.

• Framebuffer: A collection of buffers that store data forscreen pixels (screen is, for example, 1280 pixels wide and 1024 pixels high) such as color, depth information for hidden surface removal, etc.

Page 56: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

56

OpenGL

• Low-level API.• Programmer dictates the exact steps required to

render a scene as opposed to just describing the scene and letting the API handle it.

• Disadvantage: requires programmers to have a good knowledge of the graphics pipeline.

• Advantage: flexibility to implement novel rendering algorithms.

• Advantage: other high-level APIs can be created using OpenGL. e.g. VTK, VMD, Java3D, VRML, Open Inventor.

Page 57: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

57

OpenGL

• OpenGL API has no concept of windowing systems, audio, printing to the screen, keyboard/mouse or other input devices.

• Completely independent of the operating system, allowing cross-platform development.

• However some integration with the native windowing system is required to allow clean interaction with the host system. This is performed through the add-on APIs GLX – X11, WGL – Microsoft Windows, CGL – Mac OS X.

• Additionally the GLUT and SDL libraries provide functionality for basic windowing using OpenGL, in a portable manner.

Page 58: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

58

OpenGLThis code draws a red sphere in a white window.#include <GL/glut.h>…………………….OpenGL Utility Toolkit: GLUT.

void display (void){ glClearColor(1.0, 1.0, 1.0, 0.0);………Clear the color buffer filled with the last picture before drawing.

glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.0, 0.0);………………..Set the color to red (RGB mode) before any drawing.

glutSolidSphere(0.4, 50, 40); glFlush();………………………………...Sends all buffered but not transmitted graphics data to the display hardware.

int main(int argc, char** argv){ glutInit(&argc, argv);………………………………………Initializes the GLUT library.

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);….Specifies a display mode (color mode or buffer). In this case, a single-buffered and RGB color mode window is specified.

glutInitWindowSize(500, 500);…..........Specifies window’s size in pixels.

glutInitWindowPosition(100, 100);………Specifies the location of the upper-left corner of the window.

glutCreateWindow(”A red sphere in a white window"); glutDisplayFunc(display);…Opens window with previously set characteristics (display mode, size, etc). Window is not displayed until glutMainLoop()is called.

glutMainLoop();…………….GLUT event processing loop. return 0;}

Page 59: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

59

OpenGL

• Popular because of excellent documentation. http://www.opengl.org.

• Current version is OpenGL 2.1.• Mesa 3D is a free/open source

implementation of OpenGL. http://www.mesa3d.org/.

Page 60: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Open GL Demo

Page 61: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

61

Topics

• Introduction • Application of Visualization• Challenges and Approaches• GnuPlot• OpenGL

• OpenDX• Visualization Hardware• Summary – Materials for Test

Page 62: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

62

OpenDX

• Based on code and ideas found in the IBM Visualization Data Explorer program product.

• On May 18, 1999 IBM announced the withdrawal of the program product.

• A week later the creation of the IBM Open Visualization Data Explorer was announced in conjunction with the creation of the IBM Deep Computing Institute.

• Latest version of OpenDX is 4.4.4.• Website: http://www.opendx.org/.

Page 63: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

63

OpenDX• A programming environment for data visualization and analysis that

employs a data-flow driven client-server execution model. • Provides a graphical program editor that allows the user to create

an interactive visualization using a point and click interface. • Supports interactions in a number of ways, including via a graphical

user interface with direct (i.e., in images) and indirect (i.e., via Motif widgets) interactors, visual programming, a high-level scripting language and a programming API.

• The indirect interactors are data-driven (i.e., they can configure themselves based on data characteristics).

• Visual and scripting language programming support hierarchy (i.e., macros) and thus, can be used to build complete applications.

• The programming API provides data support, error handling, access to lower level tools, etc. for building modules and is associated with a Module Builder utility.

Page 64: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

64

OpenDXThe principal components of OpenDX are• Data model

– This is the set of definitions, rules, and conventions used to describe Data Explorer entities (including data fields, geometrical objects, and images).

• Data Prompter– A user interface for describing data to be imported into Data Explorer.

• Data Browser– A user interface for viewing a data file, determining the layout and

organization of the data it contains, and transferring this information to the Data Prompter.

• Scripting Language– A high-level language for creating visualization programs. It can also be

used directly in a command mode to perform various tasks. Visual programs--i.e., the visualization programs displayed in the Visual Program Editor window as networks of module icons--are also written in the scripting language.

Page 65: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

65

OpenDX• Visual Program Editor (VPE)

– A graphical user interface for creating and modifying visual programs. Programs created with this editor are translated into the scripting language by Data Explorer and are stored in that form.

• Modules– The building blocks (visualization tools) that constitute a visual program

network. They can be directly accessed and manipulated in the Visual Program Editor.

• Module Builder– A user interface for creating customized modules to be used in visual

programs.• Image Window

– An interactive window for viewing and modifying the presentation of the image produced by a visual program.

• Control Panels– A user interface for changing the parameter values used by a visual

program.

Page 66: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

66

OpenDX

Page 67: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

67

OpenDX

Page 68: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

OpenDX Demo

Page 69: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

69

Visualization Toolkit (VTK)

• An open-source freely available software system.• Visualize any data in 3D medical, scientific or

financial data.• Build applications with C++, Java or Tcl.• Implemented on Unix-based platforms and PC.• Source: http://public.kitware.com/VTK.• ParaView is a turn-key visualization system build on

top of VTK, and makes VTK easier to use with an interactive, point and click interface.

• ParaView also supports supercomputing applications, including tiled display and distributed parallel processing.

Page 70: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Advanced Visual Systems(AVS)

• AVS Express, Open Viz.• Open Viz for displaying business data. Turns

ordinary business information into an interactive experience.

• AVS/Express is a development environment. It is not an end-user, point-and-click visualization tool. More power and complexity.

• Object-oriented (C++, Java, Visual Basic).• Source: http://www.avs.com.

70

Page 71: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Open Inventor

• Object-oriented toolkit (C and C++).• Platform independent.• Toolkit which presents a programming

model based on a 3D scene database that dramatically simplifies graphics programming.

• Source: http://oss.sgi.com/projects/inventor/.

71

Page 72: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

72

Amira

• Based on OpenGL and Open Inventor.• Windows, Unix, Linux.• State-of-the-art visualization techniques

allow you to gain detailed insight into your data. Graphics hardware is utilized to display even very large data sets at interactive speed.

• Source: http://www.amiravis.com.

Page 73: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

73

VisIt• Visit is a free interactive parallel visualization

and graphical analysis tool – used for viewing scientific data on UNIX, Windows

98/2000/XP, Mac OS. – developed at Lawrence Livermore National

Laboratory.– released in 2002.

• Handles – multi-block data, mixed material zones, multi-

species materials. – many mesh types: 2D and 3D multi-block

rectilinear, curvilinear, and unstructured meshes.• http://www.llnl.gov/VisIt/home.html

Page 74: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Explosion in an underground bunker

Page 75: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Supernova explosion

Page 76: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

76

Topics

• Introduction • Application of Visualization• Challenges and Approaches• GnuPlot• OpenGL• OpenDX

• Visualization Hardware• Summary – Materials for Test

Page 77: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

77

Visualization hardware

• Real time graphics operations huge number of simple arithmetic operations.

• Fastest micro-processor far from being fast enough for real time rendering.

• Need graphics hardware required bandwidth and arithmetic capacity.

• The common parts in most graphical pipelines : The geometry subsystem.

The raster subsystem.

The display subsystem.

Page 78: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Pixels

Graphics-Hardware

Vertices Primitives Fragments

SceneDescription

RasterImage

RasterizationFragment

OperationsGeometryProcessing

Page 79: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Geometry Processing

Per-VertexLighting

ProjectiveTransform.

PrimitiveAssembly

AffineTransform.

Multiplicationwith transforma-

tion matrix

Calculation oflocal illuminationat the Vertices

Generation of geometric primitives

(lines, triangles)

Primitives

Projection ontothe image plane

Vertices

GeometryProcessing

RasterizationFragment

Operations

Page 80: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Per-VertexLighting

ProjectiveTransform.

PrimitiveAssembly

AffineTransform.

Multiplicationwith transforma-

tions matrix

Calculation oflocal illumination

at the vertices

Generation of geometric primitives

(linies, triangles)

Primitive

Projection ontothe image plane

Vertices

Geometry ProcessingGeometryProcessing

RasterizationFragment

Operations

RasterizationRasterization

TextureGeneration

TextureApplication

PolygonRasterization

Decompositionof the primitivesinto fragments

Interpolation oftexture coordinates

Texture sampling

Combination of the(primary) color with

the texture color

Primitives Fragments

Page 81: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

TextureGeneration

TextureApplication

PolygonRasterization

Decompositionof the primitivesinto fragments

Interpolation oftexture coordinates

Texture sampling

Combination of the(primary) color with

the texture color

Primitives Fragments

RasterizationFragment OperationsFragment OperationsGeometryProcessing

RasterizationFragment

Operations

StencilTest

AlphaBlending

DepthTest

AlphaTest

Discard allfragments witha given alpha

value

Discard allfragments that have the stencil

buffer set

Discard allfragments that

are occluded

Combine the incomingfragment‘s color with

the value in the frame buffer

FragmenteFragments

Page 82: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

NVIDIA graphics card

Page 83: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

ATI graphics card

Page 84: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

84

Visualization hardware

• The SGI Infinite Reality processor had four geometry processors which in the modern graphics processor (GPU) has been replaced with 12-16 pipes capable of handling 32bit floating point numbers. The GPUs are designed and produced mainly by companies NVIDIA and ATI.

• The evolution of modern GPUs has been amazing. Already in 2003 the "Fourth" generation GPU had been on the market while the "First" generation appeared late 1999.

Page 85: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Visualization hardware

• An important advantage of the modern GPUs is their ability to be programmed through languages like OpenGl-shaders or C for Graphics called CG .

• In the programmable pipeline, some data and instructions are sent to the GPU.

• Enables better visual effects.

Page 86: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Visualization hardware

86

Page 87: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

87

Visualization hardware

• The GPU with its 32bit floating point arithmetic can also be used for scientific computations.

• The term GPGPU is used for General-Purpose Computing on Graphics Processing Units .

• The addition of programmable stages and higher precision arithmetic to the GPU rendering pipeline have allowed software developers to use the GPU for non graphics related applications. Because of the extremely parallel nature of the graphics pipeline the GPU is especially useful for programs that can be cast as stream processing and real-time

computing problems.

Page 88: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

Visualization hardware

• Phil Hester, chief technology officer at Advanced Micro Devices, the world’s second largest maker of central processing units, said at a conference that the integration of graphics processing units (GPUs) into central processing units will allow personal computers to achieve performance of supercomputers eventually.

88

Page 89: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

89

Topics

• Introduction • Application of Visualization• Challenges and Approaches• GnuPlot• OpenGL• OpenDX• Visualization Hardware

• Summary – Materials for Test

Page 90: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University

90

Summary – Material for the Test

• Why visualization : (Slides 5-7)• Uses of visualization : (Slides 17-27)• Challenges in visualization : (Slides 29-33)• Process of visualization : (Slides 34,35)• GNUplot : (Slides 40-47)• OpenGL : (Slides 56,57)• OpenDX : (Slides 63-65)• Other tools : (Slides 69-73)• Hardware issues : (Slides 77-81)

Page 91: High Performance Computing: Concepts, Methods & Means Scientific Visualization Prof. Thomas Sterling Department of Computer Science Louisiana State University