Parallelization Technology v 0.2 Parallel-Developers Discussion 6/29/11.

Slides:



Advertisements
Similar presentations
CSCI 4125 Programming for Performance Andrew Rau-Chaplin
Advertisements

OpenMP Optimization National Supercomputing Service Swiss National Supercomputing Center.
Unified Parallel C at LBNL/UCB Implementing a Global Address Space Language on the Cray X1 Christian Bell and Wei Chen.
Instruction-Level Parallel Processors {Objective: executing two or more instructions in parallel} 4.1 Evolution and overview of ILP-processors 4.2 Dependencies.
NewsFlash!! Earth Simulator no longer #1. In slightly less earthshaking news… Homework #1 due date postponed to 10/11.
Software and Services Group Optimization Notice Advancing HPC == advancing the business of software Rich Altmaier Director of Engineering Sept 1, 2011.
Languages for programming parallel machines The range of programming models for parallel machines is wider than that of today’s uniprocessors. This range.
Carnegie Mellon Lessons From Building Spiral The C Of My Dreams Franz Franchetti Carnegie Mellon University Lessons From Building Spiral The C Of My Dreams.
Taxanomy of parallel machines. Taxonomy of parallel machines Memory – Shared mem. – Distributed mem. Control – SIMD – MIMD.
Introductory Courses in High Performance Computing at Illinois David Padua.
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
Computer Architecture II 1 Computer architecture II Programming: POSIX Threads OpenMP.
CS 240A: Models of parallel programming: Machines, languages, and complexity measures.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Parallel/Concurrent Programming on the SGI Altix Conley Read January 25, 2007 UC Riverside, Department of Computer Science.
CISC 879 : Software Support for Multicore Architectures John Cavazos Dept of Computer & Information Sciences University of Delaware
Contemporary Languages in Parallel Computing Raymond Hummel.
ORIGINAL AUTHOR JAMES REINDERS, INTEL PRESENTED BY ADITYA AMBARDEKAR Overview for Intel Xeon Processors and Intel Xeon Phi coprocessors.
Project Proposal (Title + Abstract) Due Wednesday, September 4, 2013.
Hossein Bastan Isfahan University of Technology 1/23.
Shekoofeh Azizi Spring  CUDA is a parallel computing platform and programming model invented by NVIDIA  With CUDA, you can send C, C++ and Fortran.
Introduction to Parallel Processing 3.1 Basic concepts 3.2 Types and levels of parallelism 3.3 Classification of parallel architecture 3.4 Basic parallel.
SEC(R) 2008 Intel® Concurrent Collections for C++ - a model for parallel programming Nikolay Kurtov Software and Services.
Computer Architecture Parallel Processing
Virtualization Concept. Virtualization  Real: it exists, you can see it.  Transparent: it exists, you cannot see it  Virtual: it does not exist, you.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
High Performance Computation --- A Practical Introduction Chunlin Tian NAOC Beijing 2011.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Optimizing the trace transform Using OpenMP and CUDA Tim Besard
HPC Technology Track: Foundations of Computational Science Lecture 2 Dr. Greg Wettstein, Ph.D. Research Support Group Leader Division of Information Technology.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Compiler BE Panel IDC HPC User Forum April 2009 Don Kretsch Director, Sun Developer Tools Sun Microsystems.
Chapter 1 Introduction. Goal to learn about computers and programming to compile and run your first Java program to recognize compile-time and run-time.
This module created with support form NSF under grant # DUE Module developed Fall 2014 by Apan Qasem Parallel Computing Fundamentals Course TBD.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Profile Analysis with ParaProf Sameer Shende Performance Reseaerch Lab, University of Oregon
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
GPU Architecture and Programming
Specialized systems are  Inevitable  Already the norm  Practical.
1 The Portland Group, Inc. Brent Leback HPC User Forum, Broomfield, CO September 2009.
Experts in numerical algorithms and HPC services Compiler Requirements and Directions Rob Meyer September 10, 2009.
Parallelization of likelihood functions for data analysis Alfio Lazzaro CERN openlab Forum on Concurrent Programming Models and Frameworks.
Introduction to OpenMP Eric Aubanel Advanced Computational Research Laboratory Faculty of Computer Science, UNB Fredericton, New Brunswick.
1 "Workshop 31: Developing a Hands-on Undergraduate Parallel Programming Course with Pattern Programming SIGCSE The 44 th ACM Technical Symposium.
A compiler is a computer program that translate written code (source code) into another computer language Associated with high level languages A well.
CUDA Basics. Overview What is CUDA? Data Parallelism Host-Device model Thread execution Matrix-multiplication.
Holding slide prior to starting show. Applications WG Jonathan Giddy
Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems.
Experiences with Co-array Fortran on Hardware Shared Memory Platforms Yuri DotsenkoCristian Coarfa John Mellor-CrummeyDaniel Chavarria-Miranda Rice University,
Contemporary Languages in Parallel Computing Raymond Hummel.
John Demme Simha Sethumadhavan Columbia University.
CSci6702 Parallel Computing Andrew Rau-Chaplin
Single Node Optimization Computational Astrophysics.
Benchmarking and Applications. Purpose of Our Benchmarking Effort Reveal compiler (and run-time systems) weak points and lack of adequate automatic optimizations.
NCSA Strategic Retreat: System Software Trends Bill Gropp.
Martin Kruliš by Martin Kruliš (v1.1)1.
Parallel Programming Models
Intel Many Integrated Cores Architecture
Chapter 4: Multithreaded Programming
Programming Language Hierarchy, Phases of a Java Program
TAU integration with Score-P
Pattern Parallel Programming
课程名 编译原理 Compiling Techniques
Multi-core CPU Computing Straightforward with OpenMP
High Level Programming Languages
Template for IXPUG EMEA Ostrava, 2016
Shared Memory Programming
Programming with Shared Memory
Introduction to CUDA.
Presentation transcript:

Parallelization Technology v 0.2 Parallel-Developers Discussion 6/29/11

Origins Indebted to HPCWire article by Michael Wolfe /compilers_and_more_programming_at _exascale.html /compilers_and_more_programming_at _exascale.html

Parallelization Tech Instruction-level Thread level Process level Language level Design Patterns Numerical Libraries Virtualization

Instruction-level Vectorization: 3DNow!, SSE, AVX Instruction (VLIW / FMA) Pipelining Requires tuned libraries, assembly language, or tunable code Potential portability constraints Array Building Blocks

Libraries POSIX Threads (pthreads) OpenMP TBB MPI Hadoop

Language UPC / CoArray Fortran X10 / Chapel Cilk OpenCL / CUDA Haskell / F# Matlab / Mathematica Java / Go / Erlang / Scala

Functional-ish Languages Thread – functions parallelize well due to language assumptions as well as compiler Powerful type system and dimensional analysis (free at runtime due to compile- time checking) OCaml/ Functory Erlang Haskell Scala F#

Matlab / Mathematica Low barrier to entry Potentially significant overhead for environment Matlab: – Distributed Computing Toolkit on the Client, Distributed Computing Engine on the Worker – Can run independent workers or shared-workload – Matlab Compiler for stupid parallelization Mathematica – Native support, GridMathematica option – ParallelDo