B Tech Project First Stage Report on

Size: px
Start display at page:

Download "B Tech Project First Stage Report on"

Transcription

1 B Tech Prject First Stage Reprt n GPU Based Image Prcessing Submitted by Sumit Shekhar ( ) Under the guidance f Prf Subhasis Chaudhari

2 1. Intrductin 1.1 Graphic Prcessr Units A graphic prcessr unit is simply a prcessr attached t the graphics card used in vide games, play statins and cmputers. The way they are different frm the CPUs, the central prcessing units, are that they are massively threaded and parallel in their peratins. This is because f the nature f their wrk they are used fr fast rendering; same peratin is carried ut fr each f the pixels in the image. Thus, they have mre transistrs devted t data prcessing rather than flw cntrl and data caching. Tday graphic prcessr units have utdated their primary purpse. They are being used and prmted fr scientific calculatins all ver the wrld by the name f GPGPUs r general purpse GPUs; engineers are achieving several times speed-up by running their prgrams n GPUs. Applicatins fields are many: image prcessing, general signal prcessing, physics simulatins, cmputatinal bilgy, etc, etc. 1.2 Prblem Statement and Mtivatin Graphic Prcessr Units can speed-up the cmputatin maniflds ver the traditinal CPU implementatin. Image prcessing, being inherently parallel, can be implemented quite effectively n a GPU. Thus, many applicatins which are therwise run slwly can be fastened up, and can be put t useful real-time applicatins. This was the mtivatin behind my final year prject. NVIDIA CUDA is a parallel prgramming mdel and sftware, which has develped specifically t address the prblems f efficiently prgram the GPU as well as be cmpatible with a wide variety f GPU cres available in the market. Further, being an extensin t the standard C language, it presents a lw-learning curve fr the prgrammers, as well giving them flexibility t put in their creativity in the parallel cdes they write. My task was t implement bject-tracking algrithms using CUDA and ptimize them. As a part f the first stage, I implemented Bilateral Filtering methd n GPU. Traditinally, brute frce bilateral filters take a lng time t run because (i) they cannt be implemented using FFT algrithms as the calculatin invlves bth spatial and range filtering and, (ii) they are nt separable, hence takes O(n 2 ) cmputatins. Using GPU, I fund them t be running much faster than even n a high-end CPU.

3 2. CUDA Prgramming Mdel 2.1 Executin CUDA extends the standard C language t make it applicable fr parallel prgramming. Its varius features include: C functins are implemented n GPU device using kernels, which are executed in parallel in several CUDA threads, as ppsed t C functins which are executed nly nce. The kernels are defined using glbal identifier, which is again an extensin f CUDA. The kernel functin is called using a special <<< >>> syntax, which specifies the number f threads in which the kernel has t execute. The <<< >>> allws t determine the rganizatin f threads and hw they are executed. A typical syntax fr calling a kernel functin is shwn as belw: funcadd<<<grid, Blck, 1>>>(A, B, C) This illustrates hw a general functin is executed n the GPU in CUDA. Blck variable defines a blck f threads, which can be ne-dimensinal, tw-dimensinal r three- vectr called dimensinal. Each thread in the blck is identified by a 3-cmpnent threadidx, whse x, y and z cmpnents respectively gives a unique index t each thread in a blck. Similarly, Grid defines the layut f the blcks, which can be either ne-dimensinal r tw-dimensinal. The blcks are als identified by a vectr called blckidx. Each blck has a limit n the maximum number f threads it can cntain, which is determined by the architecture f the unit. These threads can be synchrnized with each ther using syncthreads() functins and can als be made t access the memry in synchrnizatin. The grid and blcks can be shwn by fllwing diagram: Figure 1: Grid and Thread Blcks

4 2.2 Memry Hierarchy There are multiple memry spaces which a CUDA thread can use t accesss data. The different kinds available are shwn belw in the figure: Figure 2: GPU Memry Mdel Hst Memry: This is the main memry f the cmputer, frm/t which data can be laded/written back frm the device memry. Lcal Memry: This memry is available t each thread running in the device. Shared Memry: This is shared between the varius threads f a blck. This is n-chip memry and hence the access is very fast. It is divided int varius banks, which are equally sized memry mdules. Glbal Memry: This memry is accessible t all the threads and blcks, and is usually used t lad the hst data int the GPU memry. As the memry is nt cached, the access t this memry is nt as fast, but a right access pattern can be used t maximize memry bandwidth. Texture Memry: This is a cached memry, hence is faster than glbal memry. The texture memry can be laded by the hst, but can be nly read by the device kernel. It als prvides nrmalized access t the data. Useful fr reading images in the kernel. Cnstant Memry: This is als a cached memry fr fast access t cnstant data. 2.3 Hardware Implementatin GPU cnsists f an array f multiprcessrs, such that threads f a thread blck run cncurrently n ne multiprcessr. As the blcks finish, new blcks are launched n the vacated blcks. The verall device architecture can be shwn as:

5 Figure 3: Multiprcessrs n GPU Each multiprcessr executes the threads in wraps, which are grups f 32 parallel threads. Thus each multiprcessr cnsists f lcal registers, shared memry that is shared by all the scalar prcessrs and a cnstant cache. Texture Cache is available thrugh a texture unit. The size f blck is limited by the amunt f registers required per thread and the amunt f shared memry. Kernel fails t launch if nt even a single blck can be launched n a multiprcessr. 2.4 Few imprtant extensins in CUDA Functin Type Qualifiers: glbal declares a functin as kernel. The functin is executed n device and can be called frm hst. device declares a functin which executed n device and called frm hst. hst used t identify a functin executed and called frm hst nly. Variable type qualifiers: device defines a variable stred in device memry. It resides in glbal memry space and accessible frm all the threads. cnstant declares a variable in cnstant memry space. shared declares a variable in shared memry space f thread blck.

6 Built-in variables griddim: stres the dimensins f the grid, is a 3-cmpnent vectr. blckidx: stres the blck index within the grid as a 3-cmpnent vectr. blckdim: stres the dimensins f a blck. threadidx: stres the thread index within the blck as a 3-cmpnent vectr. Run-time APIs cudamallc: allcates memry, f the size given as input, in the glbal memry space f the device. Similar t mallc in C. cudafree: frees the memry allcated by cudamallc. cudamemcpy: cpies data t/frm device memry frm/t hst memry.

7 3. Bilateral Filters n GPU 3.1 Intrductin Bilateral filters were first cined by Tmasi and Manduchi [1]. These filters smthen the image but keep the edges cnstant by means f nn-linear cmbinatin f the image values f nearby pixels. This has been achieved by a cmbinatin f range filtering and spatial filtering. Range filters perate n value f the image pixels rather than their lcatin; spatial filters take the lcatin int accunt. By cmbining bth f them, the paper achieves an edge-sensitive smthening filter, which varies bth accrding t the image pixel value as well lcatin. A general frm f the filter is given by: h = ℇ ℇ, ℇ, ℇ Where, = ℇ, ℇ, ℇ Here, c(.) is the gemetric distance between the pixels x and ℇ, and s(.) is a similarity functin which measures hw clse the value f the image pixel is t the given value. Fr the special case f Gaussian c(.) and s(.), the equatin becmes: ℇ, = ℇ ℇ, = ℇ The functining f the bilateral filter can be seen in the fllwing figures: Figure 4: (a) A step functin perturbed by randm nise (b) cmbined similarity weights a pixel right t the step (c) final smthened utput [1]

8 3.2 Implementatin Bilateral filter cannt be implemented by using the FFT algrithms in this frm, because the filter values change with image pixel lcatin, depending n the image values f neighburing pixels. Mrever it is als nt separable in its current frm. Brute frce algrithm was used t implement the filter n bth GPU and CPU. The pseud-cde fr the algrithm can be given as: Fr input: image I, Gaussian Parameters σ d and σ r, utput image I b, W b weight cefficients 1. All values f I b and W b initialized t zer. 2. Fr each pixel (x, y) with intensity I(x,y) a. Fr each pixel (x, y ) in image with values I(x,y ) Cmpute the assciated weight: weight exp(-(i(x,y ) I(x,y)) 2 /2σ 2 d ((x x ) 2 + (y y ) 2 )/2σ 2 s) b. Update the weight sum W b (x,y) = W b (x,y) + weight c. Update I b (x,y) = I b (x,y) + weight x I b (x,y ) 3. Nrmalize the result: I b (x,y) I b (x,y)/ W b (x,y) Fr actual implementatin, the filter radius was taken t be twice the value f its spatial sigma, as the Gaussian tail dies ff quickly. This truncated filter was used as an apprximatin fr the full kernel. 3.3 GPU Implementatin Fr GPU implementatin, the fllwing template was fllwed: { // lad image frm disk // lad reference image frm image (utput) // allcate device memry fr result // allcate array and cpy image data // set texture parameters // access with nrmalized texture crdinates // Bind the array t the texture dim3 dimblck(8, 8, 1); dim3 dimgrid(width / dimblck.x, height / dimblck.y, 1); // execute the kernel BilateralFilter<<< dimgrid, dimblck, 0 >>>( image, spat_filter, width, height, sigmar, sigmad); // check if kernel executin generated an errr // allcate mem fr the result n hst side // cpy result frm device t hst // write result t file // cleanup memry}

9 Sme f the ptimizatins used in the cde are: Texture memry has been used fr accessing the image values. Texture memry being cache memry prvides a fast access t the image data. Spatial filter was calculated in the hst cde, and passed t the kernel as a cnstant matrix. This reduced the time fr cmputing the values again fr every pixel. NVIDIA 8600 graphics card was used t implement the cdes. 3.4 CPU Implementatin CPU cde was similar t the GPU cde except that the bilateral filter functin was executed using fr. then lp ver all the pixels f the image, which run in parallel threads in GPU. This was dne t get a better estimate f the CPU and GPU timings, as they are running same algrithm. The CPU under test was Intel Quad Cre Prcessr running at 2.4 GHz. 3.5 Speed Cmparisn A 512 x 512 gray scale Lena image was given as input t the prgram. The speed cmparisns were made in tw cases: Varying σ d keeping σ r cnstant Results fr varius sigma values are tabulated belw fr σ r = 0.1 Spatial sigma (σ d) GPU Time (ms) CPU Time (ms) Speed GPU (Mpix/s) Speed CPU (Mpix/s) Rati Thus, we can see that CPU is much slwer than GPU in executing the same task. Further, the time taken fr CPU increases in apprximately n 2 fashin with increase in the filter length. Hence, the rati f speeds increases with increase in filter length and reaches at abut 100x in the last case.

10 Varying σ r keeping σ d cnstant The range sigma was als varied keeping spatial sigma cnstant. The time f executin fr GPU and CPU was fund t be almst cnstant fr different values f σ r. Range sigma (σ r) GPU Time (ms) fr σ d = 5 CPU Time (ms) fr σ d = Output Images: Cmparisn f CPU and GPU utput images: Original Image GPU utput fr σ d = 3 σ r = 1 CPU utput fr σ d = 3 σ r = 1 Difference Image Variatin with σ r, keeping spatial sigma, σ d cnstant (GPU utputs): σ d = 3 σ r = 0.1 σ d = 3 σ r = 0.3 σ d = 5 σ r = 0.6

11 Variatin with σ d, keeping range sigma σ r cnstant (GPU utputs): σ d = 1 σ r = 0.1 σ d = 5 σ r = 0.3 σ d = 10 σ r = Cnclusins GPU was able t achieve a much better time respnse than CPU in all the cases f filter implementatin. The rati f speeds increased with increase in filter length. The errr between the GPU and CPU utputs was very lss, thus GPU perfrms the calculatins quite accurately. Variatin in spatial sigma and range sigma shwed desirable changes in the utput image. Increase in range sigma value, keeping the ther cnstant increased the blurring acrss the edges as expected. Similarly, keeping the value f range sigma cnstant and increasing the ther value resulted in better smthening f the images withut disturbing the edges. 5. Future Wrk The majrity f the first stage wrk was explratry, learning abut the architecture f GPU and learning t implement CUDA language. I als gave a basic demnstratin f bilateral filtering in GPU. Many fast appraches have been develped t implement bilateral filter. These can be implemented in GPU and the perfrmance can be imprved further. Further, mre cmplex prblems can be implemented, which wuld require further explring the capabilities f GPU. A cmparative study f different GPU platfrms can als be made in testing the algrithms. 6. References 1. C. Tmasi, R. Manduchi: Bilateral Filtering fr gray and clur images, IEEE Internatinal Cnference n Cmputer Visin, CUDA Prgramming Guide, NVIDIA

NVIDIA S KEPLER ARCHITECTURE. Tony Chen 2015

NVIDIA S KEPLER ARCHITECTURE. Tony Chen 2015 NVIDIA S KEPLER ARCHITECTURE Tny Chen 2015 Overview 1. Fermi 2. Kepler a. SMX Architecture b. Memry Hierarchy c. Features 3. Imprvements 4. Cnclusin 5. Brief verlk int Maxwell Fermi ~2010 40 nm TSMC (sme

More information

Parallel Processing in NCAR Command Language for Performance Improvement

Parallel Processing in NCAR Command Language for Performance Improvement Parallel Prcessing in NCAR Cmmand Language fr Perfrmance Imprvement Ping Gu, University f Wyming Mentr: Wei Huang, NCAR C- Mentr: Dave Brwn, NCAR August 1, 2013 Intrductin and Mtivatin ² The NCAR Cmmand

More information

NVIDIA Tesla K20X GPU Accelerator. Breton Minnehan, Beau Sattora

NVIDIA Tesla K20X GPU Accelerator. Breton Minnehan, Beau Sattora NVIDIA Tesla K20X GPU Acceleratr Bretn Minnehan, Beau Sattra Overview Jb f the GPU Histry What is the K20X GK110 Benchmark Perfrmance Jb f the GPU Vertex Shader Applies transfrms n each vertex Applies

More information

An Introduction to Crescendo s Maestro Application Delivery Platform

An Introduction to Crescendo s Maestro Application Delivery Platform An Intrductin t Crescend s Maestr Applicatin Delivery Platfrm Intrductin This dcument is intended t serve as a shrt intrductin t Crescend s Maestr Platfrm and its cre features/benefits. The dcument will

More information

Operating systems. Module 15 kernel I/O subsystem. Tami Sorgente 1

Operating systems. Module 15 kernel I/O subsystem. Tami Sorgente 1 Operating systems Mdule 15 kernel I/O subsystem Tami Srgente 1 SWAP SPACE MANAGEMENT Swap space can be defined as a temprary strage lcatin that is used when system s memry requirements exceed the size

More information

Greg Dias, Alex Wilson. Fermi

Greg Dias, Alex Wilson. Fermi Greg Dias, Alex Wilsn Fermi Agenda Cmputer Graphics and Parallelism Basic GPU structure NVIDIA Fermi and CUDA Graphics Rendering Methds Plygn Rendering Ray Tracing Plygn Rendering Apprximatin f cmplex

More information

Due Date: Lab report is due on Mar 6 (PRA 01) or Mar 7 (PRA 02)

Due Date: Lab report is due on Mar 6 (PRA 01) or Mar 7 (PRA 02) Lab 3 Packet Scheduling Due Date: Lab reprt is due n Mar 6 (PRA 01) r Mar 7 (PRA 02) Teams: This lab may be cmpleted in teams f 2 students (Teams f three r mre are nt permitted. All members receive the

More information

Extensible Query Processing in Starburst

Extensible Query Processing in Starburst Extensible Query Prcessing in Starburst Laura M. Haas, J.C. Freytag, G.M. Lhman, and H.Pirahesh IBM Almaden Research Center CS848 Instructr: David Tman Presented By Yunpeng James Liu Outline Intrductin

More information

Using SPLAY Tree s for state-full packet classification

Using SPLAY Tree s for state-full packet classification Curse Prject Using SPLAY Tree s fr state-full packet classificatin 1- What is a Splay Tree? These ntes discuss the splay tree, a frm f self-adjusting search tree in which the amrtized time fr an access,

More information

Common Language Runtime

Common Language Runtime Intrductin t.net framewrk.net is a general-purpse sftware develpment platfrm, similar t Java. Micrsft intrduced.net with purpse f bridging gap between different applicatins..net framewrk aims at cmbining

More information

It has hardware. It has application software.

It has hardware. It has application software. Q.1 What is System? Explain with an example A system is an arrangement in which all its unit assemble wrk tgether accrding t a set f rules. It can als be defined as a way f wrking, rganizing r ding ne

More information

Design Patterns. Collectional Patterns. Session objectives 11/06/2012. Introduction. Composite pattern. Iterator pattern

Design Patterns. Collectional Patterns. Session objectives 11/06/2012. Introduction. Composite pattern. Iterator pattern Design Patterns By Võ Văn Hải Faculty f Infrmatin Technlgies HUI Cllectinal Patterns Sessin bjectives Intrductin Cmpsite pattern Iteratr pattern 2 1 Intrductin Cllectinal patterns primarily: Deal with

More information

STEREO VISION WITH COGNIMEM

STEREO VISION WITH COGNIMEM Applicatin Nte STEREO VISION WITH COGNIMEM THE APPLICATION Stere Visin is critical fr the evaluatin f the prximity f an bject and is the starting pint fr many machine visin applicatins. Several cmmercial

More information

CSE 3320 Operating Systems Computer and Operating Systems Overview Jia Rao

CSE 3320 Operating Systems Computer and Operating Systems Overview Jia Rao CSE 3320 Operating Systems Cmputer and Operating Systems Overview Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Overview Recap f last class What is an perating system?

More information

On the road again. The network layer. Data and control planes. Router forwarding tables. The network layer data plane. CS242 Computer Networks

On the road again. The network layer. Data and control planes. Router forwarding tables. The network layer data plane. CS242 Computer Networks On the rad again The netwrk layer data plane CS242 Cmputer Netwrks The netwrk layer The transprt layer is respnsible fr applicatin t applicatin transprt. The netwrk layer is respnsible fr hst t hst transprt.

More information

SW-G using new DryadLINQ(Argentia)

SW-G using new DryadLINQ(Argentia) SW-G using new DryadLINQ(Argentia) DRYADLINQ: Dryad is a high-perfrmance, general-purpse distributed cmputing engine that is designed t manage executin f large-scale applicatins n varius cluster technlgies,

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Cmp 541 Digital Lgic and Cmputer Design Spring 2016 Lab Prject (PART A): A Full Cmputer! Issued Fri 4/8/16; Suggested

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Yu will learn the fllwing in this lab: The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Designing a mdule with multiple memries Designing and using a bitmap fnt Designing a memry-mapped display Cmp 541 Digital

More information

CS4500/5500 Operating Systems Computer and Operating Systems Overview

CS4500/5500 Operating Systems Computer and Operating Systems Overview Operating Systems Cmputer and Operating Systems Overview Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Ref. MOS4E, OS@Austin, Clumbia, UWisc Overview Recap

More information

Because this underlying hardware is dedicated to processing graphics commands, OpenGL drawing is typically very fast.

Because this underlying hardware is dedicated to processing graphics commands, OpenGL drawing is typically very fast. The Open Graphics Library (OpenGL) is used fr visualizing 2D and 3D data. It is a multipurpse pen-standard graphics library that supprts applicatins fr 2D and 3D digital cntent creatin, mechanical and

More information

UFuRT: A Work-Centered Framework and Process for Design and Evaluation of Information Systems

UFuRT: A Work-Centered Framework and Process for Design and Evaluation of Information Systems In: Prceedings f HCI Internatinal 2007 UFuRT: A Wrk-Centered Framewrk and Prcess fr Design and Evaluatin f Infrmatin Systems Jiajie Zhang 1, Keith A. Butler 2 1 University f Texas at Hustn, 7000 Fannin,

More information

Tekmos. TK68020 Microprocessor. Features. General Description. 9/03/14 1

Tekmos. TK68020 Microprocessor. Features. General Description. 9/03/14   1 Tekms TK68020 Micrprcessr September 3, 2014 Prduct Overview Features Addressing Mde Extensins fr Enhanced Supprt f High-Level Languages Object-Cde Cmpatible with Earlier M68000 Micrprcessrs Addressing

More information

Memory Hierarchy. Goal of a memory hierarchy. Typical numbers. Processor-Memory Performance Gap. Principle of locality. Caches

Memory Hierarchy. Goal of a memory hierarchy. Typical numbers. Processor-Memory Performance Gap. Principle of locality. Caches Memry Hierarchy Gal f a memry hierarchy Memry: hierarchy f cmpnents f varius speeds and capacities Hierarchy driven by cst and perfrmance In early days Primary memry = main memry Secndary memry = disks

More information

Exploring the Viability of the Cell Broadband Engine for Bioinformatics Applications

Exploring the Viability of the Cell Broadband Engine for Bioinformatics Applications Explring the Viability f the Cell Bradband Engine fr Biinfrmatics Applicatins Authrs: Vipin Sachdeva, Michael Kistler, Evan Speight and Tzy-Hwa Kathy Tzeng Presentatin by: Keyur Malaviya Dept f Cmputer

More information

History of Java. VM (Java Virtual Machine) What is JVM. What it does. 1. Brief history of Java 2. Java Version History

History of Java. VM (Java Virtual Machine) What is JVM. What it does. 1. Brief history of Java 2. Java Version History Histry f Java 1. Brief histry f Java 2. Java Versin Histry The histry f Java is very interesting. Java was riginally designed fr interactive televisin, but it was t advanced technlgy fr the digital cable

More information

Executing Parallelized Dictionary Attacks on CPUs and GPUs

Executing Parallelized Dictionary Attacks on CPUs and GPUs Executing Parallelized Dictinary Attacks n CPUs GPUs Hassan Alnn ENSIMAG Grenble, France hassan.alnn@ensimag.imag.fr Shaima Al Awadi ENSIMAG Grenble, France shayma.al-awadi@ensimag.imag.fr ABSTRACT This

More information

Scatter Search And Bionomic Algorithms For The Aircraft Landing Problem

Scatter Search And Bionomic Algorithms For The Aircraft Landing Problem Scatter Search And Binmic Algrithms Fr The Aircraft Landing Prblem J. E. Beasley Mathematical Sciences Brunel University Uxbridge UB8 3PH United Kingdm http://peple.brunel.ac.uk/~mastjjb/jeb/jeb.html Abstract:

More information

Implementation of Authentication Mechanism for a Virtual File System

Implementation of Authentication Mechanism for a Virtual File System Implementatin f Authenticatin Mechanism fr a Virtual File System Prject fr Operating Systems Curse (CS 5204) Implemented by- Vinth Jagannathan Abhishek Ram Under the guidance f Dr Dennis Kafura Abstract

More information

Computer Organization and Architecture

Computer Organization and Architecture Campus de Gualtar 4710-057 Braga UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA Departament de Infrmática Cmputer Organizatin and Architecture 5th Editin, 2000 by William Stallings Table f Cntents I. OVERVIEW.

More information

Computer Organization and Architecture

Computer Organization and Architecture Campus de Gualtar 4710-057 Braga UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA Departament de Infrmática Cmputer Organizatin and Architecture 5th Editin, 2000 by William Stallings Table f Cntents I. OVERVIEW.

More information

MediaTek LinkIt Development Platform for RTOS Memory Layout Developer's Guide

MediaTek LinkIt Development Platform for RTOS Memory Layout Developer's Guide MediaTek LinkIt Develpment Platfrm fr RTOS Memry Layut Develper's Guide Versin: 1.1 Release date: 31 March 2016 2015-2016 MediaTek Inc. MediaTek cannt grant yu permissin fr any material that is wned by

More information

Xilinx Answer Xilinx PCI Express DMA Drivers and Software Guide

Xilinx Answer Xilinx PCI Express DMA Drivers and Software Guide Xilinx Answer 65444 Xilinx PCI Express DMA Drivers and Sftware Guide Imprtant Nte: This dwnladable PDF f an Answer Recrd is prvided t enhance its usability and readability. It is imprtant t nte that Answer

More information

NQueens Problem with CUDA

NQueens Problem with CUDA NQueens Prblem with CUDA Shuqing Chen (21760448) [MAP] [S.Chen] [NQueens Prblem with CUDA] Table f Cntents Backgrund Apprach Evaluatin Discussin Cnclusin [MAP] [S.Chen] [NQueens Prblem with CUDA] Backgrund

More information

ECE 545 Project Deliverables

ECE 545 Project Deliverables Tp-level flder: _ Secnd-level flders: 1_assumptins 2_blck_diagrams 3_interface 4_ASM_charts 5_surce_cdes 6_verificatin 7_timing_analysis 8_results 9_benchmarking 10_bug_reprts

More information

SSDNow vs. HDD and Use Cases/Scenarios. U.S.T.S. Tech. Comm

SSDNow vs. HDD and Use Cases/Scenarios. U.S.T.S. Tech. Comm SSDNw vs. HDD and Use Cases/Scenaris U.S.T.S. Tech. Cmm Intrductin This white paper examines the technlgy f SSDNw and its ptential applicatin scenaris. Features and benefits f emplying Slid State Drives

More information

Operating systems. Module 7 IPC (Interprocess communication) PART I. Tami Sorgente 1

Operating systems. Module 7 IPC (Interprocess communication) PART I. Tami Sorgente 1 Operating systems Mdule 7 IPC (Interprcess cmmunicatin) PART I Tami Srgente 1 INTERPROCESS COMMUNICATION Prcesses within a system may be independent r cperating Cperating prcess can affect r be affected

More information

CS4500/5500 Operating Systems Page Replacement Algorithms and Segmentation

CS4500/5500 Operating Systems Page Replacement Algorithms and Segmentation Operating Systems Page Replacement Algrithms and Segmentatin Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Ref. MOSE, OS@Austin, Clumbia, Rchester Recap f

More information

INSTALLING CCRQINVOICE

INSTALLING CCRQINVOICE INSTALLING CCRQINVOICE Thank yu fr selecting CCRQInvice. This dcument prvides a quick review f hw t install CCRQInvice. Detailed instructins can be fund in the prgram manual. While this may seem like a

More information

Principles of Programming Languages

Principles of Programming Languages Principles f Prgramming Languages Slides by Dana Fisman based n bk by Mira Balaban and lecuture ntes by Michael Elhadad Dana Fisman Lessn 16 Type Inference System www.cs.bgu.ac.il/~ppl172 1 Type Inference

More information

Data Structure Interview Questions

Data Structure Interview Questions Data Structure Interview Questins A list f tp frequently asked Data Structure interview questins and answers are given belw. 1) What is Data Structure? Explain. Data structure is a way that specifies hw

More information

- Replacement of a single statement with a sequence of statements(promotes regularity)

- Replacement of a single statement with a sequence of statements(promotes regularity) ALGOL - Java and C built using ALGOL 60 - Simple and cncise and elegance - Universal - Clse as pssible t mathematical ntatin - Language can describe the algrithms - Mechanically translatable t machine

More information

Lab 5 Sorting with Linked Lists

Lab 5 Sorting with Linked Lists UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C WINTER 2013 Lab 5 Srting with Linked Lists Intrductin Reading This lab intrduces

More information

WEB LAB - Subset Extraction

WEB LAB - Subset Extraction WEB LAB - Subset Extractin Fall 2005 Authrs: Megha Siddavanahalli Swati Singhal Table f Cntents: Sl. N. Tpic Page N. 1 Abstract 2 2 Intrductin 2 3 Backgrund 2 4 Scpe and Cnstraints 3 5 Basic Subset Extractin

More information

Project 4: System Calls 1

Project 4: System Calls 1 CMPT 300 1. Preparatin Prject 4: System Calls 1 T cmplete this assignment, it is vital that yu have carefully cmpleted and understd the cntent in the fllwing guides which are psted n the curse website:

More information

Ascii Art Capstone project in C

Ascii Art Capstone project in C Ascii Art Capstne prject in C CSSE 120 Intrductin t Sftware Develpment (Rbtics) Spring 2010-2011 Hw t begin the Ascii Art prject Page 1 Prceed as fllws, in the rder listed. 1. If yu have nt dne s already,

More information

Priority-aware Coflow Placement and scheduling in Datacenters

Priority-aware Coflow Placement and scheduling in Datacenters Pririty-aware Cflw Placement and scheduling in Datacenters Speaker: Lin Wang Research Advisr: Biswanath Mukherjee Intrductin Cflw Represents a cllectin f independent flws that share a cmmn perfrmance gal.

More information

RELEASE NOTES FOR PHOTOMESH 7.3.1

RELEASE NOTES FOR PHOTOMESH 7.3.1 RELEASE NOTES FOR PHOTOMESH 7.3.1 Abut PhtMesh Skyline s PhtMesh fully autmates the generatin f high-reslutin, textured, 3D mesh mdels frm standard 2D phtgraphs, ffering a significant reductin in cst and

More information

Implementing a Data Warehouse with Microsoft SQL Server

Implementing a Data Warehouse with Microsoft SQL Server Implementing a Data Warehuse with Micrsft SQL Server Implementing a Data Warehuse with Micrsft SQL Server Curse Cde: 20463 Certificatin Exam: 70-463 Duratin: 5 Days Certificatin Track: MCSA: SQL Server

More information

Hierarchical Classification of Amazon Products

Hierarchical Classification of Amazon Products Hierarchical Classificatin f Amazn Prducts Bin Wang Stanfrd University, bwang4@stanfrd.edu Shaming Feng Stanfrd University, superfsm@ stanfrd.edu Abstract - This prjects prpsed a hierarchical classificatin

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 1 - Calculatr Intrductin In this lab yu will be writing yur first

More information

Summary. Server environment: Subversion 1.4.6

Summary. Server environment: Subversion 1.4.6 Surce Management Tl Server Envirnment Operatin Summary In the e- gvernment standard framewrk, Subversin, an pen surce, is used as the surce management tl fr develpment envirnment. Subversin (SVN, versin

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL The UNIVERSITY f NORTH CAROLINA at CHAPEL HILL Cmp 541 Digital Lgic and Cmputer Design Prf. Mntek Singh Spring 2019 Lab #7: A Basic Datapath; and a Sprite-Based Display Issued Fri 3/1/19; Due Mn 3/25/19

More information

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the.

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the. 1 f 22 26/09/2016 15:58 Mdule Cnsideratins Cntents: Lessn 1: Lessn 2: Mdule Befre yu start with almst any planning. apprpriately. As benefit f gd T appreciate architecture. it places n the understanding

More information

USER MANUAL. RoomWizard Administrative Console

USER MANUAL. RoomWizard Administrative Console USER MANUAL RmWizard Administrative Cnsle Cntents Welcme... 3 Administer yur RmWizards frm ne lcatin... 3 Abut This Manual... 4 Setup f the Administrative Cnsle... 4 Installatin... 4 The Cnsle Windw...

More information

Computer Organization and Architecture

Computer Organization and Architecture Campus de Gualtar 4710-057 Braga UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA Departament de Infrmática Cmputer Organizatin and Architecture 5th Editin, 2000 by William Stallings Table f Cntents I. OVERVIEW.

More information

Computational Methods of Scientific Programming Fall 2008

Computational Methods of Scientific Programming Fall 2008 MIT OpenCurseWare http://cw.mit.edu 12.010 Cmputatinal Methds f Scientific Prgramming Fall 2008 Fr infrmatin abut citing these materials r ur Terms f Use, visit: http://cw.mit.edu/terms. 12.010 Hmewrk

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Querying Data with Transact SQL Curse Cde: 20761 Certificatin Exam: 70-761 Duratin: 5 Days Certificatin Track: MCSA: SQL 2016 Database Develpment Frmat: Classrm Level: 200 Abut this curse: This curse is

More information

CSE 3320 Operating Systems Page Replacement Algorithms and Segmentation Jia Rao

CSE 3320 Operating Systems Page Replacement Algorithms and Segmentation Jia Rao CSE 0 Operating Systems Page Replacement Algrithms and Segmentatin Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Recap f last Class Virtual memry Memry verlad What if the

More information

Instance Based Learning

Instance Based Learning Instance Based Learning Vibhav Ggate The University f Texas at Dallas Readings: Mitchell, Chapter 8 surces: curse slides are based n material frm a variety f surces, including Tm Dietterich, Carls Guestrin,

More information

The programming for this lab is done in Java and requires the use of Java datagrams.

The programming for this lab is done in Java and requires the use of Java datagrams. Lab 2 Traffic Regulatin This lab must be cmpleted individually Purpse f this lab: In this lab yu will build (prgram) a netwrk element fr traffic regulatin, called a leaky bucket, that runs ver a real netwrk.

More information

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash UiPath Autmatin Walkthrugh Walkthrugh Calculate Client Security Hash Walkthrugh Calculate Client Security Hash Start with the REFramewrk template. We start ff with a simple implementatin t demnstrate the

More information

Performance of VSA in VMware vsphere 5

Performance of VSA in VMware vsphere 5 Perfrmance f VSA in VMware vsphere 5 Perfrmance Study TECHNICAL WHITE PAPER Table f Cntents Intrductin... 3 Executive Summary... 3 Test Envirnment... 3 Key Factrs f VSA Perfrmance... 4 Cmmn Strage Perfrmance

More information

Stock Affiliate API workflow

Stock Affiliate API workflow Adbe Stck Stck Affiliate API wrkflw The purpse f this dcument is t illustrate the verall prcess and technical wrkflw fr Adbe Stck partners wh want t integrate the Adbe Stck Search API int their applicatins.

More information

Retrieval Effectiveness Measures. Overview

Retrieval Effectiveness Measures. Overview Retrieval Effectiveness Measures Vasu Sathu 25th March 2001 Overview Evaluatin in IR Types f Evaluatin Retrieval Perfrmance Evaluatin Measures f Retrieval Effectiveness Single Valued Measures Alternative

More information

ME Week 5 Project 2 ilogic Part 1

ME Week 5 Project 2 ilogic Part 1 1 Intrductin t ilgic 1.1 What is ilgic? ilgic is a Design Intelligence Capture Tl Supprting mre types f parameters (string and blean) Define value lists fr parameters. Then redefine value lists autmatically

More information

Dynamic Storage (ECS)

Dynamic Storage (ECS) User Guide Dynamic Strage (ECS) Swisscm (Schweiz) AG 1 / 10 Cntent 1 Abut Dynamic Strage... 3 2 Virtual drive, the EMC CIFS-ECS Tl... 4 3 Amazn S3 Brwer... 6 4 Strage Gateway Appliance... 9 5 Amazn S3

More information

CS1150 Principles of Computer Science Introduction (Part II)

CS1150 Principles of Computer Science Introduction (Part II) Principles f Cmputer Science Intrductin (Part II) Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Review Terminlgy Class } Every Java prgram must have at least

More information

Multilevel Updating Method of Three- Dimensional Spatial Database Presented By: Tristram Taylor SE521

Multilevel Updating Method of Three- Dimensional Spatial Database Presented By: Tristram Taylor SE521 Multilevel Updating Methd f Three- Dimensinal Spatial Database Presented By: Tristram Taylr SE521 Written By: Yangting Liu, Gang Liu, Zhenwen He, Zhengping Weng Frm: China University f Gesciences Fr: 2010

More information

MID-II Examinations April 2018 Course: B. Tech Branch:CSE Year: II. Date of Exam: AN Max.Marks 30 TIME :02:00PM TO 03:00 PM

MID-II Examinations April 2018 Course: B. Tech Branch:CSE Year: II. Date of Exam: AN Max.Marks 30 TIME :02:00PM TO 03:00 PM MID-II Examinatins April 2018 Curse: B. Tech Branch:CSE Year: II Subject: OS Semester :II Date f Exam:06-04-18 AN Max.Marks 30 TIME :02:00PM TO 03:00 PM Answer ANY TWO f the fllwing 2 x 15 = 30 Marks 1.A)

More information

CS4500/5500 Operating Systems Synchronization

CS4500/5500 Operating Systems Synchronization Operating Systems Synchrnizatin Yanyan Zhuang Department f Cmputer Science http://www.cs.uccs.edu/~yzhuang UC. Clrad Springs Recap f the Last Class Multiprcessr scheduling Tw implementatins f the ready

More information

Introduction. ENG2410 Digital Design Memory Systems. Resources. A Digital Computer System. Week #11 Topics. School of Engineering 1.

Introduction. ENG2410 Digital Design Memory Systems. Resources. A Digital Computer System. Week #11 Topics. School of Engineering 1. ENG2410 Digital Design Memry Systems A Digital Cmputer System CPU Cntrl unit Memry Datapath Data/Instructins/cde clck Fall 2017 S Areibi Schl f Engineering University f Guelph Inputs: Keybard, muse, mdem,

More information

Andrid prgramming curse Asynchrnus Techniques Intrductin Sessin bjectives Intrductin Asynchrnus Techniques Executr Handler AsyncTask Service & IntentService AsyncQueryHandler Lader By Võ Văn Hải Faculty

More information

CONTROL-COMMAND. Software Technical Specifications for ThomX Suppliers 1.INTRODUCTION TECHNICAL REQUIREMENTS... 2

CONTROL-COMMAND. Software Technical Specifications for ThomX Suppliers 1.INTRODUCTION TECHNICAL REQUIREMENTS... 2 Réf. ThmX-NT-SI-CC001 Table f Cntents Sftware Technical Specificatins fr ThmX Authr : Philippe Page 1 / 9 1.INTRODUCTION... 2 2.TECHNICAL REQUIREMENTS... 2 3.DOCUMENTATION REQUIREMENTS... 4 4.COMPUTING

More information

Last time. VHDL in Action. Motivation. Covered in This Lesson. Packages. Packages (cont'd)

Last time. VHDL in Action. Motivation. Covered in This Lesson. Packages. Packages (cont'd) Last time VHDL in Actin Packages and Libraries Ch 3, pp. 96-114 Versin f wavefrm updating algrithm t handle reject clauses Macr and micr time Delta delays: Ensure crrect rdering f zer time events Martin

More information

Teaching Operating Systems Scheduling

Teaching Operating Systems Scheduling Prceedings f Infrming Science & IT Educatin Cnference (InSITE) 2010 Teaching Operating Systems Scheduling Shimn Chen MLA Academic Learning Center, Israel shamn51@gmail.cm Abstract The Operating System

More information

To over come these problems collections are recommended to use. Collections Arrays

To over come these problems collections are recommended to use. Collections Arrays Q1. What are limitatins f bject Arrays? The main limitatins f Object arrays are These are fixed in size ie nce we created an array bject there is n chance f increasing r decreasing size based n ur requirement.

More information

Objectives. OpenGL - Shaders. GLSL A Quick Review

Objectives. OpenGL - Shaders. GLSL A Quick Review OpenGL - Shaders CITS3003 Graphics & Animatin E. Angel and D. Shreiner: Interactive Cmputer Graphics 6E Addisn-Wesley 2012 1 Objectives The rendering pipeline and the shaders Data types, qualifiers, built-in

More information

Quick Guide on implementing SQL Manage for SAP Business One

Quick Guide on implementing SQL Manage for SAP Business One Quick Guide n implementing SQL Manage fr SAP Business One The purpse f this dcument is t guide yu thrugh the quick prcess f implementing SQL Manage fr SAP B1 SQL Server databases. SQL Manage is a ttal

More information

Infrastructure Series

Infrastructure Series Infrastructure Series TechDc WebSphere Message Brker / IBM Integratin Bus Parallel Prcessing (Aggregatin) (Message Flw Develpment) February 2015 Authr(s): - IBM Message Brker - Develpment Parallel Prcessing

More information

Milestone Solution Partner IT Infrastructure Components Certification Summary

Milestone Solution Partner IT Infrastructure Components Certification Summary Milestne Slutin Partner IT Infrastructure Cmpnents Certificatin Summary Prmise Technlgies VESS R2600 Strage Slutin 08-27-2014 Table f Cntents Intrductin... 3 Certified Prducts... 3 Test Prcess... 3 Tplgy...

More information

McGill University School of Computer Science COMP-206. Software Systems. Due: September 29, 2008 on WEB CT at 23:55.

McGill University School of Computer Science COMP-206. Software Systems. Due: September 29, 2008 on WEB CT at 23:55. Schl f Cmputer Science McGill University Schl f Cmputer Science COMP-206 Sftware Systems Due: September 29, 2008 n WEB CT at 23:55 Operating Systems This assignment explres the Unix perating system and

More information

Chapter-10 INHERITANCE

Chapter-10 INHERITANCE Chapter-10 INHERITANCE Intrductin: Inheritance is anther imprtant aspect f bject riented prgramming. C++ allws the user t create a new class (derived class) frm an existing class (base class). Inheritance:

More information

CSE 3320 Operating Systems Synchronization Jia Rao

CSE 3320 Operating Systems Synchronization Jia Rao CSE 3320 Operating Systems Synchrnizatin Jia Ra Department f Cmputer Science and Engineering http://ranger.uta.edu/~jra Recap f the Last Class Multiprcessr scheduling Tw implementatins f the ready queue

More information

Java Programming Course IO

Java Programming Course IO Java Prgramming Curse IO By Võ Văn Hải Faculty f Infrmatin Technlgies Industrial University f H Chi Minh City Sessin bjectives What is an I/O stream? Types f Streams Stream class hierarchy Cntrl flw f

More information

High Security SaaS Concept Software as a Service (SaaS) for Life Science

High Security SaaS Concept Software as a Service (SaaS) for Life Science Sftware as a Service (SaaS) fr Life Science Cpyright Cunesft GmbH Cntents Intrductin... 3 Data Security and Islatin in the Clud... 3 Strage System Security and Islatin... 3 Database Security and Islatin...

More information

Handling complexity in embedded application development: an example of real time MP3 streaming over Bluetooth

Handling complexity in embedded application development: an example of real time MP3 streaming over Bluetooth Handling cmplexity in embedded applicatin develpment: an example f real time MP3 streaming ver Bluetth Authr: Trish Messiter, Clarinx Technlgies Pty Ltd, 8 Bayside Cres, Hamptn VIC, AUSTRALIA, Ph:+61 3

More information

1 Introduction Functions... 2

1 Introduction Functions... 2 Interface Descriptin API fr IPS Analytics Applicatins n the Axis ACAP Platfrm Cntents 1 Intrductin... 2 2 Functins... 2 3 Interfaces... 2 3.1 Cnfiguratin... 3 3.1.1 Interface C.1: Web cnfiguratr (IPS add-n)...

More information

Getting Started with the SDAccel Environment on Nimbix Cloud

Getting Started with the SDAccel Environment on Nimbix Cloud Getting Started with the SDAccel Envirnment n Nimbix Clud Revisin Histry The fllwing table shws the revisin histry fr this dcument. Date Versin Changes 09/17/2018 201809 Updated figures thrughut Updated

More information

To start your custom application development, perform the steps below.

To start your custom application development, perform the steps below. Get Started T start yur custm applicatin develpment, perfrm the steps belw. 1. Sign up fr the kitewrks develper package. Clud Develper Package Develper Package 2. Sign in t kitewrks. Once yu have yur instance

More information

CITI Technical Report 08-1 Parallel NFS Block Layout Module for Linux

CITI Technical Report 08-1 Parallel NFS Block Layout Module for Linux CITI Technical Reprt 08-1 Parallel NFS Blck Layut Mdule fr Linux William A. Adamsn, University f Michigan andrs@citi.umich.edu Frederic Isaman, University f Michigan iisaman@citi.umich.edu Jasn Glasgw,

More information

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 Iterative Code Design handout Style Guidelines handout

Lab 1 - Calculator. K&R All of Chapter 1, 7.4, and Appendix B1.2 Iterative Code Design handout Style Guidelines handout UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2013 Lab 1 - Calculatr Intrductin Reading Cncepts In this lab yu will be

More information

Stealing passwords via browser refresh

Stealing passwords via browser refresh Stealing passwrds via brwser refresh Authr: Karmendra Khli [karmendra.khli@paladin.net] Date: August 07, 2004 Versin: 1.1 The brwser s back and refresh features can be used t steal passwrds frm insecurely

More information

This labs uses traffic traces from Lab 1 and traffic generator and sink components from Lab 2.

This labs uses traffic traces from Lab 1 and traffic generator and sink components from Lab 2. Lab 3 Packet Scheduling Purpse f this lab: Packet scheduling algrithms determine the rder f packet transmissin at the utput link f a packet switch. This lab includes experiments that exhibit prperties

More information

UML : MODELS, VIEWS, AND DIAGRAMS

UML : MODELS, VIEWS, AND DIAGRAMS UML : MODELS, VIEWS, AND DIAGRAMS Purpse and Target Grup f a Mdel In real life we ften bserve that the results f cumbersme, tedius, and expensive mdeling simply disappear in a stack f paper n smene's desk.

More information

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools.

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools. Q.1 What is Trubleshting Tls? List their types? Trubleshting f netwrk prblems is find and slve with the help f hardware and sftware is called trubleshting tls. Trubleshting Tls - Hardware Tls They are

More information

Eastern Mediterranean University School of Computing and Technology Information Technology Lecture2 Functions

Eastern Mediterranean University School of Computing and Technology Information Technology Lecture2 Functions Eastern Mediterranean University Schl f Cmputing and Technlgy Infrmatin Technlgy Lecture2 Functins User Defined Functins Why d we need functins? T make yur prgram readable and rganized T reduce repeated

More information

TIBCO Statistica Options Configuration

TIBCO Statistica Options Configuration TIBCO Statistica Optins Cnfiguratin Sftware Release 13.3 June 2017 Tw-Secnd Advantage Imprtant Infrmatin SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO

More information

CSE 361S Intro to Systems Software Lab #2

CSE 361S Intro to Systems Software Lab #2 Due: Thursday, September 22, 2011 CSE 361S Intr t Systems Sftware Lab #2 Intrductin This lab will intrduce yu t the GNU tls in the Linux prgramming envirnment we will be using fr CSE 361S this semester,

More information

TRAINING GUIDE. Overview of Lucity Spatial

TRAINING GUIDE. Overview of Lucity Spatial TRAINING GUIDE Overview f Lucity Spatial Overview f Lucity Spatial In this sessin, we ll cver the key cmpnents f Lucity Spatial. Table f Cntents Lucity Spatial... 2 Requirements... 2 Setup... 3 Assign

More information