Transparent neutral-element elimination in MPI reduction operations
|
|
- Marvin Quentin Gibson
- 6 years ago
- Views:
Transcription
1 Trnsprent neutrl-element elimintion in MPI reduction opertions Jesper Lrsson Träff Deprtment of Scientific Computing University of Vienn
2 Disclimer Exploiting repetition nd sprsity in input for reducing (communiction) costs is nothing new in MPI librries [Filgueir et l., EuroPVM/MPI 2009] [HofmnnRünger, EuroPVM/MPI 2008] Exploiting lgebric (neutrl element) properties for compression nd computtion nturl for MPI reduction opertions: MPI_Reduce, MPI_Allreduce, MPI_Reduce_sctter, MPI_Scn,
3 Contributions: Neutrl element elimintion cn be incorported smoothly (for MPI implementer) nd trnsprently (to MPI user) in ANY MPI implementtion bsed on point-to-point communiction nd MPI_Reduce_locl with little performnce overhed nd potentilly lrge svings esily extended to messge compression for reduction opertions Missing functionlity in MPI stndrd? Strtegy: Develop bsic librry internl functionlity (3 functions!) Incorporte in two stndrd MPI_Reduce lgorithms Demonstrte smll overhed nd svings by compring to stndrd nd ntive MPI_Reduce implementtions Lrger theme: dt dependent optimiztions, hrd to model,
4 Neutrl elements in prllel reduction opertions Exmple: MPI_Reduce(,b,count,type,MPI_SUM,root,comm); count = b b b b Observtion/clim: sums vector contributions, one per process, result vector t root Reduction opertions (MPI_Allreduce, MPI_Reduce, MPI_Reduce_sctter, MPI_Scn) re mong the (most) used MPI collectives
5 Neutrl elements in prllel reduction opertions Exmple: MPI_Reduce(,b,count,type,MPI_SUM,root,comm); count = b b b b sums vector contributions, one per process, result vector t root Observtion/clim: Typicl pplictions reduce either very short or very long vectors
6 Sclr ddition + hs 0 s neutrl element: 0+ =, +0 = For vectors: = 2 0 count Algebric property: No need to perform ddition in rows with 0 No need to communicte 0 (explicitly) Only need to communicte nd use indices of non-0 es
7 Clim: Long vectors sometimes/often hve mny neutrl-elements (bnded vectors) - must be verified by ppliction study = Note: Vector summnds my hve different structure
8 Clim: Long vectors sometimes hve mny neutrl-elements (bnded vectors) - must be verified by ppliction study Note: + = = Intermedite neutrl elements my rise
9 Exmple: sprse exchnge (counting messges, lso for MPI_Win_fence) Ech process hs n individul messge to some (not ll) of the other processes but receivers do not know. Do this exchnge collectively i MPI_Send neighbors Question: how to set up the corresponding MPI_Recv clls?
10 Process i: [Hoefler et l.: Sclble protocols for dynmic sprse exchnge, 2010] for (j=0; j<p; j++) msgto[j] = 0; for (j in neighbors) msgto[j] = 1; MPI_Reduce_sctter_block(msgto,gets,1,MPI_SUM,comm); for (j=0; j<gets; j++) { MPI_Recv(dt,,MPI_ANY_SOURCE,); } For sprse exchnge (e.g. MPI_Win_fence), messge vector hs few non-zero s, mny, mny zero s Attrctive to do reduction on sy 10-element neighborhoods insted of p=100,000 element full vectors
11 MPI_Reduce(,b,count,dttype,op,root,comm); dttype MPI_INT MPI_SHORT MPI_LONG MPI_FLOAT MPI_DOUBLE op: MPI_MIN MPI_MAX MPI_SUM MPI_PROD MPI_BAND MPI_LAND User-defined x = neutrl: mxint, minint, 0, 0, 1, 1, Most predefined MPI op s hve neutrl element for most bsic dttypes Note: for MPI_LAND the neutrl element is nything nonzero
12 MPI_Reduce(,b,count,dttype,op,root,comm); dttype MPI_INT MPI_SHORT MPI_LONG MPI_FLOAT MPI_DOUBLE op: MPI_MIN MPI_MAX MPI_SUM MPI_PROD MPI_BAND MPI_LAND User-defined x = neutrl: mxint, minint, 0, 0, 1, 1, Most predefined MPI op s hve neutrl element for most bsic dttypes Note: no wy to know whether user-defined opertion hs neutrl element
13 Gol: Find esy, smooth, trnsprent wy not to perform locl, pirwise reduction (MPI_SUM) on neutrl elements send/receive neutrl elements for ll combintions of MPI opertion nd MPI dttype Note: not possible to do this with existing MPI (derived dttype) functionlity
14 Typicl reduction lgorithms 1. MPI_Recv j 2. MPI_Reduce_locl 0. MPI_Send i k Trees (pipelined) 2. MPI_Reduce_locl 1. MPI_Recv Liner pipeline i j k MPI_Send Butterfly pttern
15 Typicl reduction lgorithms with neutrl element elimintoin 1. SPS_Recv_comp j 2. SPS_Reduce_locl_sprse 0. SPS_Send_elim i k Trees (pipelined) 2. SPS_Reduce_locl_sprse 1. SPS_Recv_comp Liner pipeline i j k SPS_Send_elim Butterfly pttern
16 Typicl reduction lgorithms with neutrl element elimintion 1. SPS_Recv_comp j 2. SPS_Reduce_locl_sprse 0. SPS_Send_elim i k Trees (pipelined) 1. Decide on compressed formt 2. SPS_Send_elim sends messge with 0 s eliminted 3. SPS_Reduce_locl_sprse - reduction on received, sprse vector ginst uncompressed vector 4. SPS_Get_neutrl(op,type,*neutrl) lookup of neutrl element for op/type 5. No need for specil SPS_Recv_comp function (see next slides)
17 Typicl reduction lgorithms with neutrl element elimintion 1. SPS_Recv_comp (tempbuf,) j 2 SPS_Reduce_locl_sprse (tempbuf,recvbuf,) 0. SPS_Send_elim i k Trees (pipelined) Smooth, trnsprent mens: further chnges should not be necessry, sme intermedite buffers for MPI_Recv nd MPI_Reduce_locl cn be used
18 Typicl reduction lgorithms with neutrl element elimintion 1. SPS_Recv_comp j 2. SPS_Reduce_locl_sprse 0. SPS_Send_elim i k Trees (pipelined) Note: With this ide, the sme number of messges re sent s in the stndrd, uncompressed lgorithm. Mximum improvement is therefore bound by time to send full (uncompressed) messge-block divided by time to send (fully compressed) messge of size 0
19 1. Compressed formt Vector of indices of non-zeroes followed by vector of vlues y1 yi 0 0 ix vl [0,7,11,1023,],[y1,yi,] (list of index-vlue pirs would give lignment problems for eg. CHAR dttypes) Note: only mkes sense if more thn hlf the elements re 0 es Distinguish uncompressed/compressed messge by new tgs: DENSETAG SPARSETAG - uncompressed vector index vector followed by vlues
20 2. SPS_Send_elim(sendbuf,count,type,dest,tg,neutrl,comm); MPI_Type_size(type,&typesize); spce = 0; j = 0; for (i=0; i<count; i++) { if (sendbuf[i]!=*neutrl) { spce += sizeof(int)+typesize; index[j++] = i; } if (spce>=cutoff) brek; } if (spce>=cutoff) { // no compression possible, send norml MPI_Send(sendbuf,totl,MPI_BYTE,dest,DENSETAG,comm); } else { vlue = (type*)(index+j); // vlues fter indices for (i=0; i<j; i++) vlue[i] = sendbuf[index[i]]; MPI_Send(index,spce,MPI_BYTE,dest,SPARSETAG,comm); } Property: never sends more thn MPI_Send would hve done
21 2. SPS_Send_elim(sendbuf,count,type,dest,tg,neutrl,comm); MPI_Type_size(type,&typesize); spce = 0; j = 0; for (i=0; i<count; i++) { if (sendbuf[i]!=*neutrl) { spce += sizeof(int)+typesize; index[j++] = i; } if (spce>=cutoff) brek; } if (spce>=cutoff) { // no compression possible, send norml MPI_Send(sendbuf,totl,MPI_BYTE,dest,DENSETAG,comm); } else { vlue = (type*)(index+j); // vlues fter indices for (i=0; i<j; i++) vlue[i] = sendbuf[index[i]]; MPI_Send(index,spce,MPI_BYTE,dest,SPARSETAG,comm); } Drwbck: sendbuf is ccessed twice (finding indices, copying non-neutrl elements)
22 2. SPS_Send_elim(sendbuf,count,type,dest,tg,neutrl,comm); MPI_Type_size(type,&typesize); spce = 0; j = 0; for (i=0; i<count; i++) { if (sendbuf[i]!=*neutrl) { spce += sizeof(int)+typesize; index[j++] = i; } if (spce>=cutoff) brek; } if (spce>=cutoff) { // no compression possible, send norml MPI_Send(sendbuf,totl,MPI_BYTE,dest,DENSETAG,comm); } else { vlue = (type*)(index+j); // vlues fter indices for (i=0; i<j; i++) vlue[i] = sendbuf[index[i]]; MPI_Send(index,spce,MPI_BYTE,dest,SPARSETAG,comm); } Remrk: slight misuse of MPI_BYTE
23 Note: extr buffer (llocted in SPS_Send_elim) is needed, in-plce implementtion rrely mkes sense MPI_Reduce(sendbuf,) { MPI_Isend(sendbuf, ); } sendbuf must remin unchnged fter return from (blocking) MPI_Reduce cll (from non-blocking MPI_Ireduce cll, simultneous usge of sendbuf llowed in ddition)
24 3. SPS_Reduce_locl_sprse(index,in,inout,count,type,MPI_SUM); for (i=0; i<count; i++) inout[index[i]] = in[i]+inout[index[i]]; Locl reduction determined by tg, no need for SPS_Recv_comp: MPI_Recv(tempbuf,blocksize,MPI_BYTE,child,MPI_ANY_TAG, comm,&sttus); if (sttus.mpi_tag==densetag) { MPI_Reduce_locl(tempbuf,recvbuf,count,type,op); } else if (sttus.mpi_tag==sparsetag) { MPI_Get_count(&sttus,MPI_BYTE,&sprsecount); sprsecount = sprsecount/(sizeof(int)+typesize); index = (int*)tempbuf; vlue = (void*)(index+sprsecount); MPI_Reduce_locl_index(index,vlue,recvbuf,sprsecount, type,op); } else { // impossible for dt sent with SPS_Send_elim }
25 4. SPS_Get_neutrl(op,type,*neutrl) Return pointer to neutrl element for op/type combintion Fct: neutrl element defined nd known for MPI built-in opertors Missing in MPI 2.2 stndrd: - or extend MPI_Op_crete MPI_Op_set_neutrl(op,type,neutrl): IN op MPI opertion (user-defined) IN type dttype for op, bsic or derived IN neutrl pointer to neutrl element for op on type wy to inform MPI librry bout possible neutrl element for userdefined opertion (+ query function)
26 Performnce some experiments Implemented MPI_Reduce with Binomil tree reduction for short vectors Liner pipeline for long vectors (switch point round 8K bytes) Experiments on new, 64-core, 4x16 Intel Nehlem system with InfiniBnd t University of Vienn Mesure: 1. Gin s function of density of neutrl elements 2. Overhed of elimintion 3. Gin for different dttypes 4. Gin with different intermedite results (more/less neutrl elements)
27 Input: 1. Strided vectors: offset, (block of non-zeroes, stride of zeroes)* 2. Ops: MPI_SUM, MPI_MAX, MPI_MIN, MPI_BOR, MPI_PROD, 3. Types: MPI_INT, MPI_SHORT, MPI_SIGNED_CHAR,MPI_FLOAT, MPI_DOUBLE, By setting offset dependent on process rnk, vectors with different structure nd overlps cn be generted, s well s cses where the sprsity chnges Note: no clim tht implemented lgorithms re best possible; therefore comprison to ntive lso
28 Fctor 3 improvement, close to mximum possible
29 Reminder: Since the sme number of dt blocks re sent nd loclly reduced s in originl, non-elimintion lgorithm, the mximum improvement is the time to send full (non-compressed) block divided by the time to send n empty (fully compressed) block For the pipelined lgorithms, B=8K, nd this rtio is between 3 nd 4 on the Nehlem/Infinibnd system!
30
31 Virtully no overhed for lrge vectors Ntive MPI_Reduce no good
32 Some overhed for short vectors
33 More thn fctor 3
34 Smller improvement, sizeof(chr) < sizeof(int)
35
36 1. Better(?) compressed formt Not in pper Avoid extr scn of sendbuf, exploit repetitions (RLE) Block of sme non-neutrl elements ix single ix-1<0 ix vl ix vl ix ix vl strt ix>=0 end ix>0 strt ix>=0 end ix<0 Block of different non-neutrl elements
37 do { while (i<count&&(n=sender[i])==e) i++; ii = i; /* skip neutrl */ do i++; while (i<count&&sender[i]==n); /* look for repetitions */ if (i-ii>=2) { index[0] = ii; index[1] = -i; buffer = index+2; index = buffer+1; buffer[0] = n; spce += sizeof(int)+sizeof(int)+sizeof(int); } else { /* not enough sme element repetitions */ if (sender[i]==e) { /* single non-neutrl element */ index[0] = -ii; buffer = index+2; index = buffer+1; i++; buffer[0] = n; spce += sizeof(int)+sizeof(int); } else { index[0] = ii; buffer = index+2; spce += (i-ii)*sizeof(int); for (; ii<i; ii++,buffer++) buffer[0] = n; /* repet element */ while (i<count&&sender[i]!=e) { (buffer++)[0] = sender[i++]; } index[1] = i; index = buffer; spce += (i-ii)*sizeof(int)+sizeof(int)+sizeof(int); } } } while (i<_count&&spce<cutoff);
38 Now: Single scn through sendbuf suffices, cutoff when compressed buffer becomes too lrge (t most size of originl sendbuf) SPS_Reduce_locl_sprse need to be chnged ccordingly, not difficult, nd potentilly fster Experiments: pending Advntge of originl formt (s described in pper): esy to implement, vectorizes, double scn probbly does not mtter for smll blocks in cche (pipelined lgorithms)
39 Summry, remrks 1. Simple, trnsprent technique for neutrl element elimintion for MPI reduction opertions 2. Close to mximum possible improvement cn be chieved 3. Very little overhed with creful tuning, recommended for stndrd use 4. Also crried out s student project t the University of Vienn thus implementtion effort is limited 5. Code cn be mde vilble Dt dependent optimiztions in MPI librries? -implementble with smll overhed -or tke hints from ppliction on specil structure -Mkes performnce modeling even more difficult!!
Dynamic Programming. Andreas Klappenecker. [partially based on slides by Prof. Welch] Monday, September 24, 2012
Dynmic Progrmming Andres Klppenecker [prtilly bsed on slides by Prof. Welch] 1 Dynmic Progrmming Optiml substructure An optiml solution to the problem contins within it optiml solutions to subproblems.
More informationAllocator Basics. Dynamic Memory Allocation in the Heap (malloc and free) Allocator Goals: malloc/free. Internal Fragmentation
Alloctor Bsics Dynmic Memory Alloction in the Hep (mlloc nd free) Pges too corse-grined for llocting individul objects. Insted: flexible-sized, word-ligned blocks. Allocted block (4 words) Free block (3
More informationLecture 10 Evolutionary Computation: Evolution strategies and genetic programming
Lecture 10 Evolutionry Computtion: Evolution strtegies nd genetic progrmming Evolution strtegies Genetic progrmming Summry Negnevitsky, Person Eduction, 2011 1 Evolution Strtegies Another pproch to simulting
More informationWhat do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers
Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single
More informationPresentation Martin Randers
Presenttion Mrtin Rnders Outline Introduction Algorithms Implementtion nd experiments Memory consumption Summry Introduction Introduction Evolution of species cn e modelled in trees Trees consist of nodes
More informationAlgorithm Design (5) Text Search
Algorithm Design (5) Text Serch Tkshi Chikym School of Engineering The University of Tokyo Text Serch Find sustring tht mtches the given key string in text dt of lrge mount Key string: chr x[m] Text Dt:
More informationWhat do all those bits mean now? Number Systems and Arithmetic. Introduction to Binary Numbers. Questions About Numbers
Wht do ll those bits men now? bits (...) Number Systems nd Arithmetic or Computers go to elementry school instruction R-formt I-formt... integer dt number text chrs... floting point signed unsigned single
More informationPARALLEL AND DISTRIBUTED COMPUTING
PARALLEL AND DISTRIBUTED COMPUTING 2009/2010 1 st Semester Teste Jnury 9, 2010 Durtion: 2h00 - No extr mteril llowed. This includes notes, scrtch pper, clcultor, etc. - Give your nswers in the ville spce
More informationUNIT 11. Query Optimization
UNIT Query Optimiztion Contents Introduction to Query Optimiztion 2 The Optimiztion Process: An Overview 3 Optimiztion in System R 4 Optimiztion in INGRES 5 Implementing the Join Opertors Wei-Png Yng,
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More informationQuestions About Numbers. Number Systems and Arithmetic. Introduction to Binary Numbers. Negative Numbers?
Questions About Numbers Number Systems nd Arithmetic or Computers go to elementry school How do you represent negtive numbers? frctions? relly lrge numbers? relly smll numbers? How do you do rithmetic?
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology
More informationEngineer To Engineer Note
Engineer To Engineer Note EE-186 Technicl Notes on using Anlog Devices' DSP components nd development tools Contct our technicl support by phone: (800) ANALOG-D or e-mil: dsp.support@nlog.com Or visit
More informationFile Manager Quick Reference Guide. June Prepared for the Mayo Clinic Enterprise Kahua Deployment
File Mnger Quick Reference Guide June 2018 Prepred for the Myo Clinic Enterprise Khu Deployment NVIGTION IN FILE MNGER To nvigte in File Mnger, users will mke use of the left pne to nvigte nd further pnes
More informationMATH 25 CLASS 5 NOTES, SEP
MATH 25 CLASS 5 NOTES, SEP 30 2011 Contents 1. A brief diversion: reltively prime numbers 1 2. Lest common multiples 3 3. Finding ll solutions to x + by = c 4 Quick links to definitions/theorems Euclid
More informationDigital Design. Chapter 6: Optimizations and Tradeoffs
Digitl Design Chpter 6: Optimiztions nd Trdeoffs Slides to ccompny the tetbook Digitl Design, with RTL Design, VHDL, nd Verilog, 2nd Edition, by Frnk Vhid, John Wiley nd Sons Publishers, 2. http://www.ddvhid.com
More informationOn String Matching in Chunked Texts
On String Mtching in Chunked Texts Hnnu Peltol nd Jorm Trhio {hpeltol, trhio}@cs.hut.fi Deprtment of Computer Science nd Engineering Helsinki University of Technology P.O. Box 5400, FI-02015 HUT, Finlnd
More informationECEN 468 Advanced Logic Design Lecture 36: RTL Optimization
ECEN 468 Advnced Logic Design Lecture 36: RTL Optimiztion ECEN 468 Lecture 36 RTL Design Optimiztions nd Trdeoffs 6.5 While creting dtpth during RTL design, there re severl optimiztions nd trdeoffs, involving
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology
More informationParallel Square and Cube Computations
Prllel Squre nd Cube Computtions Albert A. Liddicot nd Michel J. Flynn Computer Systems Lbortory, Deprtment of Electricl Engineering Stnford University Gtes Building 5 Serr Mll, Stnford, CA 945, USA liddicot@stnford.edu
More information12-B FRACTIONS AND DECIMALS
-B Frctions nd Decimls. () If ll four integers were negtive, their product would be positive, nd so could not equl one of them. If ll four integers were positive, their product would be much greter thn
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd business. Introducing technology
More informationCOMBINATORIAL PATTERN MATCHING
COMBINATORIAL PATTERN MATCHING Genomic Repets Exmple of repets: ATGGTCTAGGTCCTAGTGGTC Motivtion to find them: Genomic rerrngements re often ssocited with repets Trce evolutionry secrets Mny tumors re chrcterized
More informationCS 268: IP Multicast Routing
Motivtion CS 268: IP Multicst Routing Ion Stoic April 5, 2004 Mny pplictions requires one-to-mny communiction - E.g., video/udio conferencing, news dissemintion, file updtes, etc. Using unicst to replicte
More informationComplete Coverage Path Planning of Mobile Robot Based on Dynamic Programming Algorithm Peng Zhou, Zhong-min Wang, Zhen-nan Li, Yang Li
2nd Interntionl Conference on Electronic & Mechnicl Engineering nd Informtion Technology (EMEIT-212) Complete Coverge Pth Plnning of Mobile Robot Bsed on Dynmic Progrmming Algorithm Peng Zhou, Zhong-min
More informationSmall Business Networking
Why network is n essentil productivity tool for ny smll business Effective technology is essentil for smll businesses looking to increse the productivity of their people nd processes. Introducing technology
More informationIn the last lecture, we discussed how valid tokens may be specified by regular expressions.
LECTURE 5 Scnning SYNTAX ANALYSIS We know from our previous lectures tht the process of verifying the syntx of the progrm is performed in two stges: Scnning: Identifying nd verifying tokens in progrm.
More informationVery sad code. Abstraction, List, & Cons. CS61A Lecture 7. Happier Code. Goals. Constructors. Constructors 6/29/2011. Selectors.
6/9/ Abstrction, List, & Cons CS6A Lecture 7-6-9 Colleen Lewis Very sd code (define (totl hnd) (if (empty? hnd) (+ (butlst (lst hnd)) (totl (butlst hnd))))) STk> (totl (h c d)) 7 STk> (totl (h ks d)) ;;;EEEK!
More informationMA1008. Calculus and Linear Algebra for Engineers. Course Notes for Section B. Stephen Wills. Department of Mathematics. University College Cork
MA1008 Clculus nd Liner Algebr for Engineers Course Notes for Section B Stephen Wills Deprtment of Mthemtics University College Cork s.wills@ucc.ie http://euclid.ucc.ie/pges/stff/wills/teching/m1008/ma1008.html
More informationCSCI 104. Rafael Ferreira da Silva. Slides adapted from: Mark Redekopp and David Kempe
CSCI 0 fel Ferreir d Silv rfsilv@isi.edu Slides dpted from: Mrk edekopp nd Dvid Kempe LOG STUCTUED MEGE TEES Series Summtion eview Let n = + + + + k $ = #%& #. Wht is n? n = k+ - Wht is log () + log ()
More informationINTRODUCTION TO SIMPLICIAL COMPLEXES
INTRODUCTION TO SIMPLICIAL COMPLEXES CASEY KELLEHER AND ALESSANDRA PANTANO 0.1. Introduction. In this ctivity set we re going to introduce notion from Algebric Topology clled simplicil homology. The min
More information9 Graph Cutting Procedures
9 Grph Cutting Procedures Lst clss we begn looking t how to embed rbitrry metrics into distributions of trees, nd proved the following theorem due to Brtl (1996): Theorem 9.1 (Brtl (1996)) Given metric
More information5 Regular 4-Sided Composition
Xilinx-Lv User Guide 5 Regulr 4-Sided Composition This tutoril shows how regulr circuits with 4-sided elements cn be described in Lv. The type of regulr circuits tht re discussed in this tutoril re those
More informationBefore We Begin. Introduction to Spatial Domain Filtering. Introduction to Digital Image Processing. Overview (1): Administrative Details (1):
Overview (): Before We Begin Administrtive detils Review some questions to consider Winter 2006 Imge Enhncement in the Sptil Domin: Bsics of Sptil Filtering, Smoothing Sptil Filters, Order Sttistics Filters
More informationCS481: Bioinformatics Algorithms
CS481: Bioinformtics Algorithms Cn Alkn EA509 clkn@cs.ilkent.edu.tr http://www.cs.ilkent.edu.tr/~clkn/teching/cs481/ EXACT STRING MATCHING Fingerprint ide Assume: We cn compute fingerprint f(p) of P in
More informationA Tautology Checker loosely related to Stålmarck s Algorithm by Martin Richards
A Tutology Checker loosely relted to Stålmrck s Algorithm y Mrtin Richrds mr@cl.cm.c.uk http://www.cl.cm.c.uk/users/mr/ University Computer Lortory New Museum Site Pemroke Street Cmridge, CB2 3QG Mrtin
More informationUnit #9 : Definite Integral Properties, Fundamental Theorem of Calculus
Unit #9 : Definite Integrl Properties, Fundmentl Theorem of Clculus Gols: Identify properties of definite integrls Define odd nd even functions, nd reltionship to integrl vlues Introduce the Fundmentl
More informationAgilent Mass Hunter Software
Agilent Mss Hunter Softwre Quick Strt Guide Use this guide to get strted with the Mss Hunter softwre. Wht is Mss Hunter Softwre? Mss Hunter is n integrl prt of Agilent TOF softwre (version A.02.00). Mss
More informationSection 3.1: Sequences and Series
Section.: Sequences d Series Sequences Let s strt out with the definition of sequence: sequence: ordered list of numbers, often with definite pttern Recll tht in set, order doesn t mtter so this is one
More informationMidterm 2 Sample solution
Nme: Instructions Midterm 2 Smple solution CMSC 430 Introduction to Compilers Fll 2012 November 28, 2012 This exm contins 9 pges, including this one. Mke sure you hve ll the pges. Write your nme on the
More informationa(e, x) = x. Diagrammatically, this is encoded as the following commutative diagrams / X
4. Mon, Sept. 30 Lst time, we defined the quotient topology coming from continuous surjection q : X! Y. Recll tht q is quotient mp (nd Y hs the quotient topology) if V Y is open precisely when q (V ) X
More informationAlignment of Long Sequences. BMI/CS Spring 2012 Colin Dewey
Alignment of Long Sequences BMI/CS 776 www.biostt.wisc.edu/bmi776/ Spring 2012 Colin Dewey cdewey@biostt.wisc.edu Gols for Lecture the key concepts to understnd re the following how lrge-scle lignment
More informationDigital Design. Chapter 1: Introduction. Digital Design. Copyright 2006 Frank Vahid
Chpter : Introduction Copyright 6 Why Study?. Look under the hood of computers Solid understnding --> confidence, insight, even better progrmmer when wre of hrdwre resource issues Electronic devices becoming
More informationStack. A list whose end points are pointed by top and bottom
4. Stck Stck A list whose end points re pointed by top nd bottom Insertion nd deletion tke plce t the top (cf: Wht is the difference between Stck nd Arry?) Bottom is constnt, but top grows nd shrinks!
More informationAccelerating 3D convolution using streaming architectures on FPGAs
Accelerting 3D convolution using streming rchitectures on FPGAs Hohun Fu, Robert G. Clpp, Oskr Mencer, nd Oliver Pell ABSTRACT We investigte FPGA rchitectures for ccelerting pplictions whose dominnt cost
More informationData Flow on a Queue Machine. Bruno R. Preiss. Copyright (c) 1987 by Bruno R. Preiss, P.Eng. All rights reserved.
Dt Flow on Queue Mchine Bruno R. Preiss 2 Outline Genesis of dt-flow rchitectures Sttic vs. dynmic dt-flow rchitectures Pseudo-sttic dt-flow execution model Some dt-flow mchines Simple queue mchine Prioritized
More information2 Computing all Intersections of a Set of Segments Line Segment Intersection
15-451/651: Design & Anlysis of Algorithms Novemer 14, 2016 Lecture #21 Sweep-Line nd Segment Intersection lst chnged: Novemer 8, 2017 1 Preliminries The sweep-line prdigm is very powerful lgorithmic design
More informationThe Greedy Method. The Greedy Method
Lists nd Itertors /8/26 Presenttion for use with the textook, Algorithm Design nd Applictions, y M. T. Goodrich nd R. Tmssi, Wiley, 25 The Greedy Method The Greedy Method The greedy method is generl lgorithm
More informationStained Glass Design. Teaching Goals:
Stined Glss Design Time required 45-90 minutes Teching Gols: 1. Students pply grphic methods to design vrious shpes on the plne.. Students pply geometric trnsformtions of grphs of functions in order to
More informationSimrad ES80. Software Release Note Introduction
Simrd ES80 Softwre Relese 1.3.0 Introduction This document descries the chnges introduced with the new softwre version. Product: ES80 Softwre version: 1.3.0 This softwre controls ll functionlity in the
More informationRepresentation of Numbers. Number Representation. Representation of Numbers. 32-bit Unsigned Integers 3/24/2014. Fixed point Integer Representation
Representtion of Numbers Number Representtion Computer represent ll numbers, other thn integers nd some frctions with imprecision. Numbers re stored in some pproximtion which cn be represented by fixed
More informationIZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI
IZT DAB ContentServer, IZT S1000 Testing DAB Receivers Using ETI Appliction Note Rel-time nd offline modultion from ETI files Generting nd nlyzing ETI files Rel-time interfce using EDI/ETI IZT DAB CONTENTSERVER
More informationECE 468/573 Midterm 1 September 28, 2012
ECE 468/573 Midterm 1 September 28, 2012 Nme:! Purdue emil:! Plese sign the following: I ffirm tht the nswers given on this test re mine nd mine lone. I did not receive help from ny person or mteril (other
More informationStack Manipulation. Other Issues. How about larger constants? Frame Pointer. PowerPC. Alternative Architectures
Other Issues Stck Mnipultion support for procedures (Refer to section 3.6), stcks, frmes, recursion mnipulting strings nd pointers linkers, loders, memory lyout Interrupts, exceptions, system clls nd conventions
More informationAnswer Key Lesson 6: Workshop: Angles and Lines
nswer Key esson 6: tudent Guide ngles nd ines Questions 1 3 (G p. 406) 1. 120 ; 360 2. hey re the sme. 3. 360 Here re four different ptterns tht re used to mke quilts. Work with your group. se your Power
More information1 Quad-Edge Construction Operators
CS48: Computer Grphics Hndout # Geometric Modeling Originl Hndout #5 Stnford University Tuesdy, 8 December 99 Originl Lecture #5: 9 November 99 Topics: Mnipultions with Qud-Edge Dt Structures Scribe: Mike
More informationNetwork Interconnection: Bridging CS 571 Fall Kenneth L. Calvert All rights reserved
Network Interconnection: Bridging CS 57 Fll 6 6 Kenneth L. Clvert All rights reserved The Prolem We know how to uild (rodcst) LANs Wnt to connect severl LANs together to overcome scling limits Recll: speed
More informationSlides for Data Mining by I. H. Witten and E. Frank
Slides for Dt Mining y I. H. Witten nd E. Frnk Simplicity first Simple lgorithms often work very well! There re mny kinds of simple structure, eg: One ttriute does ll the work All ttriutes contriute eqully
More informationElena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.
DBMS Architecture SQL INSTRUCTION OPTIMIZER Dtbse Mngement Systems MANAGEMENT OF ACCESS METHODS BUFFER MANAGER CONCURRENCY CONTROL RELIABILITY MANAGEMENT Index Files Dt Files System Ctlog DATABASE 2 Query
More informationA New Learning Algorithm for the MAXQ Hierarchical Reinforcement Learning Method
A New Lerning Algorithm for the MAXQ Hierrchicl Reinforcement Lerning Method Frzneh Mirzzdeh 1, Bbk Behsz 2, nd Hmid Beigy 1 1 Deprtment of Computer Engineering, Shrif University of Technology, Tehrn,
More informationFrom Dependencies to Evaluation Strategies
From Dependencies to Evlution Strtegies Possile strtegies: 1 let the user define the evlution order 2 utomtic strtegy sed on the dependencies: use locl dependencies to determine which ttriutes to compute
More information1. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES)
Numbers nd Opertions, Algebr, nd Functions 45. SEQUENCES INVOLVING EXPONENTIAL GROWTH (GEOMETRIC SEQUENCES) In sequence of terms involving eponentil growth, which the testing service lso clls geometric
More informationFig.25: the Role of LEX
The Lnguge for Specifying Lexicl Anlyzer We shll now study how to uild lexicl nlyzer from specifiction of tokens in the form of list of regulr expressions The discussion centers round the design of n existing
More informationEngineer-to-Engineer Note
Engineer-to-Engineer Note EE-270 Technicl notes on using Anlog Devices DSPs, processors nd development tools Contct our technicl support t processor.support@nlog.com nd dsptools.support@nlog.com Or visit
More informationTree Structured Symmetrical Systems of Linear Equations and their Graphical Solution
Proceedings of the World Congress on Engineering nd Computer Science 4 Vol I WCECS 4, -4 October, 4, Sn Frncisco, USA Tree Structured Symmetricl Systems of Liner Equtions nd their Grphicl Solution Jime
More informationThe Distributed Data Access Schemes in Lambda Grid Networks
The Distributed Dt Access Schemes in Lmbd Grid Networks Ryot Usui, Hiroyuki Miygi, Yutk Arkw, Storu Okmoto, nd Noki Ymnk Grdute School of Science for Open nd Environmentl Systems, Keio University, Jpn
More informationDistributed Systems Principles and Paradigms
Distriuted Systems Principles nd Prdigms Chpter 11 (version April 7, 2008) Mrten vn Steen Vrije Universiteit Amsterdm, Fculty of Science Dept. Mthemtics nd Computer Science Room R4.20. Tel: (020) 598 7784
More informationImproved Fast Replanning for Robot Navigation in Unknown Terrain
Improved Fst Replnning for Robot Nvigtion in Unknown Terrin ollege of omputing Georgi Institute of Technology tlnt, G 0-00 GIT-OGSI-00/ Sven Koenig ollege of omputing Georgi Institute of Technology tlnt,
More informationCOMP 423 lecture 11 Jan. 28, 2008
COMP 423 lecture 11 Jn. 28, 2008 Up to now, we hve looked t how some symols in n lphet occur more frequently thn others nd how we cn sve its y using code such tht the codewords for more frequently occuring
More informationEasyMP Multi PC Projection Operation Guide
EsyMP Multi PC Projection Opertion Guide Contents 2 Introduction to EsyMP Multi PC Projection 5 EsyMP Multi PC Projection Fetures... 6 Connection to Vrious Devices... 6 Four-Pnel Disply... 6 Chnge Presenters
More informationLooking up objects in Pastry
Review: Pstry routing tbles 0 1 2 3 4 7 8 9 b c d e f 0 1 2 3 4 7 8 9 b c d e f 0 1 2 3 4 7 8 9 b c d e f 0 2 3 4 7 8 9 b c d e f Row0 Row 1 Row 2 Row 3 Routing tble of node with ID i =1fc s - For ech
More informationEECS150 - Digital Design Lecture 23 - High-level Design and Optimization 3, Parallelism and Pipelining
EECS150 - Digitl Design Lecture 23 - High-level Design nd Optimiztion 3, Prllelism nd Pipelining Nov 12, 2002 John Wwrzynek Fll 2002 EECS150 - Lec23-HL3 Pge 1 Prllelism Prllelism is the ct of doing more
More informationEpson Projector Content Manager Operation Guide
Epson Projector Content Mnger Opertion Guide Contents 2 Introduction to the Epson Projector Content Mnger Softwre 3 Epson Projector Content Mnger Fetures... 4 Setting Up the Softwre for the First Time
More informationCPSC 213. Polymorphism. Introduction to Computer Systems. Readings for Next Two Lectures. Back to Procedure Calls
Redings for Next Two Lectures Text CPSC 213 Switch Sttements, Understnding Pointers - 2nd ed: 3.6.7, 3.10-1st ed: 3.6.6, 3.11 Introduction to Computer Systems Unit 1f Dynmic Control Flow Polymorphism nd
More informationEnginner To Engineer Note
Technicl Notes on using Anlog Devices DSP components nd development tools from the DSP Division Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp_pplictions@nlog.com, FTP: ftp.nlog.com Using n ADSP-2181
More informationA Sparse Grid Representation for Dynamic Three-Dimensional Worlds
A Sprse Grid Representtion for Dynmic Three-Dimensionl Worlds Nthn R. Sturtevnt Deprtment of Computer Science University of Denver Denver, CO, 80208 sturtevnt@cs.du.edu Astrct Grid representtions offer
More information1 Drawing 3D Objects in Adobe Illustrator
Drwing 3D Objects in Adobe Illustrtor 1 1 Drwing 3D Objects in Adobe Illustrtor This Tutoril will show you how to drw simple objects with three-dimensionl ppernce. At first we will drw rrows indicting
More informationFault injection attacks on cryptographic devices and countermeasures Part 2
Fult injection ttcks on cryptogrphic devices nd countermesures Prt Isrel Koren Deprtment of Electricl nd Computer Engineering University of Msschusetts Amherst, MA Countermesures - Exmples Must first detect
More informationOutline. Tiling, formally. Expression tile as rule. Statement tiles as rules. Function calls. CS 412 Introduction to Compilers
CS 412 Introduction to Compilers Andrew Myers Cornell University Lectur8 Finishing genertion 9 Mr 01 Outline Tiling s syntx-directed trnsltion Implementing function clls Implementing functions Optimizing
More informationOn the Detection of Step Edges in Algorithms Based on Gradient Vector Analysis
On the Detection of Step Edges in Algorithms Bsed on Grdient Vector Anlysis A. Lrr6, E. Montseny Computer Engineering Dept. Universitt Rovir i Virgili Crreter de Slou sin 43006 Trrgon, Spin Emil: lrre@etse.urv.es
More information6.2 Volumes of Revolution: The Disk Method
mth ppliction: volumes by disks: volume prt ii 6 6 Volumes of Revolution: The Disk Method One of the simplest pplictions of integrtion (Theorem 6) nd the ccumultion process is to determine so-clled volumes
More informationUnit 5 Vocabulary. A function is a special relationship where each input has a single output.
MODULE 3 Terms Definition Picture/Exmple/Nottion 1 Function Nottion Function nottion is n efficient nd effective wy to write functions of ll types. This nottion llows you to identify the input vlue with
More informationTries. Yufei Tao KAIST. April 9, Y. Tao, April 9, 2013 Tries
Tries Yufei To KAIST April 9, 2013 Y. To, April 9, 2013 Tries In this lecture, we will discuss the following exct mtching prolem on strings. Prolem Let S e set of strings, ech of which hs unique integer
More informationUnion-Find Problem. Using Arrays And Chains. A Set As A Tree. Result Of A Find Operation
Union-Find Problem Given set {,,, n} of n elements. Initilly ech element is in different set. ƒ {}, {},, {n} An intermixed sequence of union nd find opertions is performed. A union opertion combines two
More informationChapter 1: Introduction
Chpter : Introduction Slides to ccompny the textbook, First Edition, by, John Wiley nd Sons Publishers, 7. http://www.ddvhid.com Copyright 7 Instructors of courses requiring Vhid's textbook (published
More informationTool Vendor Perspectives SysML Thus Far
Frontiers 2008 Pnel Georgi Tec, 05-13-08 Tool Vendor Perspectives SysML Thus Fr Hns-Peter Hoffmnn, Ph.D Chief Systems Methodologist Telelogic, Systems & Softwre Modeling Business Unit Peter.Hoffmnn@telelogic.com
More informationEpson iprojection Operation Guide (Windows/Mac)
Epson iprojection Opertion Guide (Windows/Mc) Contents 2 Introduction to Epson iprojection 5 Epson iprojection Fetures... 6 Connection to Vrious Devices... 6 Four-Pnel Disply... 6 Chnge Presenters nd Projection
More informationLECT-10, S-1 FP2P08, Javed I.
A Course on Foundtions of Peer-to-Peer Systems & Applictions LECT-10, S-1 CS /799 Foundtion of Peer-to-Peer Applictions & Systems Kent Stte University Dept. of Computer Science www.cs.kent.edu/~jved/clss-p2p08
More informationL. Yaroslavsky. Fundamentals of Digital Image Processing. Course
L. Yroslvsky. Fundmentls of Digitl Imge Processing. Course 0555.330 Lecture. Imge enhncement.. Imge enhncement s n imge processing tsk. Clssifiction of imge enhncement methods Imge enhncement is processing
More informationScalable Distributed Data Structures: A Survey Λ
Sclble Distributed Dt Structures: A Survey Λ ADRIANO DI PASQUALE University of L Aquil, Itly ENRICO NARDELLI University of L Aquil nd Istituto di Anlisi dei Sistemi ed Informtic, Itly Abstrct This pper
More informationMid-term exam. Scores. Fall term 2012 KAIST EE209 Programming Structures for EE. Thursday Oct 25, Student's name: Student ID:
Fll term 2012 KAIST EE209 Progrmming Structures for EE Mid-term exm Thursdy Oct 25, 2012 Student's nme: Student ID: The exm is closed book nd notes. Red the questions crefully nd focus your nswers on wht
More informationVoIP for the Small Business
Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become vible solution for even the
More informationVoIP for the Small Business
Reducing your telecommunictions costs Reserch firm IDC 1 hs estimted tht VoIP system cn reduce telephony-relted expenses by 30%. Voice over Internet Protocol (VoIP) hs become vible solution for even the
More information10.5 Graphing Quadratic Functions
0.5 Grphing Qudrtic Functions Now tht we cn solve qudrtic equtions, we wnt to lern how to grph the function ssocited with the qudrtic eqution. We cll this the qudrtic function. Grphs of Qudrtic Functions
More informationP(r)dr = probability of generating a random number in the interval dr near r. For this probability idea to make sense we must have
Rndom Numers nd Monte Crlo Methods Rndom Numer Methods The integrtion methods discussed so fr ll re sed upon mking polynomil pproximtions to the integrnd. Another clss of numericl methods relies upon using
More informationCS321 Languages and Compiler Design I. Winter 2012 Lecture 5
CS321 Lnguges nd Compiler Design I Winter 2012 Lecture 5 1 FINITE AUTOMATA A non-deterministic finite utomton (NFA) consists of: An input lphet Σ, e.g. Σ =,. A set of sttes S, e.g. S = {1, 3, 5, 7, 11,
More information