Par4All. From Convex Array Regions to Heterogeneous Computing
|
|
- Oswald Lewis
- 6 years ago
- Views:
Transcription
1 Par4All From Covex Array Regios to Heterogeeous Computig Mehdi Amii, Béatrice Creusillet, Stéphaie Eve, Roa Keryell, Oig Goubier, Serge Guelto, Jaice Oaia McMaho, Fraçois Xavier Pasquier, Grégoire Péa, Pierre Villalo IMPACT d Iteratioal Workshop o Polyhedral Compilatio Techiques 1/21
2 Par4All project: automatic source-to-source parallelizatio for heterogeeous targets HPC Project eeds tools for its hardware accelerators (Wild Nodes from Wild Systems) ad to parallelize, port & optimize customer applicatios Ureasoable to begi yet aother ew compiler project May academic Ope Source projects are available......but customers eed products Itegrate your ideas ad developmets i existig project...or buy oe if you ca afford (ST with PGI...) Not reivetig the wheel (o NIH sydrome) => Fudig a iitiative to idustrialize Ope Source tools Par4All is fully Ope-Source (mix of MIT/GPL licese) Accordig to Keshav Pigali, we're wrog at raisig automatic parallelizatio from low-level code. But we provide geerality across differet tools, each with its ow high-abstractio. (ad: versio released *today*, check it out!) 2/21
3 Par4All overview PIPS is the first project to eter the Par4All iitiative Preseted at Impact 2011: PIPS Is ot (just) Polyhedral Software Source code (with directives?) PIPS Trasformatios && Aalyses kerels Post-processor host code Par4all Rutime vcclike host compiler Fial Biary Par4All Pytho Driver 3/21
4 Demo Example: madelbrot writte i Scilab Coverted to C usig COLD, a i-house (commercial) scilab-to-c compiler The C code is processed by Par4All to target multi-core or GPU PIPS is iter-procedural ad thus eeds all the source code, we eed to provide stubs for the Scilab rutime
5 Focus o array regios aalyses Startig with Béatrice Creusillet thesis (1996) Fid out what part of a array is read or writte Approximatio: may/must/exact Set of liear relatios Applicatios: Parallelizatio Array privatizatio Scalarizatio Statemet isolatio Memory footprit reductio usig tilig 5/21
6 Focus o array regios aalyses // <a[phi1][phi2]-w-may-{0<=phi1, PHI1<=PHI2, PHI1+PHI2+1<=m, // 2PHI1+2<=> it triagular(it m, it, double a[][m]) { it h = /2; // <a[phi1][phi2]-w-exact-{0<=phi1, // PHI1<=PHI2, PHI1+PHI2+1<=m, // PHI1+1<=h, <=2h+1, 2h<=> for(it i = 0; i < h; i += 1) { M // <a[phi1][phi2]-w-exact-{phi1==i, i<=phi2, // PHI2+i+1<=m, 0<=i, // i+1<=h, <=2h+1, 2h<=> for(it j = i; j < m-i; j += 1) { // <a[phi1][phi2]-w-exact-{phi1==i, PHI2==j, // i<=j, j+i+1<=m, 0<=i, // i+1<=h, <=2h+1, 2h<=> a[i][j] = f(); N
7 IN/OUT Regios PIPS icludes iter-procedural IN ad OUT regios IN regios iclude part of the array read by a statemet, for which the value was produced earlier i the program No i regio o b Overwrite 1st b assigmet it i_regios(it, double a[], double b[], double c[]) { // <a[phi1]-out-exact-{0<=phi1, PHI1+1<=> for(it i=0; i<; i++) { a[i] = iit(); b[i] = iit(); // <a[phi1]-in-exact-{0<=phi1, PHI1+1<=> for(it i=0; i<; i++) { b[i] = a[i]+1; c[i] = f(a[i],b[i]); 7/21
8 IN/OUT Regios PIPS icludes iter-procedural IN ad OUT regios OUT regios iclude part of the array produced by a statemet ad that will be used later i the program No out regio o b No i regio o b Overwrite 1st b assigmet it i_regios(it, double a[], double b[], double c[]) { // <a[phi1]-out-exact-{0<=phi1, PHI1+1<=> for(it i=0; i<; i++) { a[i] = iit(); b[i] = iit(); // <a[phi1]-in-exact-{0<=phi1, PHI1+1<=> for(it i=0; i<; i++) { b[i] = a[i]+1; c[i] = f(a[i],b[i]); No out regio o b meas that a scalarizatio is possible Nobody would write such code... 8/21
9 IN/OUT Regios PIPS icludes iter-procedural IN ad OUT regios OUT regios iclude part of the array produced by a statemet ad that will be used later i the program No out regio o b No i regio o b Overwrite 1st b assigmet it i_regios(it, double a[], double b[], double c[]) { // <a[phi1]-out-exact-{0<=phi1, PHI1+1<=> for(it i=0; i<; i++) { a[i] = iit(); b[i] = iit(); // <a[phi1]-in-exact-{0<=phi1, PHI1+1<=> for(it i=0; i<; i++) { b[i] = a[i]+1; c[i] = f(a[i],b[i]); No out regio o b meas that a scalarizatio is possible Nobody would write such code... but what about automatically geerated code from higher level descriptio? 9/21
10 Applicatio to host-accelerator commuicatios void kerel(it, double X[][]) { it i1, i2; for (i1 = 0; i1 < /2; i1++) { // Sequetial for(i2 = i1; i2 < -i1; i2++) { // Parallel X[ i1][i2] = X[ i1][i2] - X[ - i1-3][i2]; it mai(it argc, char **argv) { if(argc!=2) { fpritf(stderr,"size expected as first argumet\"); exit(1); it size = atoi(argv[1]); // Usafe! double (*X)[size] = (double (*)[size])malloc(sizeof(double)*size*size); double (*A)[size] = (double (*)[size])malloc(sizeof(double)*size*size); double (*B)[size] = (double (*)[size])malloc(sizeof(double)*size*size); kerel(size,x,a,b); 10/21
11 Applicatio to host-accelerator commuicatios // <X[PHI1][PHI2]-R-MAY-{PHI2<=PHI1+2, <=PHI1+PHI2+3, <=2PHI1+4, PHI1+2<=, 0<=PHI2, PHI2+1<=, 2<=> // <X[PHI1][PHI2]-W-MAY-{PHI2<=PHI1+1, <=PHI1+PHI2+2, <=2PHI1+2, PHI1+2<=> for (i1 = 0; i1 < /2; i1++) { // Sequetial // <X[PHI1][PHI2]-R-EXACT-{<=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, i1<=phi2, PHI2+i1+1<=> for(i2 = i1; i2 < -i1; i2++) { // Parallel // <X[PHI1][PHI2]-R-EXACT-{PHI2==i2, <=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, PHI2==i2, 0<=i1, i1<=i2> X[ i1][i2] = X[ i1][i2] - X[ - i1-3][i2]; Read Read ad Writte 11/21
12 Applicatio to host-accelerator commuicatios // <X[PHI1][PHI2]-R-MAY-{PHI2<=PHI1+2, <=PHI1+PHI2+3, <=2PHI1+4, PHI1+2<=, 0<=PHI2, PHI2+1<=, 2<=> // <X[PHI1][PHI2]-W-MAY-{PHI2<=PHI1+1, <=PHI1+PHI2+2, <=2PHI1+2, PHI1+2<=> for (i1 = 0; i1 < /2; i1++) { // Sequetial // <X[PHI1][PHI2]-R-EXACT-{<=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, i1<=phi2, PHI2+i1+1<=> for(i2 = i1; i2 < -i1; i2++) { // Parallel // <X[PHI1][PHI2]-R-EXACT-{PHI2==i2, <=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, PHI2==i2, 0<=i1, i1<=i2> X[ i1][i2] = X[ i1][i2] - X[ - i1-3][i2]; Read Read ad Writte Writte o previous iteratios 12/21
13 Applicatio to host-accelerator commuicatios // <X[PHI1][PHI2]-R-MAY-{PHI2<=PHI1+2, <=PHI1+PHI2+3, <=2PHI1+4, PHI1+2<=, 0<=PHI2, PHI2+1<=, 2<=> // <X[PHI1][PHI2]-W-MAY-{PHI2<=PHI1+1, <=PHI1+PHI2+2, <=2PHI1+2, PHI1+2<=> for (i1 = 0; i1 < /2; i1++) { // Sequetial // <X[PHI1][PHI2]-R-EXACT-{<=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, i1<=phi2, PHI2+i1+1<=> for(i2 = i1; i2 < -i1; i2++) { // Parallel // <X[PHI1][PHI2]-R-EXACT-{PHI2==i2, <=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, PHI2==i2, 0<=i1, i1<=i2> X[ i1][i2] = X[ i1][i2] - X[ - i1-3][i2]; Read Read ad Writte Writte o previous iteratios 13/21
14 Applicatio to host-accelerator commuicatios // <X[PHI1][PHI2]-R-MAY-{PHI2<=PHI1+2, <=PHI1+PHI2+3, <=2PHI1+4, PHI1+2<=, 0<=PHI2, PHI2+1<=, 2<=> // <X[PHI1][PHI2]-W-MAY-{PHI2<=PHI1+1, <=PHI1+PHI2+2, <=2PHI1+2, PHI1+2<=> for (i1 = 0; i1 < /2; i1++) { // Sequetial // <X[PHI1][PHI2]-R-EXACT-{<=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, i1<=phi2, PHI2+i1+1<=> for(i2 = i1; i2 < -i1; i2++) { // Parallel // <X[PHI1][PHI2]-R-EXACT-{PHI2==i2, <=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, PHI2==i2, 0<=i1, i1<=i2> X[ i1][i2] = X[ i1][i2] - X[ - i1-3][i2]; Read Read ad Writte Writte o previous iteratios Optimize commuicatios (covex hull, pipelie, ) 14/21
15 Applicatio to host-accelerator commuicatios // <X[PHI1][PHI2]-R-MAY-{PHI2<=PHI1+2, <=PHI1+PHI2+3, <=2PHI1+4, PHI1+2<=, 0<=PHI2, PHI2+1<=, 2<=> // <X[PHI1][PHI2]-W-MAY-{PHI2<=PHI1+1, <=PHI1+PHI2+2, <=2PHI1+2, PHI1+2<=> for (i1 = 0; i1 < /2; i1++) { // Sequetial // <X[PHI1][PHI2]-R-EXACT-{<=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, i1<=phi2, PHI2+i1+1<=> for(i2 = i1; i2 < -i1; i2++) { // Parallel // <X[PHI1][PHI2]-R-EXACT-{PHI2==i2, <=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> // <X[PHI1][PHI2]-W-EXACT-{PHI1+i1==-2, PHI2==i2, 0<=i1, i1<=i2> X[ i1][i2] = X[ i1][i2] - X[ - i1-3][i2]; Read Read ad Writte Writte o previous iteratios 15/21
16 Applicatio to host-accelerator commuicatios for (i1 = 0; i1 < /2; i1++) { // Sequetial // Allocate all the array o the accelerator double (*accel_x)[2][-2*i1+]; P4A_accel_malloc((void **) &accel_x, sizeof(double)*i1*2)); Copy_to_accel_2d(sizeof(double),,, 2, -2*i1+, -i1+-3, i1, &X[0][0], *accel_x); for(i2 = 0; i2 < -i1-i1; i2++) { // Parallel (has bee skewed to start from 0) accel_x[1][i2] = accel_x[1][i2] - accel_x[0][i2]; Copy_from_accel_2d( Data writte by the kerel sizeof(double),,, // host size 1, -2*i1+, // trasfer -i1+-2, i1, // offset &X[0][0], &accel_x[1][0]); Accel_free(accel_X); Rectagular hull Exact data read by the kerel Read Read ad Writte Writte o previous iteratios Data trasferred o curret iteratio 16/21
17 Applicatio to host-accelerator commuicatios for (i1 = 0; i1 < /2; i1++) { // Sequetial // Allocate all the array o the accelerator double (*accel_x)[2][-2*i1+]; P4A_accel_malloc((void **) &accel_x, sizeof(double)*i1*2)); Copy_to_accel_2d(sizeof(double),,, 2, -2*i1+, -i1+-3, i1, &X[0][0], *accel_x); for(i2 = 0; i2 < -i1-i1; i2++) { // Parallel (has bee skewed to start from 0) accel_x[1][i2] = accel_x[1][i2] - accel_x[0][i2]; Copy_from_accel_2d( Data writte by the kerel sizeof(double),,, // host size 1, -2*i1+, // trasfer -i1+-2, i1, // offset &X[0][0], &accel_x[1][0]); Accel_free(accel_X); Rectagular hull Exact data read by the kerel Read Read ad Writte Writte o previous iteratios Data trasferred o curret iteratio Data trasferred o previous iteratio 17/21
18 Applicatio to host-accelerator commuicatios Ca we avoid redudat trasfers? Try a subtractio: <X[PHI1][PHI2]-{<=PHI1+i1+3, PHI1+i1+2<=, i1<=phi2, PHI2+i1+1<=> - <X[PHI1][PHI2]-{<=PHI1+(i1-1)+3, PHI1+(i1-1)+2<=, (i1-1)<=phi2, PHI2+(i1-1)+1<=> = <X[PHI1][PHI2]-{==PHI1+i1+3, i1<=phi2, PHI2+i1+1<=> Data trasferred o curret iteratio Data trasferred o previous iteratio Differece From Alias, Darte, ad Plesco, Impact 2012: I(I1 ) \ Out(i1 < I1 ) Load(i1 I1 ) Out(i1 < I1 ) Load(I1 ) = 18/21
19 Applicatio to host-accelerator commuicatios // <X[PHI1][PHI2]-R-MAY-{PHI2<=PHI1+2, <=PHI1+PHI2+3, <=2PHI1+4, PHI1+2<=, 0<=PHI2, PHI2+1<=, 2<=> // <X[PHI1][PHI2]-W-MAY-{PHI2<=PHI1+1, <=PHI1+PHI2+2, <=2PHI1+2, PHI1+2<=> double (*accel_x)[-2-(/2-1)+1][-1+1]; P4A_accel_malloc((void **) &accel_x, sizeof(double)*(-2-(/2-1)+1)*(-1+1)); // Data for first iteratio Copy_to_accel_2d(sizeof(double),,, 1,, -3, 0, &X[0][0], &accel_x[-2-(/2-1)+1][0]); for (i1 = 0; i1 < /2; i1++) { // Sequetial Copy_to_accel_2d(sizeof(double),,, 1,-2*i1+,-i (/2-1)+1, i1, &X[0][0],*accel_X); for(i2 = 0; i2 < -i1-i1; i2++) // Parallel X[ i1-2-(/2-1)+1][i2] = X[ i1-2-(/2-1)+1][i2] - X[ - i1 3-2-(/2-1)+1][i2]; Copy_from_accel_2d( sizeof(double),,, // host size 1, -2*i1+, // trasfer -i1+-2, i1, // offset &X[0][0], &accel_x[1][0]); Accel_free(accel_X); Further optimizatios (prefetch...) would easily allow overlap betwee commuicatios ad computatios. See for istace Alias, Darte, ad Plesco, Impact /21
20 Par4All future Source code (with directives?) PIPS Trasformatios && Aalyses Source code with directives feature extractor polyhedral optimizer kerels host code OpeSCoP Post-processor, optimizer,... Post-processor, optimizer,... Par4All Rutime Other Rutimes vcclike host compiler Fial Biary 20/21
21 Par4All future Source code (with directives?) PIPS Trasformatios && Aalyses Source code with directives Your? feature extractor Your? polyhedral optimizer kerels host code OpeSCoP Your? Post-processor, optimizer,... Your? Post-processor, optimizer,... Par4All Rutime Other Rutimes Icludig yours? vcclike host compiler Fial Biary
CS553 Lecture Reuse Optimization: Common SubExpr Elim 3
Reuse Optimizatio Last time Value umberig Today Commo subexpressio elimiatio (CSE) CS553 Lecture Reuse Optimizatio: Commo SubExpr Elim 2 Commo Subexpressio Elimiatio Fid commo subexpressios whose rage
More informationLecture 18. Optimization in n dimensions
Lecture 8 Optimizatio i dimesios Itroductio We ow cosider the problem of miimizig a sigle scalar fuctio of variables, f x, where x=[ x, x,, x ]T. The D case ca be visualized as fidig the lowest poit of
More informationOutline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs
Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio
More informationPolyèdres et compilation
Polyèdres et compilation François Irigoin & Mehdi Amini & Corinne Ancourt & Fabien Coelho & Béatrice Creusillet & Ronan Keryell MINES ParisTech - Centre de Recherche en Informatique 12 May 2011 François
More information. Written in factored form it is easy to see that the roots are 2, 2, i,
CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or
More informationProject 2.5 Improved Euler Implementation
Project 2.5 Improved Euler Implemetatio Figure 2.5.10 i the text lists TI-85 ad BASIC programs implemetig the improved Euler method to approximate the solutio of the iitial value problem dy dx = x+ y,
More informationChapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig
More informationCS 11 C track: lecture 1
CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material
More informationSCI Reflective Memory
Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o
More informationCOSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1
COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,
More informationSolving Fuzzy Assignment Problem Using Fourier Elimination Method
Global Joural of Pure ad Applied Mathematics. ISSN 0973-768 Volume 3, Number 2 (207), pp. 453-462 Research Idia Publicatios http://www.ripublicatio.com Solvig Fuzzy Assigmet Problem Usig Fourier Elimiatio
More information3D Model Retrieval Method Based on Sample Prediction
20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer
More informationLecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming
Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis
More informationCreating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA
Creatig Exact Bezier Represetatios of CST Shapes David D. Marshall Califoria Polytechic State Uiversity, Sa Luis Obispo, CA 93407-035, USA The paper presets a method of expressig CST shapes pioeered by
More informationCS 111 Green: Program Design I Lecture 27: Speed (cont.); parting thoughts
CS 111 Gree: Program Desig I Lecture 27: Speed (cot.); partig thoughts By Nascarkig - Ow work, CC BY-SA 4.0, https://commos.wikimedia.org/w/idex.php?curid=38671041 Robert H. Sloa (CS) & Rachel Poretsky
More informationA graphical view of big-o notation. c*g(n) f(n) f(n) = O(g(n))
ca see that time required to search/sort grows with size of We How do space/time eeds of program grow with iput size? iput. time: cout umber of operatios as fuctio of iput Executio size operatio Assigmet:
More informationPython Programming: An Introduction to Computer Science
Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to
More informationA SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON
A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work
More informationA New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method
A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:
More informationElementary Educational Computer
Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified
More informationMOTIF XF Extension Owner s Manual
MOTIF XF Extesio Ower s Maual Table of Cotets About MOTIF XF Extesio...2 What Extesio ca do...2 Auto settig of Audio Driver... 2 Auto settigs of Remote Device... 2 Project templates with Iput/ Output Bus
More informationBaan Tools User Management
Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio
More informationIntroduction to SWARM Software and Algorithms for Running on Multicore Processors
Itroductio to SWARM Software ad Algorithms for Ruig o Multicore Processors David A. Bader Georgia Istitute of Techology http://www.cc.gatech.edu/~bader Tutorial compiled by Rucheek H. Sagai M.S. Studet,
More informationCMPT 125 Assignment 2 Solutions
CMPT 25 Assigmet 2 Solutios Questio (20 marks total) a) Let s cosider a iteger array of size 0. (0 marks, each part is 2 marks) it a[0]; I. How would you assig a poiter, called pa, to store the address
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies
More informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control
EE 459/500 HDL Based Digital Desig with Programmable Logic Lecture 13 Cotrol ad Sequecig: Hardwired ad Microprogrammed Cotrol Refereces: Chapter s 4,5 from textbook Chapter 7 of M.M. Mao ad C.R. Kime,
More informationPython Programming: An Introduction to Computer Science
Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists
More informationCSC 220: Computer Organization Unit 11 Basic Computer Organization and Design
College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:
More informationHow do we evaluate algorithms?
F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:
More informationTransforming Irregular Algorithms for Heterogeneous Computing - Case Studies in Bioinformatics
Trasformig Irregular lgorithms for Heterogeeous omputig - ase Studies i ioiformatics Jig Zhag dvisor: Dr. Wu Feg ollaborator: Hao Wag syergy.cs.vt.edu Irregular lgorithms haracterized by Operate o irregular
More informationSoftware development of components for complex signal analysis on the example of adaptive recursive estimation methods.
Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig
More informationChapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4
More informationSolutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer
Departmet of Computer ciece Columbia Uiversity olutios to Fial COM W45 Programmig Laguages ad Traslators Moday, May 4, 2009 4:0-5:25pm, 309 Havemeyer Closed book, o aids. Do questios 5. Each questio is
More informationProgramming with Shared Memory PART II. HPC Spring 2017 Prof. Robert van Engelen
Programmig with Shared Memory PART II HPC Sprig 2017 Prof. Robert va Egele Overview Sequetial cosistecy Parallel programmig costructs Depedece aalysis OpeMP Autoparallelizatio Further readig HPC Sprig
More informationarxiv: v2 [cs.ds] 24 Mar 2018
Similar Elemets ad Metric Labelig o Complete Graphs arxiv:1803.08037v [cs.ds] 4 Mar 018 Pedro F. Felzeszwalb Brow Uiversity Providece, RI, USA pff@brow.edu March 8, 018 We cosider a problem that ivolves
More informationComputer Graphics Hardware An Overview
Computer Graphics Hardware A Overview Graphics System Moitor Iput devices CPU/Memory GPU Raster Graphics System Raster: A array of picture elemets Based o raster-sca TV techology The scree (ad a picture)
More informationAnalysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis
Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems
More informationModule Instantiation. Finite State Machines. Two Types of FSMs. Finite State Machines. Given submodule mux32two: Instantiation of mux32two
Give submodule mux32two: 2-to- MUX module mux32two (iput [3:] i,i, iput sel, output [3:] out); Module Istatiatio Fiite Machies esig methodology for sequetial logic -- idetify distict s -- create trasitio
More informationPseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance
Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured
More informationCustomer Portal Quick Reference User Guide
Customer Portal Quick Referece User Guide Overview This user guide is iteded for FM Approvals customers usig the Approval Iformatio Maagemet (AIM) customer portal to track their active projects. AIM is
More informationCMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago
CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems
More informationFURTHER INTEGRATION TECHNIQUES (TRIG, LOG, EXP FUNCTIONS)
Mathematics Revisio Guides More Trigoometric ad Log Itegrals Page of 7 MK HOME TUITION Mathematics Revisio Guides Level: AS / A Level AQA : C Edexcel: C OCR: C OCR MEI: C FURTHER INTEGRATION TECHNIQUES
More informationImage Segmentation EEE 508
Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.
More informationRecursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames
Uit 4, Part 3 Recursio Computer Sciece S-111 Harvard Uiversity David G. Sulliva, Ph.D. Review: Method Frames Whe you make a method call, the Java rutime sets aside a block of memory kow as the frame of
More informationOCR Statistics 1. Working with data. Section 3: Measures of spread
Notes ad Eamples OCR Statistics 1 Workig with data Sectio 3: Measures of spread Just as there are several differet measures of cetral tedec (averages), there are a variet of statistical measures of spread.
More informationBezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only
Edited: Yeh-Liag Hsu (998--; recommeded: Yeh-Liag Hsu (--9; last updated: Yeh-Liag Hsu (9--7. Note: This is the course material for ME55 Geometric modelig ad computer graphics, Yua Ze Uiversity. art of
More informationCOP4020 Programming Languages. Functional Programming Prof. Robert van Engelen
COP4020 Programmig Laguages Fuctioal Programmig Prof. Robert va Egele Overview What is fuctioal programmig? Historical origis of fuctioal programmig Fuctioal programmig today Cocepts of fuctioal programmig
More informationBAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8
BAAN IVc/BaaERP A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved. The iformatio i this documet is subject
More informationAdministrative UNSUPERVISED LEARNING. Unsupervised learning. Supervised learning 11/25/13. Final project. No office hours today
Admiistrative Fial project No office hours today UNSUPERVISED LEARNING David Kauchak CS 451 Fall 2013 Supervised learig Usupervised learig label label 1 label 3 model/ predictor label 4 label 5 Supervised
More informationBaan Finance Financial Statements
Baa Fiace Fiacial Statemets Module Procedure UP041A US Documetiformatio Documet Documet code : UP041A US Documet group : User Documetatio Documet title : Fiacial Statemets Applicatio/Package : Baa Fiace
More informationCivil Engineering Computation
Civil Egieerig Computatio Fidig Roots of No-Liear Equatios March 14, 1945 World War II The R.A.F. first operatioal use of the Grad Slam bomb, Bielefeld, Germay. Cotets 2 Root basics Excel solver Newto-Raphso
More informationChapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3
More informationIntroduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition
Lecture Goals Itroductio to Computig Systems: From Bits ad Gates to C ad Beyod 2 d Editio Yale N. Patt Sajay J. Patel Origial slides from Gregory Byrd, North Carolia State Uiversity Modified slides by
More informationChapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig
More informationCubic Polynomial Curves with a Shape Parameter
roceedigs of the th WSEAS Iteratioal Coferece o Robotics Cotrol ad Maufacturig Techology Hagzhou Chia April -8 00 (pp5-70) Cubic olyomial Curves with a Shape arameter MO GUOLIANG ZHAO YANAN Iformatio ad
More informationA Note on Least-norm Solution of Global WireWarping
A Note o Least-orm Solutio of Global WireWarpig Charlie C. L. Wag Departmet of Mechaical ad Automatio Egieerig The Chiese Uiversity of Hog Kog Shati, N.T., Hog Kog E-mail: cwag@mae.cuhk.edu.hk Abstract
More informationCHAPTER IV: GRAPH THEORY. Section 1: Introduction to Graphs
CHAPTER IV: GRAPH THEORY Sectio : Itroductio to Graphs Sice this class is called Number-Theoretic ad Discrete Structures, it would be a crime to oly focus o umber theory regardless how woderful those topics
More informationCS475 Parallel Programming
CS475 Parallel Programmig Dese Matrix Multiply Wim Bohm, Colorado State Uiversity Except as otherwise oted, the cotet of this presetatio is licesed uder the Creative Commos Attributio 2.5 licese. Block
More informationOne advantage that SONAR has over any other music-sequencing product I ve worked
*gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig
More informationChapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.
Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4
More informationUNIT 4C Iteration: Scalability & Big O. Efficiency
UNIT 4C Iteratio: Scalability & Big O 1 Efficiecy A computer program should be totally correct, but it should also execute as quickly as possible (time-efficiecy) use memory wisely (storage-efficiecy)
More informationWeb OS Switch Software
Web OS Switch Software BBI Quick Guide Nortel Networks Part Number: 213164, Revisio A, July 2000 50 Great Oaks Boulevard Sa Jose, Califoria 95119 408-360-5500 Mai 408-360-5501 Fax www.orteletworks.com
More informationPruning and Summarizing the Discovered Time Series Association Rules from Mechanical Sensor Data Qing YANG1,a,*, Shao-Yu WANG1,b, Ting-Ting ZHANG2,c
Advaces i Egieerig Research (AER), volume 131 3rd Aual Iteratioal Coferece o Electroics, Electrical Egieerig ad Iformatio Sciece (EEEIS 2017) Pruig ad Summarizig the Discovered Time Series Associatio Rules
More informationThreads and Concurrency in Java: Part 1
Cocurrecy Threads ad Cocurrecy i Java: Part 1 What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationn Explore virtualization concepts n Become familiar with cloud concepts
Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to
More informationNew Results on Energy of Graphs of Small Order
Global Joural of Pure ad Applied Mathematics. ISSN 0973-1768 Volume 13, Number 7 (2017), pp. 2837-2848 Research Idia Publicatios http://www.ripublicatio.com New Results o Eergy of Graphs of Small Order
More informationThreads and Concurrency in Java: Part 1
Threads ad Cocurrecy i Java: Part 1 1 Cocurrecy What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationAnalysis of Algorithms
Aalysis of Algorithms Ruig Time of a algorithm Ruig Time Upper Bouds Lower Bouds Examples Mathematical facts Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite
More informationSection 7.2: Direction Fields and Euler s Methods
Sectio 7.: Directio ields ad Euler s Methods Practice HW from Stewart Tetbook ot to had i p. 5 # -3 9-3 odd or a give differetial equatio we wat to look at was to fid its solutio. I this chapter we will
More informationMessage Integrity and Hash Functions. TELE3119: Week4
Message Itegrity ad Hash Fuctios TELE3119: Week4 Outlie Message Itegrity Hash fuctios ad applicatios Hash Structure Popular Hash fuctios 4-2 Message Itegrity Goal: itegrity (ot secrecy) Allows commuicatig
More informationConvex hull ( 凸殻 ) property
Covex hull ( 凸殻 ) property The covex hull of a set of poits S i dimesios is the itersectio of all covex sets cotaiig S. For N poits P,..., P N, the covex hull C is the give by the expressio The covex hull
More informationChapter 8. Strings and Vectors. Copyright 2014 Pearson Addison-Wesley. All rights reserved.
Chapter 8 Strigs ad Vectors Overview 8.1 A Array Type for Strigs 8.2 The Stadard strig Class 8.3 Vectors Slide 8-3 8.1 A Array Type for Strigs A Array Type for Strigs C-strigs ca be used to represet strigs
More informationThe isoperimetric problem on the hypercube
The isoperimetric problem o the hypercube Prepared by: Steve Butler November 2, 2005 1 The isoperimetric problem We will cosider the -dimesioal hypercube Q Recall that the hypercube Q is a graph whose
More informationcondition w i B i S maximum u i
ecture 10 Dyamic Programmig 10.1 Kapsack Problem November 1, 2004 ecturer: Kamal Jai Notes: Tobias Holgers We are give a set of items U = {a 1, a 2,..., a }. Each item has a weight w i Z + ad a utility
More informationBASED ON ITERATIVE ERROR-CORRECTION
A COHPARISO OF CRYPTAALYTIC PRICIPLES BASED O ITERATIVE ERROR-CORRECTIO Miodrag J. MihaljeviC ad Jova Dj. GoliC Istitute of Applied Mathematics ad Electroics. Belgrade School of Electrical Egieerig. Uiversity
More informationStone Images Retrieval Based on Color Histogram
Stoe Images Retrieval Based o Color Histogram Qiag Zhao, Jie Yag, Jigyi Yag, Hogxig Liu School of Iformatio Egieerig, Wuha Uiversity of Techology Wuha, Chia Abstract Stoe images color features are chose
More informationGE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III
GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-
More informationA Taste of Maya. Character Setup
This tutorial goes through the steps to add aimatio cotrols to a previously modeled character. The character i the scee below is wearig clothes made with Cloth ad the sceery has bee created with Pait Effects.
More informationCOP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen
COP4020 mig Laguages Compilers ad Iterpreters Prof. Robert va Egele Overview Commo compiler ad iterpreter cofiguratios Virtual machies Itegrated developmet eviromets Compiler phases Lexical aalysis Sytax
More informationChapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,
More informationPolynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0
Polyomial Fuctios ad Models 1 Learig Objectives 1. Idetify polyomial fuctios ad their degree 2. Graph polyomial fuctios usig trasformatios 3. Idetify the real zeros of a polyomial fuctio ad their multiplicity
More informationTask scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation
6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08
More informationOverview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup
Chapter 18 Vectors ad Arrays Bjare Stroustrup Vector revisited How are they implemeted? Poiters ad free store Destructors Iitializatio Copy ad move Arrays Array ad poiter problems Chagig size Templates
More informationAUTOMATICALLY AND ACCURATELY MATCHING OBJECTS IN GEOSPATIAL DATASETS
AUTOMATICALLY AND ACCURATELY MATCHING OBJECTS IN GEOSPATIAL DATASETS L. Li a, *, M. F. Goodchild a a Dept. of Geography, Uiversity of Califoria, Sata Barbara, CA, 93106 US - (lia, good)@geog.ucsb.edu KEY
More informationLecture 14. Shell. File descriptors. File table and descriptors. Fork and exec Fd manipulation Pipes
218 Dr. Jeffrey A. Turkstra 1 Lecture 14 File table ad descriptors CS 252: Systems Programmig Lecture 14: Files, Fork, ad Pipes Fork ad exec Fd maipulatio Pipes Dr. Jef Turkstra 218 Dr. Jeffrey A. Turkstra
More informationn The C++ template facility provides the ability to define n A generic facility allows code to be written once then
UCLA PIC 10 B Problem Solvig usig C++ Programmig Ivo Diov, Asst. Prof. i Mathematics, Neurology, Statistics Istructor: Teachig Assistat: Suzae Nezzar, Mathematics Chapter 13 Templates for More Abstractio
More informationBehavioral Modeling in Verilog
Behavioral Modelig i Verilog COE 202 Digital Logic Desig Dr. Muhamed Mudawar Kig Fahd Uiversity of Petroleum ad Mierals Presetatio Outlie Itroductio to Dataflow ad Behavioral Modelig Verilog Operators
More informationCSE 417: Algorithms and Computational Complexity
Time CSE 47: Algorithms ad Computatioal Readig assigmet Read Chapter of The ALGORITHM Desig Maual Aalysis & Sortig Autum 00 Paul Beame aalysis Problem size Worst-case complexity: max # steps algorithm
More informationParabolic Path to a Best Best-Fit Line:
Studet Activity : Fidig the Least Squares Regressio Lie By Explorig the Relatioship betwee Slope ad Residuals Objective: How does oe determie a best best-fit lie for a set of data? Eyeballig it may be
More informationTHIN LAYER ORIENTED MAGNETOSTATIC CALCULATION MODULE FOR ELMER FEM, BASED ON THE METHOD OF THE MOMENTS. Roman Szewczyk
THIN LAYER ORIENTED MAGNETOSTATIC CALCULATION MODULE FOR ELMER FEM, BASED ON THE METHOD OF THE MOMENTS Roma Szewczyk Istitute of Metrology ad Biomedical Egieerig, Warsaw Uiversity of Techology E-mail:
More informationFast Fourier Transform (FFT) Algorithms
Fast Fourier Trasform FFT Algorithms Relatio to the z-trasform elsewhere, ozero, z x z X x [ ] 2 ~ elsewhere,, ~ e j x X x x π j e z z X X π 2 ~ The DFS X represets evely spaced samples of the z- trasform
More informationCORD Test Project in Okinawa Open Laboratory
CORD Test Project i Okiawa Ope Laboratory Fukumasa Morifuji NTT Commuicatios Trasform your busiess, trasced expectatios with our techologically advaced solutios. Ageda VxF platform i NTT Commuicatios Expectatio
More informationWhat are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs
What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure
More informationthe beginning of the program in order for it to work correctly. Similarly, a Confirm
I our sytax, a Assume statemet will be used to record what must be true at the begiig of the program i order for it to work correctly. Similarly, a Cofirm statemet is used to record what should be true
More informationJavaFX. JavaFX 2.2 Installation Guide Release 2.2 E August 2012 Installation instructions by operating system for JavaFX 2.
JavaFX JavaFX 2.2 Istallatio Guide Release 2.2 E20474-06 August 2012 Istallatio istructios by operatig system for JavaFX 2.2 JavaFX/JavaFX 2.2 Istallatio Guide E20474-06 Copyright 2008, 2012, Oracle ad/or
More informationChapter 8. Strings and Vectors. Copyright 2015 Pearson Education, Ltd.. All rights reserved.
Chapter 8 Strigs ad Vectors Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 8.1 A Array Type for Strigs 8.2 The Stadard strig Class 8.3 Vectors Copyright 2015 Pearso Educatio, Ltd..
More informationTransitioning to BGP
Trasitioig to BGP ISP Workshops These materials are licesed uder the Creative Commos Attributio-NoCommercial 4.0 Iteratioal licese (http://creativecommos.org/liceses/by-c/4.0/) Last updated 24 th April
More informationA Boolean Query Processing with a Result Cache in Mediator Systems
A Boolea Query Processig with a Result Cache i Mediator Systems Jae-heo Cheog ad Sag-goo Lee * Departmet of Computer Sciece Seoul Natioal Uiversity Sa 56-1 Shillim-dog Kwaak-gu, Seoul Korea {cjh, sglee}cygus.su.ac.kr
More informationWEBSITE STRUCTURE IMPROVEMENT USING ANT COLONY TECHNIQUE
WEBSITE STRUCTURE IMPROVEMENT USING ANT COLONY TECHNIQUE Wiwik Aggraei 1, Agyl Ardi Rahmadi 1, Radityo Prasetyo Wibowo 1 1 Iformatio System Departmet, Faculty of Iformatio Techology, Istitut Tekologi Sepuluh
More information