OpenMP 3.0 Feature: Error Detection Capability

Slides:



Advertisements
Similar presentations
Parallel Processing with OpenMP
Advertisements

1 Lecture 11 Interfaces and Exception Handling from Chapters 9 and 10.
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
OpenMP Andrew Williams References Chandra et al, Parallel Programming in OpenMP, Morgan Kaufmann Publishers 1999 OpenMP home:
OpenMP 3.0 Feature: Error Detection Capability Kang Su Gatlin Visual C++ Program Manager.
INTEL CONFIDENTIAL Confronting Race Conditions Introduction to Parallel Programming – Part 6.
© 2009 Mathew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
CS470/570 Lecture 5 Introduction to OpenMP Compute Pi example OpenMP directives and options.
Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.
C++ Code Analysis: an Open Architecture for the Verification of Coding Rules Paolo Tonella ITC-irst, Centro per la Ricerca Scientifica e Tecnologica
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
REVIEW On Friday we explored Client-Server Applications with Sockets. Servers must create a ServerSocket object on a specific Port #. They then can wait.
Exception Handling in JAVA. Introduction Exception is an abnormal condition that arises when executing a program. In the languages that do not support.
1 Software Construction and Evolution - CSSE 375 Exception Handling - Principles Steve Chenoweth, RHIT Above – Exception handling on the ENIAC. From
Hybrid MPI and OpenMP Parallel Programming
BIO Java 1 Exception Handling Aborting program not always a good idea – can’t lose messages – E-commerce: must ensure correct handling of private.
Uses some of the slides for chapters 7 and 9 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
(c) University of Washington10-1 CSC 143 Java Errors and Exceptions Reading: Ch. 15.
And other languages…. must remember to check return value OR, must pass label/exception handler to every function Caller Function return status Caller.
CHAPTER 18 C – C++ Section 1: Exceptions. Error Handling with Exceptions Forces you to defend yourself Separates error handling code from the source.
COMP7330/7336 Advanced Parallel and Distributed Computing OpenMP: Programming Model Dr. Xiao Qin Auburn University
OpenMP Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
The Object-Oriented Thought Process Chapter 03
Java Exceptions a quick review….
Jim Fawcett CSE687-OnLine – Object Oriented Design Summer 2017
CMSC202 Computer Science II for Majors Lecture 16 – Exceptions
Jim Fawcett CSE687 – Object Oriented Design Spring 2001
SHARED MEMORY PROGRAMMING WITH OpenMP
Handling Errors in Web Applications
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Chapter 5: Process Synchronization – Part 3
Chapter 1 Introduction to Computers, Programs, and Java
Google Web Toolkit Tutorial
Handling Exceptionally Sticky Problems
Mozilla Firefox Who is Mozilla? What is Firefox?
Why exception handling in C++?
Coding Defensively Coding Defensively
Computer Engg, IIT(BHU)
Interaction Styles.
Exploiting Parallelism
Pointers.
OpenMP Quiz B. Wilkinson January 22, 2016.
Designing with Java Exception Handling
Multi-core CPU Computing Straightforward with OpenMP
Exceptions Handling the unexpected
Exception Handling and Reading / Writing Files
Exception Handling In Text: Chapter 14.
Java Programming Arrays
CSCE 489- Problem Solving Programming Strategies Spring 2018
Exceptions 1 CMSC 202.
Allen D. Malony Computer & Information Science Department
Have your say ADD YOUR SURVEY WEB ADDRESS HERE
OpenMP Quiz.
Designing with Java Exception Handling
The Recursive Descent Algorithm
Ninth step for Learning C++ Programming
Tenth step for Learning C++ Programming
Exception and Event Handling
SWE 619 Last modified Fall 2007 Saket Kaushik, Paul Ammann
Handling Exceptionally Sticky Problems
Debugging and Handling Exceptions
Java Remote Method Invocation
you get to solve puzzles!
EECE.2160 ECE Application Programming
CMSC 202 Exceptions.
How do you do the following?
Exceptions.
CMSC 202 Lesson 20 Exceptions 1.

More C++ Concepts Exception Handling Templates.
Presentation transcript:

OpenMP 3.0 Feature: Error Detection Capability Kang Su Gatlin Visual C++ Program Manager

Why? OpenMP as it stands today is great for HPC OpenMP as it stands today is less appropriate for server side or enterprise applications There is simply no mechanism for error recovery – or even detection

Ideas We say “ideas” and not “proposals” Exception based Not even half-baked Exception based Call-back function based Error-code based

The Problem #pragma omp parallel // Code here #pragma omp barrier #pragma omp critical

Idea 1: An Exception Based Approach Define an OpenMP Exception Class: class OMPException {…}; Use try/catch around select constructs int foo() { try { #pragma omp parallel // Code here } catch (OMPException *e) {

Idea 1: Exception Based Approach Pros Seems easy to implement Extensible The exception can have info about what happened Cons Only C++, not supported in C Can have large perf degredation

Idea 2: Error Code Based Approach Add a new clause to directives This one sets an error code in a passed address of type OMPError when error occurs OMPError *ompErr = new OMPError; #pragma omp parallel for error(ompErr)

Idea 2: Error Code Based Approach Pros Also seems easy to implement Supports all languages Very general Cons Maybe violates the “even works as expected compiled serially” Code to handle error is added directly to computational portion of code

Idea 3: Callback-Based Approach Add a new clause to directives: #pragma omp parallel error_callback(error, flag) void error(int *flag) { // User code here }

Idea 3: Callback-Based Approach Pros Little performance impact if no error Code is kept away from site of the computation Cons Less extensible Not really clear if it really does anything useful, but I like callbacks

I W O M P