® page 1 intel compiler lab – intel array visualizer hdf workshop viii october 27, 2004 john...

32
R ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey [email protected]

Upload: sara-daniel

Post on 26-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 1Intel Compiler Lab –

Intel Array Visualizer

HDF Workshop VIII

October 27, 2004

John Readey [email protected]

Page 2: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 2Intel Compiler Lab –

Introduction

• Intel® Array Visualizer is a software tool for data visualization

• Includes– Array Viewer*: Viewing application– Library routines: API for C and Fortran applications– Object Model: COM* based class library– ActiveX* Controls: Re-usable UI components– Pluggable UI– Pluggable File Format support

• Array Viewer is available as a free download• Other components (for application development)

included with Intel® Fortran and Intel® C++ (v9.0)

Page 3: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 3Intel Compiler Lab –

Array Viewer

Page 4: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 4Intel Compiler Lab –

Array Viewer - Features

• Data visualization program for viewing HDF4, HDF5, and NetCDF files – Also supports XML, FITS, WAVE, PLY, BMP, GIF,

JPG, PNG– Incremental Load/Save (for HDF4, HDF5)

• Browser-like interface• Internet Explorer plug-in• Macro support, UI templates• Data Grid for displaying Datasets, Attributes

Page 5: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 5Intel Compiler Lab –

Array Viewer as an IE Plug-in

Page 6: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 6Intel Compiler Lab –

Array Viewer – Tree Pane

• Groups, Datasets, Attributes, and Links displayed as icons in a tree control

• Clicking on icon displays object in right pane• Graphs and Pages also displayed in the tree

– Graph: a collection of plots, axes, and captions– Page: HTML/script code

• Copy/Paste, Drag&Drop supported

Page 7: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 7Intel Compiler Lab –

Viewer Visualization Features

• Variety of 2D/3D plot types: Image, XY, Contour, Heightmap, Vector, Log plots

Page 8: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 8Intel Compiler Lab –

Viewer Visualization Features - Cont

• Images can be indexed or True Color• Color mapping functionality based on HDF5

Image and Palette Specification• Multiple Images can be composited

Page 9: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 9Intel Compiler Lab –

Viewer Visualization Features - Cont

• Wizards provided for the creation of new plots

Page 10: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 10Intel Compiler Lab –

Viewer Visualization Features - Cont

• Property pages enable plot appearance to be modified

Page 11: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 11Intel Compiler Lab –

Viewer Visualization Features - Cont

• Graphs are collections of plots, axes, and captions

• Data for plots or axes is referenced as a path to a dataset

• Paths can contain suffix to indicate section and/or sub-type

Page 12: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 12Intel Compiler Lab –

Viewer – Page Objects

• Page objects are HTML code that can contain:– Standard HTML elements– Graph and grid objects– UI elements (buttons, text entry, checkboxes, etc)– Script code for dynamic behavior

• Used to:– Group related datasets, graphs, explanatory text in

one view– Created interactive views

• Page data is saved to the file along with other elements (in HDF4/HDF5 as a group attribute)

Page 13: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 13Intel Compiler Lab –

Viewer – Page Example 1

Page 14: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 14Intel Compiler Lab –

Viewer – Page Example 2

Page 15: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 15Intel Compiler Lab –

Library Routines

• Provides means for C/Fortran programs to read and write data to a file (HDF4, HDF5, or XML)– Program model is the same regardless of file format

• Only avOpen, avSave calls access files directly• Other File I/O is implicit• For HDF4, HDF5 files:

– Datasets, Groups loaded from file as they are accessed – avSave writes modified objects back to file

• For XML files:– All objects are loaded on avOpen– avSave rewrites the entire file – Loops are replaced by links

Page 16: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 16Intel Compiler Lab –

Library Routines - Cont

• File read example in C:

Page 17: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 17Intel Compiler Lab –

Library Routines - Cont

• File save example in Fortran:

Page 18: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 18Intel Compiler Lab –

Library Routines - Cont

• avNewViewer function can be used to invoke the Array Viewer

• Viewer example in Fortran:

Page 19: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 19Intel Compiler Lab –

Object Model

• COM based class library • 40+ classes representing datasets, dataspaces,

types, groups, links, graphs, plots, etc.• Provides more fine-grained control than

C/Fortran lib (but not direct file access)• Organized in hierarchy:

– Class properties link to sub-objects• Example: mydataset.Dataspace

– Collection classes contain an arbitrary number of objects of a given type

• Example: mygroup.Groups[“mysubgroup”]

Page 20: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 20Intel Compiler Lab –

Object Model Diagram

Page 21: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 21Intel Compiler Lab –

Object Model – Language Support

• C++, Fortran: – best performance – somewhat tedious to program

• .Net* languages (C#, VB.Net): – not as efficient as C++/Fortran, better than script – easy to program (+ Intellisense*)

• Script (JavaScript*, VBScript*)– not very efficient (but often good enough) – easy to program – no debugger – can use code in Page objects, Macros

Page 22: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 22Intel Compiler Lab –

List Datasets Example – C++

Page 23: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 23Intel Compiler Lab –

List Datasets Example – C#

Page 24: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 24Intel Compiler Lab –

List Datasets Example – JavaScript

Page 25: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 25Intel Compiler Lab –

Read Element ExampleJavaScript

Page 26: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 26Intel Compiler Lab –

Reading Compound Elements

• For datasets of compound types ReadElement() returns an object

• Properties of the object are the fields of the type• Fields that have an extent > 1 become indexed

properties• Fields that are themselves compound types

become sub-objects of the returned object

Page 27: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 27Intel Compiler Lab –

Compound Elements ExampleJavaScript

Page 28: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 28Intel Compiler Lab –

ActiveX Controls

• User Interface components that can be used to create GUI applications

• Controls supported in Visual C++*, Visual Basic*, Compaq Visual Fortran*

• Graph, Grid, Tree controls supply most of the functionality in Array Viewer

• Each control has a limited number of properties– Most state is accessed through object model

• Events signal changes of state

Page 29: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 29Intel Compiler Lab –

ActiveX* Control Example

Page 30: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 30Intel Compiler Lab –

File Loaders

• Each file format supported by Array Visualizer is implemented by a separate file loader component

• File loaders run in their own address space• Additional file formats can be supported by

registering a new file loader on the system• No source changes, re-linking required for

applications• New file loaders can be created by AV users

Must be written in C++ (VS.Net Wizard provided)

Page 31: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 31Intel Compiler Lab –

Getting the Software

• Free Viewer download – available soon

• Development version– http://www.intel.com/software/products– Order or download Intel Fortran for Windows v8.1– Free evaluation available

• Post questions or comments on Fortran forum– http://softwareforums.intel.com/ids/board?board.id=5

• Let us know what features you’d like to see in future versions

Page 32: ® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey john.readey@intel.com

R

®

Page 32Intel Compiler Lab –

Legal Addendum

• * Other names and brands may be claimed as the property of others

• Copyright Intel© Corporation 2004