Capstone Spring 2009 – Team 5. Using CUDA for Solar Thermal Plant Computation. Solar Thermal Plants Background Problem Energy Solution Algorithm Polygon.

Slides:



Advertisements
Similar presentations
Speed, Accurate and Efficient way to identify the DNA.
Advertisements

Accelerators for HPC: Programming Models Accelerators for HPC: StreamIt on GPU High Performance Applications on Heterogeneous Windows Clusters
Team # 6 December 03,  Mentors:  Michel Izygon-  Peter Armstrong-
Scalable Multi-Cache Simulation Using GPUs Michael Moeng Sangyeun Cho Rami Melhem University of Pittsburgh.
IIAA GPMAD A beam dynamics code using Graphics Processing Units GPMAD (GPU Processed Methodical Accelerator Design) utilises Graphics Processing Units.
Solar Power Plant Presented by team 4: Anchit Tapadia, Insia Iftiqhar, Vipin Beldar, Mahi Eturee. Mentor: Dr. Michel Izygon Instructor: Dr. Bun Yue.
5/1/2015Solar Thermal Plant Design1 Solar Thermal Plant Design & Operation Suite of Tools By Team #4 Lakshmi Yogitha Javvadi, Sukumar Bollineni Deepa Borra,
Presented By: Capstone Team1 Date: 03/05/2010. Team Information Team Members  Ajay Chand Jasti  Suman Babu Alapati  Vamsi Krishna Guntupalli  Naveen.
GPGPU Introduction Alan Gray EPCC The University of Edinburgh.
Solar Power. Before the bell rings get out your notes and begin answering the following based on your row… Row 1- (closest to the front!)- What are the.
Acceleration of the Smith– Waterman algorithm using single and multiple graphics processors Author : Ali Khajeh-Saeed, Stephen Poole, J. Blair Perot. Publisher:
2009/04/07 Yun-Yang Ma.  Overview  What is CUDA ◦ Architecture ◦ Programming Model ◦ Memory Model  H.264 Motion Estimation on CUDA ◦ Method ◦ Experimental.
Multi Agent Simulation and its optimization over parallel architecture using CUDA™ Abdur Rahman and Bilal Khan NEDUET(Department Of Computer and Information.
Data Parallel Algorithms Presented By: M.Mohsin Butt
Capstone Team#5 Fall Table of ContentsTable of Contents TopicSlide Number Team information ………………………………………………3 Instructor/Mentors Information ………………………………………………4.
Capstone Team#5 Fall Table of ContentsTable of Contents TopicSlide Number Team information ………………………………………………3 Instructor/Mentors Information.
CUDA Programming Lei Zhou, Yafeng Yin, Yanzhi Ren, Hong Man, Yingying Chen.
Weekly Report Start learning GPU Ph.D. Student: Leo Lee date: Sep. 18, 2009.
Big Kernel: High Performance CPU-GPU Communication Pipelining for Big Data style Applications Sajitha Naduvil-Vadukootu CSC 8530 (Parallel Algorithms)
All-Pairs-Shortest-Paths for Large Graphs on the GPU Gary J Katz 1,2, Joe Kider 1 1 University of Pennsylvania 2 Lockheed Martin IS&GS.
University of Michigan Electrical Engineering and Computer Science Amir Hormati, Mehrzad Samadi, Mark Woh, Trevor Mudge, and Scott Mahlke Sponge: Portable.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
To GPU Synchronize or Not GPU Synchronize? Wu-chun Feng and Shucai Xiao Department of Computer Science, Department of Electrical and Computer Engineering,
Solar Thermal Plant Design & Operation Suite of Tools
Jared Barnes Chris Jackson.  Originally created to calculate pixel values  Each core executes the same set of instructions Mario projected onto several.
Shekoofeh Azizi Spring  CUDA is a parallel computing platform and programming model invented by NVIDIA  With CUDA, you can send C, C++ and Fortran.
Motivation “Every three minutes a woman is diagnosed with Breast cancer” (American Cancer Society, “Detailed Guide: Breast Cancer,” 2006) Explore the use.
Challenges Bit-vector approach Conclusion & Future Work A subsequence of a string of symbols is derived from the original string by deleting some elements.
GPU Programming David Monismith Based on notes taken from the Udacity Parallel Programming Course.
SOLAR THERMAL PLANT DESIGN AND OPERATION SUITE OF TOOLS COMPUTATION USING OPENCL Instructor: Dr.Perez Davila 1.
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
Using CUDA for Solar Thermal Plant Computation. Background Problem Solution Algorithm Polygon Clipping Why CUDA? Progress.
Massively Parallel Mapping of Next Generation Sequence Reads Using GPUs Azita Nouri, Reha Oğuz Selvitopi, Özcan Öztürk, Onur Mutlu, Can Alkan Bilkent University,
Solar Thermal Plant Design & Operation Suite of Tools By Team #4 Sasya Kodali, Lakshmi Yogitha Javvadi, Deepa Borra, Sukumar Bollineni Date: 10/02/2007.
General Purpose Computing on Graphics Processing Units: Optimization Strategy Henry Au Space and Naval Warfare Center Pacific 09/12/12.
Algorithm Engineering „GPGPU“ Stefan Edelkamp. Graphics Processing Units  GPGPU = (GP)²U General Purpose Programming on the GPU  „Parallelism for the.
+ CUDA Antonyus Pyetro do Amaral Ferreira. + The problem The advent of multicore CPUs and manycore GPUs means that mainstream processor chips are now.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
CUDA Optimizations Sathish Vadhiyar Parallel Programming.
GPU Architectural Considerations for Cellular Automata Programming A comparison of performance between a x86 CPU and nVidia Graphics Card Stephen Orchowski,
Robert Liao Tracy Wang CS252 Spring Overview Traditional GPU Architecture The NVIDIA G80 Processor CUDA (Compute Unified Device Architecture) LAPACK.
GPU Architecture and Programming
Presented By CSCI \17\08 Team #6 Krishna Thathireddy
Solar Thermal Plant Design and Operation Suite of Tools Date: 04/30/09 Presented By: Team #3.
GPU-Accelerated Computing and Case-Based Reasoning Yanzhi Ren, Jiadi Yu, Yingying Chen Department of Electrical and Computer Engineering, Stevens Institute.
Jie Chen. 30 Multi-Processors each contains 8 cores at 1.4 GHz 4GB GDDR3 memory offers ~100GB/s memory bandwidth.
By Dirk Hekhuis Advisors Dr. Greg Wolffe Dr. Christian Trefftz.
Compiler and Runtime Support for Enabling Generalized Reduction Computations on Heterogeneous Parallel Configurations Vignesh Ravi, Wenjing Ma, David Chiu.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
CUDA Basics. Overview What is CUDA? Data Parallelism Host-Device model Thread execution Matrix-multiplication.
CS/EE 217 GPU Architecture and Parallel Programming Midterm Review
Solar Thermal Plant Design & Operation Suite of Tools Midterm Presentation TEAM #6 Soumya Garre, Tulasi Nandigam, Shahla Khorsand, Krishna Chaithanya Thathireddy.
Sudhanshu Khemka.  Treats each document as a vector with one component corresponding to each term in the dictionary  Weight of a component is calculated.
University of Michigan Electrical Engineering and Computer Science Adaptive Input-aware Compilation for Graphics Engines Mehrzad Samadi 1, Amir Hormati.
AUTO-GC: Automatic Translation of Data Mining Applications to GPU Clusters Wenjing Ma Gagan Agrawal The Ohio State University.
Fast and parallel implementation of Image Processing Algorithm using CUDA Technology On GPU Hardware Neha Patil Badrinath Roysam Department of Electrical.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Large-scale geophysical electromagnetic imaging and modeling on graphical processing units Michael Commer (LBNL) Filipe R. N. C. Maia (LBNL-NERSC) Gregory.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Computer Engg, IIT(BHU)
CS427 Multicore Architecture and Parallel Computing
SOLARIS CONFERENCE 2017   Sun tracking study and preliminary design of heliostat field in solar power towers Solaris 2017, 26 – 27 July 2017, Brunel University.
Graphics Processing Unit
CS 179: GPU Programming Lecture 1: Introduction 1
CS 179 Project Intro.
CS/EE 217 – GPU Architecture and Parallel Programming
SOLAR THERMAL PLANT DESIGN AND OPERATION SUITE OF TOOLS COMPUTATION USING OPENCL Instructor: Dr.Perez Davila.
6- General Purpose GPU Programming
Presentation transcript:

Capstone Spring 2009 – Team 5

Using CUDA for Solar Thermal Plant Computation. Solar Thermal Plants Background Problem Energy Solution Algorithm Polygon Clipping Why CUDA? Progress

Our Team. Claus Nilsson Sahithi Chalasani Pranav Mantini Arun Kumar Subramanian

Instructor: Dr.Bun yue Mentor: Dr.Michel Izygon Mr. Peter Armstrong

SOLAR THERMAL PLANT Solar Thermal power plants are used to generate electricity from the energy of the sun.

Background Structure 1. Central receiver A type of solar furnace. Receives the sunlight redirected by Heliostats. 2. Heliostat A type of mirror. redirects sunlight towards the central receiver.

Background. Field  Generally huge  Heliostats are placed in a radial stagger formation.  For the purpose of computation the field is broken into grids containing cells.

Shading and Blocking. The sunlight being received by one heliostat can be blocked by the adjacent heliostats, causing shading and blocking. A field of heliostats suffers loss in efficiency caused by shading and blocking. For our purpose we assume that shading and blocking occurs only within a cell.

Shading. Shading is the loss of illumination on a given mirror due to the interception of the incident sunlight by a neighbouring mirror. [3]

SHADING

Blocking. Blocking is the loss of illumination on the central receiver due to the interception of reflected sunlight by another neighbouring mirror. [3]

BLOCKING

Energy. The energy generated by a heliostat depends on many factors, one of them being the area of the heliostats. The energy generated from a solar thermal plant is directly proportional to the amount of sunlight reflected on to the central receiver.

Energy The amount of sunlight reflected onto the central receiver depends on the total area of the heliostats that is neither shaded nor blocked. To optimize the energy generated from a solar thermal plant, the total area of the heliostats that is shaded and blocked should be calculated.

Algorithm. An algorithm was designed by Mr. Peter Armstrong of Tietronix Software, Inc., to calculate the shading and blocking among the heliostats.[4] This algorithm makes use of Vector Mathematics, including vector projection and a polygon clipping algorithm.

Algorithm. The algorithm calculates the co-ordinates of the heliostats for a given configuration of the grid at a certain location of the sun. These co-ordinates are used to find the interactions of the heliostats. The algorithm uses vector projections to find, if one heliostat shades or blocks another heliostat.

Algorithm. If a heliostat shades or blocks another heliostat, a polygon clipping algorithm is used to find the vertices of the unshaded region of the representative heliostat. This algorithm is applied for all the neighboring heliostats and the area is added to the running total of the area calculated.

Polygon Clipping. The area of the representative Heliostat that is shaded or blocked does not contribute towards the power generated. This area should be subtracted using a polygon clipper. The Original program designed by Tietronix Software, Inc. makes call to a general polygon clipping(gpc) library.

Polygon Clipping This gpc is a huge library designed at The University of Manchester. It has about 2500 lines of code. Most of the processing time for calculating the co- ordinates is taken by the gpc.

Problem. Solar thermal fields in general have considerably large number of heliostats. This computation algorithm takes significant amount of time to calculate shading and blocking for thousands of heliostat. The objective is to decrease this computation time.

Solution. To increase the efficiency of this computation algorithm, Tietronix Software, Inc. has proposed to create an application that computes the shading and blocking among the heliostats simultaneously. For this purpose, CUDA(Compute Unified Device Architecture), a parallel computing architecture was chosen.

Design As CUDA is extension to language c, the whole computation algorithm and the polygon clipping algorithm was first implemented in C and then later converted to CUDA.

Polygon Clipping Issue The gpc library used for the original computation could not be used for our purpose. As, the gpc library are located on the host, a call to the function on the host from the device is lot more time consuming. A polygon clipping algorithm that is more specific to the computation algorithm has to be designed.

Polygon Clipping The polygon clipping algorithm used for our design is a paper, Efficient clipping of arbitrary polygons proposed by GUNTHER GREINER and KAI HORMANN. This algorithm is chosen because, it is relatively more efficient than Sutherland Hodgman algorithm which is more commonly used. The data structures used for the polygons are very simple.

Polygon Clipping A doubly linked list is used in the algorithm to represent the polygons. The clipping algorithm involves the calculation of all the intersection points and the choosing among these points to create the desired polygon.

CUDA What is CUDA ◦ Scalable programming model and ◦ Software environment for parallel computing [2] ◦ Extension to the C programming language

CUDA What CUDA does  Allows utilization of GPU  Allows parallel execution of code  Manages threads automatically  CUDA Requires  One or more Nvidia GPUs (Graphics Processing Unit)  Nvidia’s CUDA API

CUDA Example Source: “Parallel Processing With CUDA” by Tom R. Halfhill [1]

CUDA

Challenges with CUDA No communication from device to host No dynamic memory allocation on device during run Only Single Precision on our devices

References [1] Tom R. Halfhill. Parallel Processing With CUDA. Microprocessor, 01/28/08-01, f f [2] Greg Ruetsch, Brent Oster. Getting Started with CUDA. Getting_Started_w_CUDA_Training_NVISION08.p df

References [3] Lipps, F. W.; vant-Hull, L. L., Shading and blocking geometry for a solar tower concentrator with rectangular mirrors, American Society of Mechanical Engineers, Winter Annual Meeting, New York, N.Y., Nov , 1974, 7 p. NSF- supported research. [4] Peter Armstrong, An Algorithm For Shading And Blocking Computation Of A Field Of Heliostats Arranged In A Grid Layout.

Thank You! Any Questions?