Advanced Compiler Design ( ) Fall Semester Project Proposal. Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017)
|
|
- Darlene Watts
- 6 years ago
- Views:
Transcription
1 Advanced Compiler Design ( ) Fall Semester 2017 Project Proposal Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017) The goal of the project is to implement, test, and evaluate an advanced compiler optimization, program analysis or language feature. 1 General Concerns You may choose to implement an optimization technique or program analysis from the literature or a known feature from another similar programming language. However, to obtain the highest possible grade, you have to incorporate and experiment with your own ideas. Alternatively, you can come up with some ideas that (to your and to our knowledge) have not been implemented before. For example, this could be a specific combination of optimization techniques or a language feature that comes from a different domain or is new altogether. You are required to do an evaluation of your implementation. For optimizations, your evaluation will naturally be about performance. For language features, this is not necessarily the case. For example, if you implement interfaces, you may (and probably should) evaluate the performance of interface calls, but you may also evaluate the usability aspect, e.g., by comparing your design to other languages. 1
2 2 Schedule & Deliverables During the course of the project, you are required to provide various deliverables and presentations to show your progress. Project Proposal - Due: October 11, The project proposal is an outline of what you plan to achieve by the end of the semester. It has two forms: a written proposal with an extent of one to three pages and a three to five minute oral presentation Describe the objective of the project, the basic approach, your own ideas, and how you plan to evaluate your implementation. In addition, specify which parts you plan to complete for the milestone (see below). Please stick to these limits (number of pages, length of presentation). You will present your project proposal in class on the 11th of October, Submit a first version of the written proposal until 08:00 am on the same day (i.e., before the presentations) using your team s svn directory. Put the document into a file called projectplan.pdf and the slides (if you want to use any) into a file projectplan slides.pdf (.pptx is also ok). After the presentations, the assistants may give you feedback and ask you to adapt your proposal. After you receive the feedback you will have a couple of days to revise your proposal and submit a final version by October 18, The final version will be graded (and contribute towards your final grade, see the web page for details). You can meet the assistants on the 6th or 9th of October, 2017 to clarify any doubts that you may have and ask questions before the project proposal date. Please contact the assistants if you want to have a meeting. Milestone Presentation - Due: November 8, Four weeks after you have submitted your project proposal, you will present your first results. If you implement an optimization, an analysis, or a feature from the literature, the core parts of your implementation should be there. This allows you to spend the last six weeks for completing the implementation, experimenting with your own ideas and evaluating your project. The presentation will be oral and should take three to five minutes. Final Presentation - Tentative: December 20, At the end of the semester, you will give a final presentation of five to eight minutes, which will focus on the work of the last six weeks. You will present the results of the evaluation, the impact of your own ideas, and your conclusions. Project Report and Code - Tentative: January 5, After the final presentation, you will have time to finish your project by submitting a written report and the source code of your implementation. The report should be phrased as a scientific essay and should include some details about your implementation and evaluation. 2
3 The report must not exceed six pages of the template that will be provided on the course website. Your implementation should be correct and thoroughly tested. Unit tests, test programs, and any testing or evaluation infrastructure are part of the submission. Furthermore, we expect that the code will be well-structured and documented. 3 Project Examples This section presents some examples of possible projects. You are welcome to choose a project which is not in this list, either from the literature or based on your own ideas. Note that the listed examples are incomplete ideas, i.e., they will not give you the full grade for this course. They must be extended and combined with your own ideas. The complete ideas will be proposed and presented by you with the project proposal. Method Calls Optimization [JavaLi] Method resolution optimizations in the context of object oriented systems have been of interest to various research groups. The main idea behind these optimizations is to avoid the indirection necessary for resolving the method to be invoked for an object. Inline caching Method inlining Procedure cloning/specialization Note that you may have to perform some analysis (e.g., profiling, class hierarchy analysis) to apply these techniques. Literature. 1. Cooper et al., A Methodlogy for Procedure Cloning, Computer Languages, Volume 19, Arnold et al., A Comparative Study of Static and Profile-Based Heuristics for Inlining, DYNAMO 00 Function Memoization [JavaLi, Cetus] Memoization is the technique that aims at reducing execution time by saving the results of repeated computations with the same input. In this project, you will explore compiler level strategies to inject code in a program to perform memoization. For example, you can think of strategies to save the results of a function or the intermediate values produced in a basic block. 3
4 Literature. 1. Suresh et al., Compile-Time Function Memoization, CC Suresh et al., Intercepting functions for memoization, TACO Ding et al., A Compiler Scheme for Reusing Intermediate Computation Results, CGO Pugh et al., Incremental Computation via Function Caching, POPL 89 Object Layout and Allocation [JavaLi, Cetus] In this project, you investigate the interaction between the CPU architecture and the memory layout of objects. You will explore different strategies for representing objects in memory that differ from a simple linear layout of the fields. For example, you can think of strategies to fuse or split objects based on their access patterns or based on the ownership relationship between objects in a data structure. Literature. 1. Wimmer et al., Automatic Object Colocation Based on Read Barriers, JMLC Jaber et al., Data Structure-Aware Heap Partitioning, CC Chilimbi et al., Cache-Conscious Structure Definition, PLDI 99 Multiple Inheritance, Interfaces and Traits [JavaLi] JavaLi does not have interfaces, traits, and multiple inheritance. In this project, you implement one or more of these features in the JavaLi framework. This means that you will introduce a new kind of declaration types and perform additional semantic checks in the class or in one of its super classes. Your compiler must produce assembly code and derive object layouts for an efficient method dispatch and method execution. Try to get inspired by existing solutions, explore what are the implementation consequences from a compiler design point of view. Value Types for Javali [JavaLi] In contrast to normal classes, value types are user defined types with semantics similar to primitive types. Instances of value types may consist of multiple parts (like fields), but they do not have an identity. Value types are (also) interesting from a optimization point of view, because they can often be implemented more efficiently than classes. 4
5 Static and Dynamic Analysis [Cetus] Write a static and dynamic program analysis tool. The static part creates program statistics, such as the number of loops, parallel loops, number of shared, private, and reduction variables, etc. The dynamic part would instrument the program to determine execution times and other dynamic metrics of program sections of interest. The pass could include a performance predictor based on the results of the static and dynamic analysis. Another possibility is to present the statistics in a way that assist the software engineer in improving the parallel program. Cetus Transformation Pass [Cetus] Write a program transformation pass. One possibility is to extend one of the Cetus passes in an interesting way; e.g., run Cetus on a set of programs of your choice; see where the current passes fail to perform (private variables, induction variables, or reductions not recognized) and improve the pass to resolve the issue. Another possibility is to write a new pass that is able to detect the necessary parallelism in a program that Cetus fails to parallelize. Cetus Analysis [Cetus] This project aims at improving the analysis of Cetus for private variables, reduction variables and etc. For example, Cetus does not currently recognize private variables that are fields of a struct, or private variables that are declared in the global scope. Loop Pipelining [Cetus] A linear pipeline is a loop with cross-iteration dependences that can be partitioned into a sequence of stages such that every stage may depend only on previous stages. To parallelize such a loop we need to find the cross-iteration dependences, and then check if it is possible to partition the loop body into at least two stages. For example, if the last statement of the loop writes a variable that is read in the first statement (of the next loop iteration), then there is a single stage (no pipeline parallelism). Thus, if there exist at least two stages, the next step is to partition the loop body into a sequence of (load-balanced) stages that leads to good performance. This implies that the parallelization of a linear pipeline can be done if we know: a) which variables exhibit cross-iteration dependences and which are used only within a loop iteration, and b) how the loop body is partitioned into stages. Automatic Parallelization In this project, the compiler reads sequential (while) loops and automatically generates directives for those loops that can be parallelized by pipelining. Particularly, the directives must report the type of the variables used within the loop and must also partition the loop body into stages. The types must be similar to those used by OpenMP, e.g., private, shared, etc. The partitioning must be done using some heuristic function that estimates the execution time of 5
6 each stage. The list of private and shared variables is already given by Cetus; but it is necessary to check if the cross-iteration dependences of the loop form a linear pipeline (which is also required for partitioning). Therefore, the necessary information for the cross-iteration dependences is already in Cetus, but this information must be extracted and reported with directives that partition the loop body. Pipelining Transformation Pass This project reads sequential loops annotated with directives of the previous project and applies a transformation which generates parallel code according to some pipelining technique, e.g., PS-DSWP, LBPP, etc. All the information required by the transformation is given with directives. Literature. 1. Kamruzzaman et al., Load-balanced pipeline parallelism, SC Raman et al., Parallel-stage decoupled software pipelining, CGO 08 6
While waiting for the lecture to begin, please complete. the initial course questionnaire.
SENG 475 & ECE 569A: Advanced Programming Techniques for Robust Efficient Computing (With C++) Michael Adams Department of Electrical and Computer Engineering University of Victoria Victoria, BC, Canada
More informationAdvanced Compiler Construction
Advanced Compiler Construction Qing Yi class web site: www.cs.utsa.edu/~qingyi/cs6363 cs6363 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science
More informationInteractive (High-fi) Prototype (Group)
Interactive (High-fi) Prototype (Group) Midway Milestone due at the start of your studio (Thursday/Friday Dec 1-2) Final Prototype due at the start of your studio (Thursday/Friday Dec 8-9) Writeup due
More informationCompiling Techniques
Lecture 1: Introduction 20 September 2016 Table of contents 1 2 3 Essential Facts Lecturer: (christophe.dubach@ed.ac.uk) Office hours: Thursdays 11am-12pm Textbook (not strictly required): Keith Cooper
More informationWhat is Software Architecture
What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements
More informationOpenACC 2.6 Proposed Features
OpenACC 2.6 Proposed Features OpenACC.org June, 2017 1 Introduction This document summarizes features and changes being proposed for the next version of the OpenACC Application Programming Interface, tentatively
More informationProgramming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module
More informationCS 553: Algorithmic Language Compilers (PLDI) Graduate Students and Super Undergraduates... Logistics. Plan for Today
Graduate Students and Super Undergraduates... CS 553: Algorithmic Language Compilers (PLDI) look for other sources of information make decisions, because all research problems are under-specified evaluate
More informationTopics on Compilers
4541.775 Topics on Compilers Spring 2011 Syllabus Instructor Bernhard Egger bernhard@snu.ac.kr Office Hrs 301 동 413 호 on Tuesdays, Thursdays 09:30 11:30 a.m. Lecture 302 동 106 호 on Mondays, Wednesdays
More informationProgramming Project 4: COOL Code Generation
CS 331 Compilers Fall 2017 Programming Project 4: COOL Code Generation Prof. Szajda Due Tuesday, December 5, 11:59:59 pm NOTE: There will be no extensions whatsoever given for this project! So, begin it
More informationA brief introduction to OpenMP
A brief introduction to OpenMP Alejandro Duran Barcelona Supercomputing Center Outline 1 Introduction 2 Writing OpenMP programs 3 Data-sharing attributes 4 Synchronization 5 Worksharings 6 Task parallelism
More informationCOLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus
Carolyn England COD Main #: 942-4125 Voicemail Ext. 4125 Office: BIC1544B (Division Office TEC1034) Mailbox: BIC1E01 Office Hours: M 12:05 pm 1:45 pm Tu 12:05 pm 1:45 pm W 12:05 pm 1:45 pm Th 9:00 am 10:40
More informationOptimized C++ o Websites and handouts Optional: Effective C++, Scott Meyers. Fall 2013
Optimized C++ Gam 371/471/391/491 Instructor: Ed Keenan Email: ekeenan2@cdm.depaul.edu office hours: Tues 9-10 pm, Wed 3-5pm or by Appt office: CDM 830 phone: (312) 362-6747 Ed Keenan Fall 2013 Course
More informationECE573 Introduction to Compilers & Translators
ECE573 Introduction to Compilers & Translators Tentative Syllabus Fall 2005 Tu/Th 9:00-10:15 AM, EE 115 Instructor Prof. R. Eigenmann Tel 49-41741 Email eigenman@ecn Office EE334C Office Hours Tu 10:15-11:30
More informationProgramming Assignment IV Due Thursday, November 18th, 2010 at 11:59 PM
Programming Assignment IV Due Thursday, November 18th, 2010 at 11:59 PM 1 Introduction In this assignment, you will implement a code generator for Cool. When successfully completed, you will have a fully
More informationDRAFT. Approach 1: Emphasize evaluation/feedback with target users
CS8803 6750 Class Project - Part 3 In part 3 of the project, your group will implement a detailed prototype of your interface. You will further develop one design idea from the three five that you generated
More informationCE221 Programming in C++ Part 1 Introduction
CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab
More informationObject-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur
Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome
More informationCPSC 510 (Fall 2007, Winter 2008) Compiler Construction II
CPSC 510 (Fall 2007, Winter 2008) Compiler Construction II Robin Cockett Department of Computer Science University of Calgary Alberta, Canada robin@cpsc.ucalgary.ca Sept. 2007 Introduction to the course
More informationFundamentals of Computer Science CSCI 136 Syllabus Fall 2018
Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018 CSCI 136 Section 00 Instructor: Michael Cassens Office: SS 411 Office Hours: MWF 11:00-11:50 am or by appt Phone: (415) 787-0577 E-mail: michael.cassens@mso.umt.edu
More informationCase Studies in Storage Access by Loosely Coupled Petascale Applications
Case Studies in Storage Access by Loosely Coupled Petascale Applications Justin M Wozniak and Michael Wilde Petascale Data Storage Workshop at SC 09 Portland, Oregon November 15, 2009 Outline Scripted
More informationF28HS Hardware-Software Interface: Systems Programming
F28HS Hardware-Software Interface: Systems Programming Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 2 2017/18 0 No proprietary software has
More informationCSCI 565 Compiler Design and Implementation Spring 2014
CSCI 565 Compiler Design and Implementation Spring 2014 Instructor: Description: Prerequisites: Dr. Pedro C. Diniz, e-mail pedro@isi.edu Lectures: Thursday, 8.00 10.50 AM, RTH 217, phone: (213) 740 4518
More informationThe SGI Pro64 Compiler Infrastructure - A Tutorial
The SGI Pro64 Compiler Infrastructure - A Tutorial Guang R. Gao (U of Delaware) J. Dehnert (SGI) J. N. Amaral (U of Alberta) R. Towle (SGI) Acknowledgement The SGI Compiler Development Teams The MIPSpro/Pro64
More informationProject. C++: Inheritance III. Plan. Project. Before we begin. The final exam. Advanced Topics. Project. This week in the home stretch
Project C++: III Advanced Topics Othello submitted. Next submission: Team Evaluations Nov 10 th Please don t forget If solo give yourself a good evaluation! Indicate if okay to share feedback with partner
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More information15-411/ Compiler Design
15-411/15-611 Compiler Design Jan Hoffmann Fall 2016 http://www.cs.cmu.edu/~janh/courses/411/16 Teaching Staff Instructor: Jan Hoffmann Office hours: Tue 10:30am-noon Thu 1:00pm-2:30pm at GHC 9105 Teaching
More informationData-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes.
Data-Centric Consistency Models The general organization of a logical data store, physically distributed and replicated across multiple processes. Consistency models The scenario we will be studying: Some
More informationEnhancements in OpenMP 2.0
Enhancements in mueller@hlrs.de University of Stuttgart High-Performance Computing-Center Stuttgart (HLRS) www.hlrs.de Slide 1 Outline Timeline Clarifications/Modifications New Features Slide 2 19. Enhancements
More information09/05: Project Plan. The Capstone Experience. Dr. Wayne Dyksen Department of Computer Science and Engineering Michigan State University Fall 2018
09/05: Project Plan The Capstone Experience Dr. Wayne Dyksen Department of Computer Science and Engineering Michigan State University Fall 2018 From Students to Professionals Project Plan Functional Specifications
More informationShared Memory Programming With OpenMP Computer Lab Exercises
Shared Memory Programming With OpenMP Computer Lab Exercises Advanced Computational Science II John Burkardt Department of Scientific Computing Florida State University http://people.sc.fsu.edu/ jburkardt/presentations/fsu
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationOpenMP 4.0 implementation in GCC. Jakub Jelínek Consulting Engineer, Platform Tools Engineering, Red Hat
OpenMP 4.0 implementation in GCC Jakub Jelínek Consulting Engineer, Platform Tools Engineering, Red Hat OpenMP 4.0 implementation in GCC Work started in April 2013, C/C++ support with host fallback only
More informationCISC 3130 Data Structures Fall 2018
CISC 3130 Data Structures Fall 2018 Instructor: Ari Mermelstein Email address for questions: mermelstein AT sci DOT brooklyn DOT cuny DOT edu Email address for homework submissions: mermelstein DOT homework
More informationYou must pass the final exam to pass the course.
Computer Science Technology Department Houston Community College System Department Website: http://csci.hccs.cc.tx.us CRN: 46876 978-1-4239-0146-4 1-4239-0146-0 Semester: Fall 2010 Campus and Room: Stafford
More informationProgramming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon)
Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon) Thus spake the master programmer: A well-written program is its own heaven; a poorly written
More informationThis assignment requires that you complete the following tasks (in no particular order).
Construction Objectives The objectives of this assignment are: (1) Implement your FCS design with high-quality code and thorough unit tests (2) Gain experience doing a task breakdown (3) Gain experience
More informationTable 1 lists the projects and teams. If you want to, you can switch teams with other students.
University of Arizona, Department of Computer Science CSc 620 Assignment 3 40% Christian Collberg August 27, 2008 1 Introduction This is your main project for the class. The project is worth 40% of your
More informationPhysical Security Reliability Standard Implementation
Physical Security Reliability Standard Implementation Attachment 4b Action Information Background On March 7, 2014, the Commission issued an order directing NERC to submit for approval, within 90 days,
More informationJava for Programmers Course (equivalent to SL 275) 36 Contact Hours
Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the
More information15-740/ Computer Architecture
15-740/18-740 Computer Architecture Lecture 19: Caching II Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 10/31/2011 Announcements Milestone II Due November 4, Friday Please talk with us if you
More informationDesign of Parallel and High Performance Computing Fall 2016 About projects. Instructors: Torsten Hoefler & Markus Püschel TAs: Salvatore Di Girolamo
Design of Parallel and High Performance Computing Fall 2016 About projects Instructors: Torsten Hoefler & Markus Püschel TAs: Salvatore Di Girolamo Project: Rules Count 50% of the grade (work, presentation,
More informationOperating Systems CMPSCI 377, Lec 2 Intro to C/C++ Prashant Shenoy University of Massachusetts Amherst
Operating Systems CMPSCI 377, Lec 2 Intro to C/C++ Prashant Shenoy University of Massachusetts Amherst Department of Computer Science Why C? Low-level Direct access to memory WYSIWYG (more or less) Effectively
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationSpeculative Parallelization Technology s only constant is CHANGE. Devarshi Ghoshal Sreesudhan
Speculative Parallelization Technology s only constant is CHANGE Devarshi Ghoshal Sreesudhan Agenda Moore s law What is speculation? What is parallelization? Amdahl s law Communication between parallely
More informationSchool of Informatics, University of Edinburgh
CS1Bh Practical 1 Words and Sentences This is an individual practical exercise which requires you to submit some Java programs and some text files for assessment. A system which measures software similarity
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationPreface A Brief History Pilot Test Results
Preface A Brief History In Fall, 2005, Wanda Dann and Steve Cooper, originators of the Alice approach for introductory programming (in collaboration with Randy Pausch), met with Barb Ericson and Mark Guzdial,
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationOpenACC Course. Office Hour #2 Q&A
OpenACC Course Office Hour #2 Q&A Q1: How many threads does each GPU core have? A: GPU cores execute arithmetic instructions. Each core can execute one single precision floating point instruction per cycle
More informationDepartment of Informatics V. HPC-Lab. Session 2: OpenMP M. Bader, A. Breuer. Alex Breuer
HPC-Lab Session 2: OpenMP M. Bader, A. Breuer Meetings Date Schedule 10/13/14 Kickoff 10/20/14 Q&A 10/27/14 Presentation 1 11/03/14 H. Bast, Intel 11/10/14 Presentation 2 12/01/14 Presentation 3 12/08/14
More informationRuntime Support for OOLs Object Records, Code Vectors, Inheritance Comp 412
COMP 412 FALL 2017 Runtime Support for OOLs Object Records, Code Vectors, Inheritance Comp 412 source IR Front End Optimizer Back End IR target Copyright 2017, Keith D. Cooper & Linda Torczon, all rights
More informationOpenMP Optimization and its Translation to OpenGL
OpenMP Optimization and its Translation to OpenGL Santosh Kumar SITRC-Nashik, India Dr. V.M.Wadhai MAE-Pune, India Prasad S.Halgaonkar MITCOE-Pune, India Kiran P.Gaikwad GHRIEC-Pune, India ABSTRACT For
More informationResource and Service Trading in a Heterogeneous Large Distributed
Resource and Service Trading in a Heterogeneous Large Distributed ying@deakin.edu.au Y. Ni School of Computing and Mathematics Deakin University Geelong, Victoria 3217, Australia ang@deakin.edu.au Abstract
More informationCS535: Interactive Computer Graphics
CS535: Interactive Computer Graphics Instructor: Daniel G. Aliaga (aliaga@cs.purdue.edu, www.cs.purdue.edu/homes/aliaga) Classroom: LWSN B134 Time: MWF @ 1:30-2:20pm Office hours: by appointment (LWSN
More informationSC18 OpenMP BoF Report (BoF 109) Jim Cownie, Michael Klemm 28 November 2018
SC18 OpenMP BoF Report (BoF 109) Jim Cownie, Michael Klemm 28 November 2018 Summary The OpenMP BoF was held on Wednesday 15 November 5:15pm-7:00pm. There were over 100 attendees, a slight drop from last
More informationL25: Modern Compiler Design Exercises
L25: Modern Compiler Design Exercises David Chisnall Deadlines: October 26 th, November 23 th, November 9 th These simple exercises account for 20% of the course marks. They are intended to provide practice
More informationecampus Submission Process
ecampus Submission Process Progress Report Submission, and Installment Submission & Feedback 1 All Progress Reports and Installment Submissions are found on the Assignments Page. 2 Individual assignments
More informationImplementation of backtrack search
Fall Semester, 2005 CSCE 421/821: Foundations of Constraint Processing B.Y. Choueiry Homework 3 Assigned: Thursday, September 22, 2005 Due: Tuesday, October 11, 2005 Total value: 100 points. Penalty of
More informationWinter Compiler Construction Who. Mailing list and forum
Winter 2006-2007 Compiler Construction 0368-3133 Mooly Sagiv and Roman Manevich School of Computer Science Tel-Aviv University Who Roman Manevich Schreiber Open-space (basement) Tel: 640-5358 rumster@post.tau.ac.il
More informationDevelopment, testing and quality assurance report
The European Open Source Market Place www.apphub.eu.com ICT Project Deliverable D2.5 Development, testing and quality assurance report This project has received funding from the European Union s Horizon
More information6.S195: Lab 6 6-Stage SMIPS Pipeline with Simple Branch Predictor
6.S195: Lab 6 6-Stage SMIPS Pipeline with Simple Branch Predictor October 24, 2013 Due: Sunday November 3, 2013 Note: This lab uses a different infrastructure than the previous SMIPS lab in order to compile
More informationOverpartioning with the Rice dhpf Compiler
Overpartioning with the Rice dhpf Compiler Strategies for Achieving High Performance in High Performance Fortran Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/hug00overpartioning.pdf
More informationEast Tennessee State University Department of Computer and Information Sciences CSCI 4717 Computer Architecture TEST 3 for Fall Semester, 2005
Points missed: Student's Name: Total score: /100 points East Tennessee State University Department of Computer and Information Sciences CSCI 4717 Computer Architecture TEST 3 for Fall Semester, 2005 Section
More informationModern Processor Architectures. L25: Modern Compiler Design
Modern Processor Architectures L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant minimising the number of instructions
More informationIntroduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck
Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Extreme Programming is... Lightweight software development method used for small to medium-sized
More informationLab 1: Space Invaders. The Introduction
Lab 1: Space Invaders The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ Be sure
More informationIntroduction to Programming COIT 20245
Introduction to Programming COIT 20245 Assessment item 1 Java Console Program Due date: Weighting: Length: Week 7 T318 24 December 2018 Refer below for complete assessment item 1 requirements (Assignment
More informationCSE Network Management (3-0-3) Fall 2004 (Term 041) Course Projects
1 Introduction King Fahd University of Petroleum & Minerals College of Computer Sciences and Engineering CSE 552 - Network Management (3-0-3) Fall 2004 (Term 041) Course Projects Tuesday, September 21,
More information1 of 7 8/27/2014 2:26 PM Units: Teacher: WebPageDesignI, CORE Course: WebPageDesignI Year: 2012-13 Designing & Planning Web Pages This unit will give students a basic understanding of core design principles
More informationCOMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager
COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager Points Possible: 100 Submission via Canvas No collaboration among groups. Students in one group should NOT share any project
More informationNew Mapping Interface
New Mapping Interface Mike Bauer NVIDIA Research 1 Why Have A Mapping Interface? Legion Program Legion Legion Mapper Scheduling is hard Lots of runtimes have heuristics What do you do when they are wrong?
More informationInterim Report Technical Support for Integrated Library Systems Comparison of Open Source and Proprietary Software
Interim Report Technical Support for Integrated Library Systems Comparison of Open Source and Proprietary Software Vandana Singh Assistant Professor, School of Information Science, University of Tennessee,
More informationCSCE 315 Fall Team Project 3
CSCE 315 Fall 2017 Team Project 3 Project Goal Your team is to build a system that puts together different existing web components in an application that provides a quality user interface to the joined
More informationEE/CSCI 451: Parallel and Distributed Computation
EE/CSCI 451: Parallel and Distributed Computation Lecture #7 2/5/2017 Xuehai Qian Xuehai.qian@usc.edu http://alchem.usc.edu/portal/xuehaiq.html University of Southern California 1 Outline From last class
More informationIndex. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309
A Arithmetic operation floating-point arithmetic, 11 12 integer numbers, 9 11 Arrays, 97 copying, 59 60 creation, 48 elements, 48 empty arrays and vectors, 57 58 executable program, 49 expressions, 48
More informationHigher National Unit specification: general information. Graded Unit 2
Higher National Unit specification: general information This Graded Unit has been validated as part of the HND Computing: Software Development. Centres are required to develop the assessment instrument
More informationHIRP OPEN 2018 Compiler & Programming Language. An Efficient Framework for Optimizing Tensors
An Efficient Framework for Optimizing Tensors 1 Theme: 2 Subject: Compiler Technology List of Abbreviations NA 3 Background Tensor computation arises frequently in machine learning, graph analytics and
More informationTuesday, October 4. Announcements
Tuesday, October 4 Announcements www.singularsource.net Donate to my short story contest UCI Delta Sigma Pi Accepts business and ICS students See Facebook page for details Slide 2 1 Design Patterns Design
More informationCS4961 Parallel Programming. Lecture 5: More OpenMP, Introduction to Data Parallel Algorithms 9/5/12. Administrative. Mary Hall September 4, 2012
CS4961 Parallel Programming Lecture 5: More OpenMP, Introduction to Data Parallel Algorithms Administrative Mailing list set up, everyone should be on it - You should have received a test mail last night
More informationCS370 Operating Systems Midterm Review
CS370 Operating Systems Midterm Review Yashwant K Malaiya Fall 2015 Slides based on Text by Silberschatz, Galvin, Gagne 1 1 What is an Operating System? An OS is a program that acts an intermediary between
More information1: Introduction to Object (1)
1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface
More informationCURZON PR BUYER S GUIDE WEBSITE DEVELOPMENT
CURZON PR BUYER S GUIDE WEBSITE DEVELOPMENT Website Development WHAT IS WEBSITE DEVELOPMENT? This is the development of a website for the Internet (World Wide Web) Website development can range from developing
More informationADMINISTRATIVE MANAGEMENT COLLEGE
First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and
More informationMathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10
Mathematics/Science Department Kirkwood Community College Course Syllabus Computer Science CSC142 Bob Driggs Dean Cate Sheller Instructor 1/10 Computer Science (CSC142) Course Description Introduces computer
More informationEnabling Loop Parallelization with Decoupled Software Pipelining in LLVM: Final Report
Enabling Loop Parallelization with Decoupled Software Pipelining in LLVM: Final Report Ameya Velingker and Dougal J. Sutherland {avelingk, dsutherl}@cs.cmu.edu http://www.cs.cmu.edu/~avelingk/compilers/
More informationScalable Shared Memory Programing
Scalable Shared Memory Programing Marc Snir www.parallel.illinois.edu What is (my definition of) Shared Memory Global name space (global references) Implicit data movement Caching: User gets good memory
More informationProject #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.
Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:
More informationETSI GS MEC-IEG 005 V1.1.1 ( )
GS MEC-IEG 005 V1.1.1 (2015-08) GROUP SPECIFICATION Mobile-Edge Computing (MEC); Proof of Concept Framework Disclaimer This document has been produced and approved by the Mobile-Edge Computing (MEC) Industry
More informationLesson 10B Class Design. By John B. Owen All rights reserved 2011, revised 2014
Lesson 10B Class Design By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Encapsulation Inheritance and Composition is a vs has a Polymorphism Information Hiding Public
More informationA Modular. OpenModelica. Compiler Backend
Chair of Construction Machines and Conveying Technology OpenModelica Workshop 2011 A Modular OpenModelica Compiler Backend J. Frenkel W. Braun A. Pop M. Sjölund Outline 1. Introduction 2. Concept of Modular
More informationInheritance. Benefits of Java s Inheritance. 1. Reusability of code 2. Code Sharing 3. Consistency in using an interface. Classes
Inheritance Inheritance is the mechanism of deriving new class from old one, old class is knows as superclass and new class is known as subclass. The subclass inherits all of its instances variables and
More informationCompiler Construction
Compiler Construction Lecture 15: Code Generation I (Intermediate Code) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ss-14/cc14/
More informationAC59/AT59/AC110/AT110 OPERATING SYSTEMS & SYSTEMS SOFTWARE DEC 2015
Q.2 a. Explain the following systems: (9) i. Batch processing systems ii. Time sharing systems iii. Real-time operating systems b. Draw the process state diagram. (3) c. What resources are used when a
More informationFinal Project Report
16.04.02 Final Project Report Document information Project Title HP Tool Repository of SESAR standard HP methods and tools Project Number 16.04.02 Project Manager DFS Deliverable Name 16.04.02 Final Project
More informationShared Memory Programming with OpenMP
Shared Memory Programming with OpenMP (An UHeM Training) Süha Tuna Informatics Institute, Istanbul Technical University February 12th, 2016 2 Outline - I Shared Memory Systems Threaded Programming Model
More informationCSC 111 Introduction to Computer Science (Section C)
CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming
More informationMore Data Locality for Static Control Programs on NUMA Architectures
More Data Locality for Static Control Programs on NUMA Architectures Adilla Susungi 1, Albert Cohen 2, Claude Tadonki 1 1 MINES ParisTech, PSL Research University 2 Inria and DI, Ecole Normale Supérieure
More informationCompiler Construction
Compiler Construction Lecture 15: Code Generation I (Intermediate Code) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ss-14/cc14/
More informationWho are we? Andre Platzer Out of town the first week GHC TAs Alex Crichton, senior in CS and ECE Ian Gillis, senior in CS
15-411 Compilers Who are we? Andre Platzer Out of town the first week GHC 9103 TAs Alex Crichton, senior in CS and ECE Ian Gillis, senior in CS Logistics symbolaris.com/course/compiler12.html symbolaris.com
More information