Object - Oriented Programming Language

Slides:



Advertisements
Similar presentations
CSC 4181 Compiler Construction Code Generation & Optimization.
Advertisements

Code Optimization and Performance Chapter 5 CS 105 Tour of the Black Holes of Computing.
Chapter 15 Debugging. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display Debugging with High Level Languages.
The C ++ Language BY Shery khan. The C++ Language Bjarne Stroupstrup, the language’s creator C++ was designed to provide Simula’s facilities for program.
Computer Architecture Lecture 7 Compiler Considerations and Optimizations.
8. Code Generation. Generate executable code for a target machine that is a faithful representation of the semantics of the source code Depends not only.
U Albany SUNY PETE code Review Xingmin Luo 6/12/2003.
October 14-15, 2005Conformal Computing Geometry of Arrays: Mathematics of Arrays and  calculus Lenore R. Mullin Computer Science Department College.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Standard Grade Computing SYSTEM SOFTWARE CHAPTER 19.
College of Nanoscale Science and Engineering A uniform algebraically-based approach to computational physics and efficient programming James E. Raynolds.
Generative Programming. Automated Assembly Lines.
XYZ 11/16/2015 MIT Lincoln Laboratory AltiVec Extensions to the Portable Expression Template Engine (PETE)* Edward Rutledge HPEC September,
XYZ 11/21/2015 MIT Lincoln Laboratory Monolithic Compiler Experiments Using C++ Expression Templates* Lenore R. Mullin** Edward Rutledge Robert.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
CS/EE 217 GPU Architecture and Parallel Programming Midterm Review
U Albany SUNY 1 Outline Notes (not in presentation) Intro Overview of PETE (very high level) –What pete does. –Files – say what each file does Explain.
U Albany SUNY PETE code Review Xingmin Luo 6/12/2003.
Windows Programming Lecture 03. Pointers and Arrays.
University at Albany,SUNY lrm-1 lrm 6/28/2016 Levels of Processor/Memory Hierarchy Can be Modeled by Increasing Dimensionality of Data Array. –Additional.
C Programming Lecture 15 Two Dimensional Arrays. Two-Dimensional Arrays b The C language allows arrays of any type, including arrays of arrays. With two.
C LANGUAGE UNIT 3. UNIT 3 Arrays Arrays – The concept of array – Defining arrays – Initializing arrays.
A Parallel Communication Infrastructure for STAPL
The need for Programming Languages
Code Optimization.
Chapter 1 Introduction.
Lexical and Syntax Analysis
Language Translation Compilation vs. interpretation.
Introduction to Advanced Topics Chapter 1 Text Book: Advanced compiler Design implementation By Steven S Muchnick (Elsevier)
CMPS 5433 Programming Models
Compilers.
Chapter 1 Introduction.
Optimization Code Optimization ©SoftMoore Consulting.
Introduction What is a Database?.
Pointers and Arrays in C and Assembly Language
Array Array Array Dimension 3. One dinensional array
Compiler Construction
Engineering Innovation Center
Outline Notes (not in presentation)
Building the Support for Radar Processing Across Memory Hierarchies:
7 Arrays.
Compiler Back End Panel
Interconnect with Cache Coherency Manager
CS/EE 217 – GPU Architecture and Parallel Programming
Simulation of computer system
Monolithic Compiler Experiments Using C++ Expression Templates*
Compiler Back End Panel
Compiler Code Optimizations
Monolithic Compiler Experiments Using C++ Expression Templates*
Building the Support for Radar Processing Across Memory Hierarchies:
Building the Support for Radar Processing Across Memory Hierarchies:
Building the Support for Radar Processing Across Memory Hierarchies:
(HPEC-LB) Outline Notes
Lecture 1. Program Surgery
Building the Support for Radar Processing Across Memory Hierarchies:
Part 1 Q1 to Q5 of National 5 Prelim
Building the Support for Radar Processing Across Memory Hierarchies:
Building the Support for Radar Processing Across Memory Hierarchies:
Dr Tripty Singh Arrays.
Linear Search (Area Code Example)
Memory Efficient Radar Processing
<PETE> Shape Programmability
Shared Memory Accesses
Outline Notes (not in presentation)
Object - Oriented Programming Language
Object - Oriented Programming Language
Building the Support for Radar Processing Across Memory Hierarchies:
Consider Write a program that prompts a user to enter the number of students and then, their names and grades. The program will then outputs the average.
8.3 Vectors Copyright © 2008 Pearson Addison-Wesley. All rights reserved. 1.
Presentation transcript:

Object - Oriented Programming Language Programmability C++ Object - Oriented Programming Language

Expression Template Engine Mechanization <PETE> C + A B Portable Expression Template Engine

Generalized Array Indexing Reduction Semantics Psi - Calculus Generalized Array Indexing

Memory Mapping Loop Unrolling Processor Mapping

Compile Time Loop Translation Performance Efficient Loops Compile Time Loop Translation

Processor & Memory Mapping Σ I=0 processor 0 X processor 1 CACHE (T H ) -1 … < 12 11 10 > < 15 14 13 > < 15 14 13 > < 12 11 10 > < 0 0 1 > < 0 0 0 > < 0 0 0 > < 0 1 2 > < 1 2 3 > < 4 5 6 > X < 12 11 10 > < 15 14 13 > < 5 6 7 > < 2 3 4 > < 3 4 5 > < 6 7 8 > < 9 0 0 > < 0 0 0 > processor 1 Processor & Memory Mapping

Operations shift take rotate

Array.h template <class T = int> class Array { . . . template<class RHS> Array &operator=(const Expression<RHS> &rhs) for(long i=0; i<this->size; i++) d[i] = forEach(rhs, EvalLeaf1(i), OpCombine()); return *this; //equivalent to: a.d[i] = b.d[i]+c.d[i]+d.d[i] } private: T * d; vector <int> shape; long size;

Array.h integrates with <PETE> Psi-Calculus platform N – dimensional capability ( required for processor / memory mapping )

Array.h Results : Comparable to Hand Coded C