Robert Maynard Kitware, Inc. Kenneth Moreland Sandia National Laboratories

Size: px
Start display at page:

Download "Robert Maynard Kitware, Inc. Kenneth Moreland Sandia National Laboratories"

Transcription

1 Robert Maynard Kitware, Inc. Kenneth Moreland Sandia National Laboratories

2 Data Analysis at Extreme Data Analysis and Visualization library Multi- and Many-core processor support Allows users to create visualization algorithms

3 So What Can It Do? Threshold Tetrahedralize Cut Marching Cubes Slice And many more

4 How Can It Do All That? 1. Device Adapter 2. Worklet 3. Scheduler 4. Array Handle

5 Device Adapter

6 Device Adapter Allows Dax Worklets to be executed on any backend: CUDA TBB OpenMP Serial CPU Users can add new Device Adapters.

7 Device Adapter Transfer Control Environment Transfer Execu0on Environment Schedule worklet Schedule worklet worklet worklet worklet worklet worklet worklet worklet Scan Sort Compute Compute Other Support Algorithms Stream Compact, Copy, Parallel Find, Unique

8 Worklet

9 struct Sine: public dax::exec::workletmapfield { typedef void ControlSignature(Field(In), Field(Out)); typedef _2 ExecutionSignature(_1); DAX_EXEC_EXPORT dax::scalar operator()(dax::scalar v) const { return dax::math::sin(v); } };

10 Scheduler and Array Handle

11 struct Sine: public dax::exec::workletmapfield { typedef void ControlSignature(Field(In), Field(Out)); typedef _2 ExecutionSignature(_1); DAX_EXEC_EXPORT dax::scalar operator()(dax::scalar v) const { return dax::math::sin(v); } }; Control Environment Execution Environment dax::cont::arrayhandle<dax::scalar> inputhandle = dax::cont::make_arrayhandle(input); dax::cont::arrayhandle<dax::scalar> result; dax::cont::scheduler<> scheduler; scheduler.invoke(sine(), inputhandle, result);

12 Sign Me Up! Code available from these git repositories

13 Prerequisites Git CMake (2.8.8 or newer) Boost ( headers only) Optionally: CUDA Toolkit 4+ (for CUDA Device Adapter) Thrust ( for CUDA and OpenMP Device Adapter) Intel TBB ( for TBB Device Adapter)

14 Let s Get Dax git clone mkdir daxbuild cd daxbuild ccmake../daxtoolkit //build tests make ctest

15 Let s Make Something

16 Determine the task size Worklets operate on fields, cells, or points Think about decomposing the problem into multiple worklets

17 Our task Surface Normals of a Triangle Mesh

18 struct Normals: public dax::exec::workletmapcell { typedef void ControlSignature(Topology, Field(In,Point), Field(Out)); typedef _3 ExecutionSignature(_2); DAX_EXEC_EXPORT dax::vector3 operator()(const dax::cellfield< dax::celltagtriangle, dax::vector3 >& coordinates) const { const dax::vector3 a = coordinates[1] coordinates[0]; const dax::vector3 b = coordinates[2] coordinates[0]; const dax::vector3 c = dax::math::cross(a,b); return dax::math::normalize(c); } };

19 struct Normals: public dax::exec::workletmapcell { typedef void ControlSignature(Topology, Field(In,Point), Field(Out)); typedef _3 ExecutionSignature(_2); DAX_EXEC_EXPORT dax::vector3 operator()(const dax::cellfield< dax::celltagtriangle, dax::vector3 >& coordinates) const { const dax::vector3 a = coordinates[1] coordinates[0]; const dax::vector3 b = coordinates[2] coordinates[0]; const dax::vector3 c = dax::math::cross(a,b); return dax::math::normalize(c); } };

20 struct Normals: public dax::exec::workletmapcell { typedef void ControlSignature(Topology, Field(In,Point), Field(Out)); typedef _3 ExecutionSignature(_2); DAX_EXEC_EXPORT dax::vector3 operator()(const dax::cellfield< dax::celltagtriangle, dax::vector3 >& coordinates) const { const dax::vector3 a = coordinates[1] coordinates[0]; const dax::vector3 b = coordinates[2] coordinates[0]; const dax::vector3 c = dax::math::cross(a,b); return dax::math::normalize(c); } };

21 struct Normals: public dax::exec::workletmapcell { typedef void ControlSignature(Topology, Field(In,Point), Field(Out)); typedef _3 ExecutionSignature(_2); DAX_EXEC_EXPORT dax::vector3 operator()(const dax::cellfield< dax::celltagtriangle, dax::vector3 >& coordinates) const { const dax::vector3 a = coordinates[1] coordinates[0]; const dax::vector3 b = coordinates[2] coordinates[0]; const dax::vector3 c = dax::math::cross(a,b); return dax::math::normalize(c); } };

22 Let s Run The Worklet

23 struct Normals: public dax::exec::workletmapcell { typedef void ControlSignature(Topology,Field(In,Point),Field(Out)); typedef _3 ExecutionSignature(_2); DAX_EXEC_EXPORT dax::vector3 operator()(const dax::cellfield<dax::celltagtriangle,dax::vector3>& coordinates) const { const dax::vector3 a = coordinates[1] coordinates[0]; Execution Environment Control Environment dax::cont::unstructuredgrid<dax::celltagtriangle> grid; dax::cont::arrayhandle<dax::vector3> normals_result; dax::cont::scheduler<> scheduler; scheduler.invoke(normals(), grid, normals_result);

24 What About Performance?

25 Example: Threshold Implemented as two worklets. First worklet determines which cells will pass Second worklet generates new topology and resolves duplicate point IDs.

26

27 Now Without Point Resolution

28

29

30 Acknowledgements This work was supported by the DOE Office of Science, Advanced Scientific Computing Research, under award number , program manager Lucy Nowell. Additional support by the Director, Office of Advanced Scientific Computing Research, Office of Science, of the U.S. Department of Energy under Contract No , through the Scientific Discovery through Advanced Computing (SciDAC) Institute of Scalable Data Management, Analysis and Visualization.

Dax: A Massively Threaded Visualiza5on and Analysis Toolkit for Extreme Scale

Dax: A Massively Threaded Visualiza5on and Analysis Toolkit for Extreme Scale Dax: A Massively Threaded Visualiza5on and Analysis Toolkit for Extreme Scale GPU Technology Conference March 26, 2014 Kenneth Moreland Sandia Na5onal Laboratories Robert Maynard Kitware, Inc. Sandia National

More information

VTK-m: Uniting GPU Acceleration Successes. Robert Maynard Kitware Inc.

VTK-m: Uniting GPU Acceleration Successes. Robert Maynard Kitware Inc. VTK-m: Uniting GPU Acceleration Successes Robert Maynard Kitware Inc. VTK-m Project Supercomputer Hardware Advances Everyday More and more parallelism High-Level Parallelism The Free Lunch Is Over (Herb

More information

In-Situ Data Analysis and Visualization: ParaView, Calalyst and VTK-m

In-Situ Data Analysis and Visualization: ParaView, Calalyst and VTK-m In-Situ Data Analysis and Visualization: ParaView, Calalyst and VTK-m GTC, San Jose, CA March, 2015 Robert Maynard Marcus D. Hanwell 1 Agenda Introduction to ParaView Catalyst Run example Catalyst Script

More information

Chris Sewell Li-Ta Lo James Ahrens Los Alamos National Laboratory

Chris Sewell Li-Ta Lo James Ahrens Los Alamos National Laboratory Portability and Performance for Visualization and Analysis Operators Using the Data-Parallel PISTON Framework Chris Sewell Li-Ta Lo James Ahrens Los Alamos National Laboratory Outline! Motivation Portability

More information

Oh, Exascale! The effect of emerging architectures on scien1fic discovery. Kenneth Moreland, Sandia Na1onal Laboratories

Oh, Exascale! The effect of emerging architectures on scien1fic discovery. Kenneth Moreland, Sandia Na1onal Laboratories Photos placed in horizontal posi1on with even amount of white space between photos and header Oh, $#*@! Exascale! The effect of emerging architectures on scien1fic discovery Ultrascale Visualiza1on Workshop,

More information

LA-UR Approved for public release; distribution is unlimited.

LA-UR Approved for public release; distribution is unlimited. LA-UR-15-27730 Approved for public release; distribution is unlimited. Title: Author(s): Intended for: Summer 2015 LANL Exit Talk Usher, Will Canada, Curtis Vincent Web Issued: 2015-10-05 Disclaimer: Los

More information

A Classifica*on of Scien*fic Visualiza*on Algorithms for Massive Threading Kenneth Moreland Berk Geveci Kwan- Liu Ma Robert Maynard

A Classifica*on of Scien*fic Visualiza*on Algorithms for Massive Threading Kenneth Moreland Berk Geveci Kwan- Liu Ma Robert Maynard A Classifica*on of Scien*fic Visualiza*on Algorithms for Massive Threading Kenneth Moreland Berk Geveci Kwan- Liu Ma Robert Maynard Sandia Na*onal Laboratories Kitware, Inc. University of California at Davis

More information

ParCube. W. Randolph Franklin and Salles V. G. de Magalhães, Rensselaer Polytechnic Institute

ParCube. W. Randolph Franklin and Salles V. G. de Magalhães, Rensselaer Polytechnic Institute ParCube W. Randolph Franklin and Salles V. G. de Magalhães, Rensselaer Polytechnic Institute 2017-11-07 Which pairs intersect? Abstract Parallelization of a 3d application (intersection detection). Good

More information

Christopher Sewell Katrin Heitmann Li-ta Lo Salman Habib James Ahrens

Christopher Sewell Katrin Heitmann Li-ta Lo Salman Habib James Ahrens LA-UR- 14-25437 Approved for public release; distribution is unlimited. Title: Portable Parallel Halo and Center Finders for HACC Author(s): Christopher Sewell Katrin Heitmann Li-ta Lo Salman Habib James

More information

The Cut and Thrust of CUDA

The Cut and Thrust of CUDA The Cut and Thrust of CUDA Luke Hodkinson Center for Astrophysics and Supercomputing Swinburne University of Technology Melbourne, Hawthorn 32000, Australia May 16, 2013 Luke Hodkinson The Cut and Thrust

More information

Data Parallel Programming with Patterns. Peng Wang, Developer Technology, NVIDIA

Data Parallel Programming with Patterns. Peng Wang, Developer Technology, NVIDIA Data Parallel Programming with Patterns Peng Wang, Developer Technology, NVIDIA Overview Patterns in Data Parallel Programming Examples Radix sort Cell list calculation in molecular dynamics MPI communication

More information

Machine Learning Software ROOT/TMVA

Machine Learning Software ROOT/TMVA Machine Learning Software ROOT/TMVA LIP Data Science School / 12-14 March 2018 ROOT ROOT is a software toolkit which provides building blocks for: Data processing Data analysis Data visualisation Data

More information

Thomas Rodgers DRW Trading Group

Thomas Rodgers DRW Trading Group Thomas Rodgers DRW Trading Group trodgers@drw.com Objectives Improve understanding of performance trade-offs inherent in modern hardware architectures How those tradeoffs impact data structure choices

More information

EXPOSING PARTICLE PARALLELISM IN THE XGC PIC CODE BY EXPLOITING GPU MEMORY HIERARCHY. Stephen Abbott, March

EXPOSING PARTICLE PARALLELISM IN THE XGC PIC CODE BY EXPLOITING GPU MEMORY HIERARCHY. Stephen Abbott, March EXPOSING PARTICLE PARALLELISM IN THE XGC PIC CODE BY EXPLOITING GPU MEMORY HIERARCHY Stephen Abbott, March 26 2018 ACKNOWLEDGEMENTS Collaborators: Oak Ridge Nation Laboratory- Ed D Azevedo NVIDIA - Peng

More information

Thrust ++ : Portable, Abstract Library for Medical Imaging Applications

Thrust ++ : Portable, Abstract Library for Medical Imaging Applications Siemens Corporate Technology March, 2015 Thrust ++ : Portable, Abstract Library for Medical Imaging Applications Siemens AG 2015. All rights reserved Agenda Parallel Computing Challenges and Solutions

More information

Indirect Volume Rendering

Indirect Volume Rendering Indirect Volume Rendering Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Contour tracing Marching cubes Marching tetrahedra Optimization octree-based range query Weiskopf/Machiraju/Möller

More information

Unstructured Finite Volume Code on a Cluster with Mul6ple GPUs per Node

Unstructured Finite Volume Code on a Cluster with Mul6ple GPUs per Node Unstructured Finite Volume Code on a Cluster with Mul6ple GPUs per Node Keith Obenschain & Andrew Corrigan Laboratory for Computa;onal Physics and Fluid Dynamics Naval Research Laboratory Washington DC,

More information

905 Eagle Heights, Apt D Phone : Madison-WI Web : pages.cs.wisc.edu/~csverma

905 Eagle Heights, Apt D Phone : Madison-WI Web : pages.cs.wisc.edu/~csverma Chaman Singh Verma 905 Eagle Heights, Apt D Phone : 608-698-4729 E-mail : cverma2@wisc.edu Madison-WI 53705 Web : pages.cs.wisc.edu/~csverma Education: PhD in Computer Science (2011-Expecting July 2016)

More information

Guillimin HPC Users Meeting January 13, 2017

Guillimin HPC Users Meeting January 13, 2017 Guillimin HPC Users Meeting January 13, 2017 guillimin@calculquebec.ca McGill University / Calcul Québec / Compute Canada Montréal, QC Canada Please be kind to your fellow user meeting attendees Limit

More information

Introduction to Visualization on Stampede

Introduction to Visualization on Stampede Introduction to Visualization on Stampede Aaron Birkland Cornell CAC With contributions from TACC visualization training materials Parallel Computing on Stampede June 11, 2013 From data to Insight Data

More information

walberla: Developing a Massively Parallel HPC Framework

walberla: Developing a Massively Parallel HPC Framework walberla: Developing a Massively Parallel HPC Framework SIAM CS&E 2013, Boston February 26, 2013 Florian Schornbaum*, Christian Godenschwager*, Martin Bauer*, Matthias Markl, Ulrich Rüde* *Chair for System

More information

Insight VisREU Site. Agenda. Introduction to Scientific Visualization Using 6/16/2015. The purpose of visualization is insight, not pictures.

Insight VisREU Site. Agenda. Introduction to Scientific Visualization Using 6/16/2015. The purpose of visualization is insight, not pictures. 2015 VisREU Site Introduction to Scientific Visualization Using Vetria L. Byrd, Director Advanced Visualization VisREU Site Coordinator REU Site Sponsored by NSF ACI Award 1359223 Introduction to SciVis(High

More information

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

CS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren

CS32 Discussion Sec.on 1B Week 2. TA: Zhou Ren CS32 Discussion Sec.on 1B Week 2 TA: Zhou Ren Agenda Copy Constructor Assignment Operator Overloading Linked Lists Copy Constructors - Motivation class School { public: }; School(const string &name); string

More information

LAPLACIAN MESH SMOOTHING FOR TETRAHEDRA BASED VOLUME VISUALIZATION 1. INTRODUCTION

LAPLACIAN MESH SMOOTHING FOR TETRAHEDRA BASED VOLUME VISUALIZATION 1. INTRODUCTION JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol.4/2002, ISSN 642-6037 Rafał STĘGIERSKI *, Paweł MIKOŁAJCZAK * volume data,triangle mesh generation, mesh smoothing, marching tetrahedra LAPLACIAN MESH

More information

CS 5630/6630 Scientific Visualization. Volume Rendering III: Unstructured Grid Techniques

CS 5630/6630 Scientific Visualization. Volume Rendering III: Unstructured Grid Techniques CS 5630/6630 Scientific Visualization Volume Rendering III: Unstructured Grid Techniques Unstructured Grids Image-space techniques Ray-Casting Object-space techniques Projected Tetrahedra Hybrid Incremental

More information

ECP Alpine: Algorithms and Infrastructure for In Situ Visualization and Analysis

ECP Alpine: Algorithms and Infrastructure for In Situ Visualization and Analysis ECP Alpine: Algorithms and Infrastructure for In Situ Visualization and Analysis Presented By: Matt Larsen LLNL-PRES-731545 This work was performed under the auspices of the U.S. Department of Energy by

More information

Practical Statistics for Particle Physics Analyses: Introduction to Computing Examples

Practical Statistics for Particle Physics Analyses: Introduction to Computing Examples Practical Statistics for Particle Physics Analyses: Introduction to Computing Examples Louis Lyons (Imperial College), Lorenzo Moneta (CERN) IPMU, 27-29 March 2017 Introduction Hands-on session based on

More information

Diagnosing Network Connectivity Problems

Diagnosing Network Connectivity Problems CHAPTER 6 Diagnosing Network Connectivity Problems A common network problem is loss of IP connectivity. This scenario takes you through one example, guiding you through each action and interpreting specific

More information

From Notebooks to Supercomputers: Tap the Full Potential of Your CUDA Resources with LibGeoDecomp

From Notebooks to Supercomputers: Tap the Full Potential of Your CUDA Resources with LibGeoDecomp From Notebooks to Supercomputers: Tap the Full Potential of Your CUDA Resources with andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg GPU Technology Conference 2013, San José,

More information

ECE 2400 Computer Systems Programming, Fall 2018 PA2: List and Vector Data Structures

ECE 2400 Computer Systems Programming, Fall 2018 PA2: List and Vector Data Structures School of Electrical and Computer Engineering Cornell University revision: 2018-09-25-13-37 1. Introduction The second programming assignment is designed to give you experience working with two important

More information

Computational Graphics: Lecture 15 SpMSpM and SpMV, or, who cares about complexity when we have a thousand processors?

Computational Graphics: Lecture 15 SpMSpM and SpMV, or, who cares about complexity when we have a thousand processors? Computational Graphics: Lecture 15 SpMSpM and SpMV, or, who cares about complexity when we have a thousand processors? The CVDLab Team Francesco Furiani Tue, April 3, 2014 ROMA TRE UNIVERSITÀ DEGLI STUDI

More information

manifold Documentation

manifold Documentation manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2

More information

OpenMP Example. $ ssh # You might have to type yes if this is the first time you log on

OpenMP Example. $ ssh # You might have to type yes if this is the first time you log on OpenMP Example Day 1, afternoon session 1: We examine a serial and parallel implementation of a code solving an N-body problem with a star, a planet and many small particles near the planet s radius. The

More information

Understanding Dynamic Parallelism

Understanding Dynamic Parallelism Understanding Dynamic Parallelism Know your code and know yourself Presenter: Mark O Connor, VP Product Management Agenda Introduction and Background Fixing a Dynamic Parallelism Bug Understanding Dynamic

More information

Visualization with ParaView

Visualization with ParaView Visualization with Before we begin Make sure you have 3.10.1 installed so you can follow along in the lab section http://paraview.org/paraview/resources/software.html http://www.paraview.org/ Background

More information

Introduction to scientific visualization with ParaView

Introduction to scientific visualization with ParaView Introduction to scientific visualization with ParaView Tijs de Kler SURFsara Visualization group Tijs.dekler@surfsara.nl (some slides courtesy of Robert Belleman, UvA) Outline Pipeline and data model (10

More information

Parallel Processing with the SMP Framework in VTK. Berk Geveci Kitware, Inc.

Parallel Processing with the SMP Framework in VTK. Berk Geveci Kitware, Inc. Parallel Processing with the SMP Framework in VTK Berk Geveci Kitware, Inc. November 3, 2013 Introduction The main objective of the SMP (symmetric multiprocessing) framework is to provide an infrastructure

More information

A GPU-Accelerated Node Based Framework for Hair Simulation and Rendering

A GPU-Accelerated Node Based Framework for Hair Simulation and Rendering A GPU-Accelerated Node Based Framework for Hair Simulation and Rendering Francesco Giordana Sarah Macdonald Gianluca Vatinno Double Negative VFX double negative visual effects Hair Creatures: Digi-doubles

More information

Large Scale Visualization on the Cray XT3 Using ParaView

Large Scale Visualization on the Cray XT3 Using ParaView Large Scale Visualization on the Cray XT3 Using ParaView Cray User s Group 2008 May 8, 2008 Kenneth Moreland David Rogers John Greenfield Sandia National Laboratories Alexander Neundorf Technical University

More information

Portability and Scalability of Sparse Tensor Decompositions on CPU/MIC/GPU Architectures

Portability and Scalability of Sparse Tensor Decompositions on CPU/MIC/GPU Architectures Photos placed in horizontal position with even amount of white space between photos and header Portability and Scalability of Sparse Tensor Decompositions on CPU/MIC/GPU Architectures Christopher Forster,

More information

SkePU 2 User Guide For the preview release

SkePU 2 User Guide For the preview release SkePU 2 User Guide For the preview release August Ernstsson October 20, 2016 Contents 1 Introduction 3 2 License 3 3 Authors and Maintainers 3 3.1 Acknowledgements............................... 3 4 Dependencies

More information

ECP VTK-m: Updating HPC Visualization Software for Exascale-Era Processors

ECP VTK-m: Updating HPC Visualization Software for Exascale-Era Processors ECP VTK-m: Updating HPC Visualization Software for Exascale-Era Processors Kenneth Moreland Sandia National Laboratories kmorel@sandia.gov David Pugmire Oak Ridge National Laboratory pugmire@ornl.gov Christopher

More information

Scientific Visualization Example exam questions with commented answers

Scientific Visualization Example exam questions with commented answers Scientific Visualization Example exam questions with commented answers The theoretical part of this course is evaluated by means of a multiple- choice exam. The questions cover the material mentioned during

More information

Using a Robust Metadata Management System to Accelerate Scientific Discovery at Extreme Scales

Using a Robust Metadata Management System to Accelerate Scientific Discovery at Extreme Scales Using a Robust Metadata Management System to Accelerate Scientific Discovery at Extreme Scales Margaret Lawson, Jay Lofstead Sandia National Laboratories is a multimission laboratory managed and operated

More information

CSE 333 Midterm Exam 5/10/13

CSE 333 Midterm Exam 5/10/13 Name There are 5 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed

More information

Accelerator programming with OpenACC

Accelerator programming with OpenACC ..... Accelerator programming with OpenACC Colaboratorio Nacional de Computación Avanzada Jorge Castro jcastro@cenat.ac.cr 2018. Agenda 1 Introduction 2 OpenACC life cycle 3 Hands on session Profiling

More information

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Moysey Brio & Paul Dostert July 4, 2009 1 / 18 Sparse Matrices In many areas of applied mathematics and modeling, one

More information

Tutorial: GNU Radio Companion

Tutorial: GNU Radio Companion Tutorials» Guided Tutorials» Previous: Introduction Next: Programming GNU Radio in Python Tutorial: GNU Radio Companion Objectives Create flowgraphs using the standard block libraries Learn how to debug

More information

Scalar Algorithms: Contouring

Scalar Algorithms: Contouring Scalar Algorithms: Contouring Computer Animation and Visualisation Lecture tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour School of Informatics Contouring Scaler Data Last Lecture...

More information

Thrust. CUDA Course July István Reguly

Thrust. CUDA Course July István Reguly Thrust CUDA Course July 21-25 István Reguly Thrust Open High- Level Parallel Algorithms Library Parallel Analog of the C++ Standard Template Library (STL) Vector containers Algorithms Comes with the toolkit

More information

Performance-Portable Many Core Plasma Simulations: Porting PIConGPU to OpenPower and Beyond

Performance-Portable Many Core Plasma Simulations: Porting PIConGPU to OpenPower and Beyond Performance-Portable Many Core Plasma Simulations: Porting PIConGPU to OpenPower and Beyond Erik Zenker1,2, René Widera1, Axel Huebl1,2, Guido Juckeland1, Andreas Knüpfer2, Wolfgang E. Nagel2, Michael

More information

ECE 2400 Computer Systems Programming, Fall 2017 Programming Assignment 2: List and Vector Data Structures

ECE 2400 Computer Systems Programming, Fall 2017 Programming Assignment 2: List and Vector Data Structures ECE 2400 Computer Systems Programming, Fall 2017 Programming Assignment 2: List and Vector Data Structures School of Electrical and Computer Engineering Cornell University revision: 2017-10-01-16-30 1.

More information

OpenMP and GPU Programming

OpenMP and GPU Programming OpenMP and GPU Programming GPU Intro Emanuele Ruffaldi https://github.com/eruffaldi/course_openmpgpu PERCeptual RObotics Laboratory, TeCIP Scuola Superiore Sant Anna Pisa,Italy e.ruffaldi@sssup.it April

More information

CSE 333 Midterm Exam Sample Solution 5/10/13

CSE 333 Midterm Exam Sample Solution 5/10/13 Question 1. (18 points) Consider these two C files: a.c void f(int p); int main() { f(17); return 0; b.c void f(char *p) { *p = 'x'; (a) Why is the program made from a.c and b.c incorrect? What would you

More information

A General Discussion on! Parallelism!

A General Discussion on! Parallelism! Lecture 2! A General Discussion on! Parallelism! John Cavazos! Dept of Computer & Information Sciences! University of Delaware!! www.cis.udel.edu/~cavazos/cisc879! Lecture 2: Overview Flynn s Taxonomy

More information

From Biological Cells to Populations of Individuals: Complex Systems Simulations with CUDA (S5133)

From Biological Cells to Populations of Individuals: Complex Systems Simulations with CUDA (S5133) From Biological Cells to Populations of Individuals: Complex Systems Simulations with CUDA (S5133) Dr Paul Richmond Research Fellow University of Sheffield (NVIDIA CUDA Research Centre) Overview Complex

More information

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 What is it? Method for rendering a scene using the concept of optical rays bouncing off objects More realistic Reflections Shadows How

More information

Asura: A huge PCAP file analyzer for anomaly packets detection using massive multithreading

Asura: A huge PCAP file analyzer for anomaly packets detection using massive multithreading Asura: A huge PCAP file analyzer for anomaly packets detection using massive multithreading DEF CON 26, Aug 12 2018 Ruo Ando Center for Cybersecurity Research and Development National Institute of Informatics

More information

Technology for a better society. hetcomp.com

Technology for a better society. hetcomp.com Technology for a better society hetcomp.com 1 J. Seland, C. Dyken, T. R. Hagen, A. R. Brodtkorb, J. Hjelmervik,E Bjønnes GPU Computing USIT Course Week 16th November 2011 hetcomp.com 2 9:30 10:15 Introduction

More information

<Insert Picture Here> Managing Oracle Exadata Database Machine with Oracle Enterprise Manager 11g

<Insert Picture Here> Managing Oracle Exadata Database Machine with Oracle Enterprise Manager 11g Managing Oracle Exadata Database Machine with Oracle Enterprise Manager 11g Exadata Overview Oracle Exadata Database Machine Extreme ROI Platform Fast Predictable Performance Monitor

More information

Improving Uintah s Scalability Through the Use of Portable

Improving Uintah s Scalability Through the Use of Portable Improving Uintah s Scalability Through the Use of Portable Kokkos-Based Data Parallel Tasks John Holmen1, Alan Humphrey1, Daniel Sunderland2, Martin Berzins1 University of Utah1 Sandia National Laboratories2

More information

EMPRESS Extensible Metadata PRovider for Extreme-scale Scientific Simulations

EMPRESS Extensible Metadata PRovider for Extreme-scale Scientific Simulations EMPRESS Extensible Metadata PRovider for Extreme-scale Scientific Simulations Photos placed in horizontal position with even amount of white space between photos and header Margaret Lawson, Jay Lofstead,

More information

Crystal Reports 9 OLAP Reports

Crystal Reports 9 OLAP Reports OLAP Reports Overview Contents enables the Report Designer to set parameters on Slice and Page dimension members in an OLAP report. This feature enables you to select the slice or page of data they want

More information

HARNESSING IRREGULAR PARALLELISM: A CASE STUDY ON UNSTRUCTURED MESHES. Cliff Woolley, NVIDIA

HARNESSING IRREGULAR PARALLELISM: A CASE STUDY ON UNSTRUCTURED MESHES. Cliff Woolley, NVIDIA HARNESSING IRREGULAR PARALLELISM: A CASE STUDY ON UNSTRUCTURED MESHES Cliff Woolley, NVIDIA PREFACE This talk presents a case study of extracting parallelism in the UMT2013 benchmark for 3D unstructured-mesh

More information

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement: Iso-Contouring Advanced Issues Iso-surface cell search 1. Efficiently determining which cells to examine. 2. Using iso-contouring as a slicing mechanism 3. Iso-contouring in higher dimensions 4. Texturing

More information

Better Code: Concurrency Sean Parent Principal Scientist Adobe Systems Incorporated. All Rights Reserved.

Better Code: Concurrency Sean Parent Principal Scientist Adobe Systems Incorporated. All Rights Reserved. Better Code: Concurrency Sean Parent Principal Scientist Better Code! Regular Type! Goal: Implement Complete and Efficient Types! Algorithms! Goal: No Raw Loops! Data Structures! Goal: No Incidental Data

More information

Fundamental Algorithms and Advanced Data Representations

Fundamental Algorithms and Advanced Data Representations Fundamental Algorithms and Advanced Data Representations Anders Hast Outline Isosurfaces (Volume Data) Cuberille Contouring Marching Squares Linear Interpolation methods Marching Cubes Non Linear Interpolation

More information

A General Discussion on! Parallelism!

A General Discussion on! Parallelism! Lecture 2! A General Discussion on! Parallelism! John Cavazos! Dept of Computer & Information Sciences! University of Delaware! www.cis.udel.edu/~cavazos/cisc879! Lecture 2: Overview Flynn s Taxonomy of

More information

REPORT DOCUMENTATION PAGE

REPORT DOCUMENTATION PAGE REPORT DOCUMENTATION PAGE Form Approved OMB NO. 0704-0188 The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions,

More information

Getting Performance from OpenMP Programs on NUMA Architectures

Getting Performance from OpenMP Programs on NUMA Architectures Getting Performance from OpenMP Programs on NUMA Architectures Christian Terboven, RWTH Aachen University terboven@itc.rwth-aachen.de EU H2020 Centre of Excellence (CoE) 1 October 2015 31 March 2018 Grant

More information

CUDA Toolkit 5.0 Performance Report. January 2013

CUDA Toolkit 5.0 Performance Report. January 2013 CUDA Toolkit 5.0 Performance Report January 2013 CUDA Math Libraries High performance math routines for your applications: cufft Fast Fourier Transforms Library cublas Complete BLAS Library cusparse Sparse

More information

C Language, Token, Keywords, Constant, variable

C Language, Token, Keywords, Constant, variable C Language, Token, Keywords, Constant, variable A language written by Brian Kernighan and Dennis Ritchie. This was to be the language that UNIX was written in to become the first "portable" language. C

More information

Learning from Home Activity Booklet

Learning from Home Activity Booklet Year 2 Maths Geometry Properties of Shapes Learning from Home Activity Booklet Year 2 Programme of Study Statistics Statutory requirements Activity Sheet Page Number Notes Identify and describe the properties

More information

Lecture 6: Input Compaction and Further Studies

Lecture 6: Input Compaction and Further Studies PASI Summer School Advanced Algorithmic Techniques for GPUs Lecture 6: Input Compaction and Further Studies 1 Objective To learn the key techniques for compacting input data for reduced consumption of

More information

External Facelist Calculation with Data-Parallel Primitives

External Facelist Calculation with Data-Parallel Primitives Eurographics Symposium on Parallel Graphics and Visualization (2016) W. Bethel, E. Gobbetti (Editors) External Facelist Calculation with Data-Parallel Primitives Brenton Lessley 1, Roba Binyahib 1, Robert

More information

Introduction to scientific visualization with ParaView

Introduction to scientific visualization with ParaView Introduction to scientific visualization with ParaView Paul Melis SURFsara Visualization group paul.melis@surfsara.nl (some slides courtesy of Robert Belleman, UvA) Outline Introduction, pipeline and data

More information

Exadata Database Machine Administration Workshop

Exadata Database Machine Administration Workshop Exadata Database Machine Administration Workshop Training Calendar Date Training Time Location 11 March 2019 5 Days Bilginç IT Academy 15 April 2019 5 Days Bilginç IT Academy Training Details Training

More information

Shape of Things to Come: Next-Gen Physics Deep Dive

Shape of Things to Come: Next-Gen Physics Deep Dive Shape of Things to Come: Next-Gen Physics Deep Dive Jean Pierre Bordes NVIDIA Corporation Free PhysX on CUDA PhysX by NVIDIA since March 2008 PhysX on CUDA available: August 2008 GPU PhysX in Games Physical

More information

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

Topology Preserving Tetrahedral Decomposition of Trilinear Cell Topology Preserving Tetrahedral Decomposition of Trilinear Cell Bong-Soo Sohn Department of Computer Engineering, Kyungpook National University Daegu 702-701, South Korea bongbong@knu.ac.kr http://bh.knu.ac.kr/

More information

Gpufit Documentation. Release Gpufit

Gpufit Documentation. Release Gpufit Gpufit Documentation Release 1.1.0 Gpufit Aug 14, 2018 Contents 1 Introduction 1 1.1 How to cite Gpufit.......................................... 2 1.2 Hardware requirements.......................................

More information

What is visualization? Why is it important?

What is visualization? Why is it important? What is visualization? Why is it important? What does visualization do? What is the difference between scientific data and information data Visualization Pipeline Visualization Pipeline Overview Data acquisition

More information

Function call overhead benchmarks with MATLAB, Octave, Python, Cython and C

Function call overhead benchmarks with MATLAB, Octave, Python, Cython and C Function call overhead benchmarks with MATLAB, Octave, Python, Cython and C André Gaul September 23, 2018 arxiv:1202.2736v1 [cs.pl] 13 Feb 2012 1 Background In many applications a function has to be called

More information

custinger A Sparse Dynamic Graph and Matrix Data Structure Oded Green

custinger A Sparse Dynamic Graph and Matrix Data Structure Oded Green custinger A Sparse Dynamic Graph and Matrix Data Structure Oded Green Going to talk about 2 things A scalable and dynamic data structure for graph algorithms and linear algebra based problems A framework

More information

Distributed Newest Vertex Bisection

Distributed Newest Vertex Bisection Distributed Newest Vertex Bisection in Dune-ALUGrid Martin Alkämper and Robert Klöfkorn Dune User Meeting 2015 Algorithm Some Analysis Experiments Problem In Dune-ALUGrid (among others) we provide an adaptive,

More information

What Would Happen If I Did

What Would Happen If I Did What Would Happen If I Did In Hyperion Financial Management? Part 3 Jonathan Berry Rob Poirier Who are We? Jonathan Berry Founder / CEO Hyperion Solutions: HFM Development Team 1998 Oracle: Director of

More information

Tetrahedral Projection using Vertex Shaders

Tetrahedral Projection using Vertex Shaders Tetrahedral Projection using Vertex Shaders Brian Wylie Kenneth Moreland Lee Ann Fisk Patricia Crossno Sandia National Laboratories* Abstract Projective methods for volume rendering currently represent

More information

Visual Analysis of Lagrangian Particle Data from Combustion Simulations

Visual Analysis of Lagrangian Particle Data from Combustion Simulations Visual Analysis of Lagrangian Particle Data from Combustion Simulations Hongfeng Yu Sandia National Laboratories, CA Ultrascale Visualization Workshop, SC11 Nov 13 2011, Seattle, WA Joint work with Jishang

More information

PULP: Fast and Simple Complex Network Partitioning

PULP: Fast and Simple Complex Network Partitioning PULP: Fast and Simple Complex Network Partitioning George Slota #,* Kamesh Madduri # Siva Rajamanickam * # The Pennsylvania State University *Sandia National Laboratories Dagstuhl Seminar 14461 November

More information

VisIt Overview. VACET: Chief SW Engineer ASC: V&V Shape Char. Lead. Hank Childs. Supercomputing 2006 Tampa, Florida November 13, 2006

VisIt Overview. VACET: Chief SW Engineer ASC: V&V Shape Char. Lead. Hank Childs. Supercomputing 2006 Tampa, Florida November 13, 2006 VisIt Overview Hank Childs VACET: Chief SW Engineer ASC: V&V Shape Char. Lead Supercomputing 2006 Tampa, Florida November 13, 2006 27B element Rayleigh-Taylor Instability (MIRANDA, BG/L) This is UCRL-PRES-226373

More information

Version Control Systems (VCS)

Version Control Systems (VCS) Version Control Systems (VCS) Xianyi Zeng xzeng@utep.edu Department of Mathematical Sciences The University of Texas at El Paso. September 13, 2016. Version Control Systems Let s get the textbook! Online

More information

CUDA 6.0 Performance Report. April 2014

CUDA 6.0 Performance Report. April 2014 CUDA 6. Performance Report April 214 1 CUDA 6 Performance Report CUDART CUDA Runtime Library cufft Fast Fourier Transforms Library cublas Complete BLAS Library cusparse Sparse Matrix Library curand Random

More information

Introduction to Python and VTK

Introduction to Python and VTK Introduction to Python and VTK Scientific Visualization, HT 2013 Lecture 2 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University 2 About me PhD student in

More information

High-Order Finite-Element Earthquake Modeling on very Large Clusters of CPUs or GPUs

High-Order Finite-Element Earthquake Modeling on very Large Clusters of CPUs or GPUs High-Order Finite-Element Earthquake Modeling on very Large Clusters of CPUs or GPUs Gordon Erlebacher Department of Scientific Computing Sept. 28, 2012 with Dimitri Komatitsch (Pau,France) David Michea

More information

96Boards UART Adapter User Guide

96Boards UART Adapter User Guide 96Boards UART Adapter User Guide For versions v1.0 and v1.1 of the UART adapter board Introduction This is the user guide for the 96Boards UART adapter board. The board provides a USB to UART adapter to

More information

Christopher Sewell Li-ta Lo James Ahrens

Christopher Sewell Li-ta Lo James Ahrens LA-UR- 13-23809 Approved for public release; distribution is unlimited. Title: Portable Data-Parallel Visualization and Analysis in Distributed Memory Environments Author(s): Christopher Sewell Li-ta Lo

More information

Filtering, Sorting and Ranking

Filtering, Sorting and Ranking Filtering, Sorting and Ranking Content: THE PRINCIPLES FILTERING/RANKING/SORTING... 2 EXAMPLE... 3 Step 1: Simple Filtering... 3 Step 2: Sorting on a different dimension... 5 Step 3: Combining Ranking,

More information

Armide Documentation. Release Kyle Mayes

Armide Documentation. Release Kyle Mayes Armide Documentation Release 0.3.1 Kyle Mayes December 19, 2014 Contents 1 Introduction 1 1.1 Features.................................................. 1 1.2 License..................................................

More information

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Scalar Field Visualization. Some slices used by Prof. Mike Bailey Scalar Field Visualization Some slices used by Prof. Mike Bailey Scalar Fields The approximation of certain scalar function in space f(x,y,z). Most of time, they come in as some scalar values defined on

More information

CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm

CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm 1 CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm Objectives To enhance your experience with designing and implementing your own

More information