SOLAR THERMAL PLANT DESIGN AND OPERATION SUITE OF TOOLS COMPUTATION USING OPENCL Instructor: Dr.Perez Davila.

Slides:



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

Team # 6 December 03,  Mentors:  Michel Izygon-  Peter Armstrong-
Scalable Multi-Cache Simulation Using GPUs Michael Moeng Sangyeun Cho Rami Melhem University of Pittsburgh.
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,
Capstone Spring 2009 – Team 5. Using CUDA for Solar Thermal Plant Computation. Solar Thermal Plants Background Problem Energy Solution Algorithm Polygon.
Presented By: Capstone Team1 Date: 03/05/2010. Team Information Team Members  Ajay Chand Jasti  Suman Babu Alapati  Vamsi Krishna Guntupalli  Naveen.
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow Wilson W. L. Fung Ivan Sham George Yuan Tor M. Aamodt Electrical and Computer Engineering.
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.
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.
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
Accelerating SQL Database Operations on a GPU with CUDA Peter Bakkum & Kevin Skadron The University of Virginia GPGPU-3 Presentation March 14, 2010.
1 Integrating GPUs into Condor Timothy Blattner Marquette University Milwaukee, WI April 22, 2009.
OpenMP in a Heterogeneous World Ayodunni Aribuki Advisor: Dr. Barbara Chapman HPCTools Group University of Houston.
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.
By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit) High performance many core processors Only used to accelerate certain parts.
Introduction to CUDA (1 of 2) Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Solar Thermal Plant Design & Operation Suite of Tools By Team #4 Sasya Kodali, Lakshmi Yogitha Javvadi, Deepa Borra, Sukumar Bollineni Date: 10/02/2007.
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.
Applying GPU and POSIX Thread Technologies in Massive Remote Sensing Image Data Processing By: Group 17 King Mongkut's Institute of Technology Ladkrabang.
GPU Architecture and Programming
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
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.
Jie Chen. 30 Multi-Processors each contains 8 cores at 1.4 GHz 4GB GDDR3 memory offers ~100GB/s memory bandwidth.
QCAdesigner – CUDA HPPS project
CUDA Basics. Overview What is CUDA? Data Parallelism Host-Device model Thread execution Matrix-multiplication.
Solar Thermal Plant Design & Operation Suite of Tools Midterm Presentation TEAM #6 Soumya Garre, Tulasi Nandigam, Shahla Khorsand, Krishna Chaithanya Thathireddy.
Introduction to CUDA CAP 4730 Spring 2012 Tushar Athawale.
Shangkar Mayanglambam, Allen D. Malony, Matthew J. Sottile Computer and Information Science Department Performance.
University of Michigan Electrical Engineering and Computer Science Adaptive Input-aware Compilation for Graphics Engines Mehrzad Samadi 1, Amir Hormati.
Tieflow Workflow Toolkit -:By:- CSCI 6831 Capstone project Instructor: Dr. Kwok-Bun Yue Mentor: Mr. Scott Hetherington Midterm Presentation 04/15/2008.
My Coordinates Office EM G.27 contact time:
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.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
1 ITCS 4/5145 Parallel Programming, B. Wilkinson, Nov 12, CUDASynchronization.ppt Synchronization These notes introduce: Ways to achieve thread synchronization.
GPGPU Programming with CUDA Leandro Avila - University of Northern Iowa Mentor: Dr. Paul Gray Computer Science Department University of Northern Iowa.
Introduction to threads
Computer Engg, IIT(BHU)
Computer Graphics Graphics Hardware
These slides are based on the book:
CUDA Introduction Martin Kruliš by Martin Kruliš (v1.1)
Our Graphics Environment
Unified Modeling Language
Leiming Yu, Fanny Nina-Paravecino, David Kaeli, Qianqian Fang
3D Graphics Rendering PPT By Ricardo Veguilla.
Implementation of Efficient Check-pointing and Restart on CPU - GPU
Operating Systems (CS 340 D)
Chapter 4: Threads.
Chapter 4: Threads.
Compiler Back End Panel
Compiler Back End Panel
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Multithreaded Programming
Computer Graphics Graphics Hardware
Operating Systems (CS 340 D)
RADEON™ 9700 Architecture and 3D Performance
Graphics Processing Unit
Multicore and GPU Programming
Introduction to Operating Systems
6- General Purpose GPU Programming
Multicore and GPU Programming
Presentation transcript:

SOLAR THERMAL PLANT DESIGN AND OPERATION SUITE OF TOOLS COMPUTATION USING OPENCL Instructor: Dr.Perez Davila

MENTOR INFORMATION TEAM INFORMATION Mr. Peter Armstrong - peter.armstrong-1@tietronix.com Tietronix Software Inc. , 1331 Gemini Avenue, Suite 300 Houston, TX 77058. Website: www.tietronix.com TEAM INFORMATION Ramesh Pathuri - pathurir8276@uhcl.edu  Manasa Ravi - ravim7968@uhcl.edu Ravinder Rao Chikkaraju - chikkarajur0446@uhcl.edu   Sunil Alasyam - alasyams8391@uhcl.edu CSCI 6838 Team-3 12/2/2018

AGENDA Solar Thermal Plant Overview Introduction Project Objective Requirements Problem Specifications Use case Diagram Sequence Diagram Workflow Diagram System Architecture Implementation Polygon Clipping OpenCL Technology Demo Progress References CSCI 6838 Team-3 12/2/2018

Solar Thermal Plant Overview Solar thermal power plants are used to generate electricity from the energy of the sun. Heliostat-Movable mirrors that are used in the solar energy power plants. CSCI 6838 Team-3 12/2/2018

Solar Thermal Plant Overview Tower with Receiver Heliostats CSCI 6838 Team-3 12/2/2018

INTRODUCTION Shading occurs when a heliostat casts its shadow on another heliostat located behind it. Blocking occurs when a heliostat in front of another heliostat, blocks the reflected suns energy on its way to the receiver. CSCI 6838 Team-3 12/2/2018

PROJECT OBJECTIVE To develop a suite of software that can support the solar plant designers in computing the shading and blocking of a field of heliostats in real time. To calculate the position of the sun. To produce a continuously updated 2D color contour map that represents the overall efficiency of the heliostat field. CSCI 6838 Team-3 12/2/2018

REQUIREMENTS To read a text file in the format of ID,S,E,Z,R. To set the heliostat width and height, the pedestal height, receiver radius, and tower focal height entered by user. To find out the sun position at the date and time entered in by the user. To display the azimuth and elevation of the sun. To compute the vertices of all heliostats in the field. To compute the shading and blocking of each heliostat. To render a 2D contour map of heliostat field. CSCI 6838 Team-3 12/2/2018

PROBLEM SPECIFICATIONS Find the equation of the plane of target mirror. Find the co-ordinates of the target mirror on the absolute coordinate system. Find the co-ordinates of the source mirror on the absolute coordinate system. Compute the sun vector(X,Y,Z) in the absolute coordinate system. Compute the projections of the source mirror corners with respect to sun vector on to the target mirror plane. Compute the intersection area of the target mirror and the projected plane. CSCI 6838 Team-3 12/2/2018

USE CASE DIAGRAM CSCI 6838 Team-3 12/2/2018

Flowchart CSCI 6838 Team-3 12/2/2018

SEQUENCE DIAGRAM CSCI 6838 Team-3 12/2/2018

WORK FLOW DIAGRAM CSCI 6838 Team-3 12/2/2018

SYSTEM ARCHITECTURE CSCI 6838 Team-3 12/2/2018

IMPLEMENTATION Calculate the sun position. Vertices calculation. 8-closest neighbors. Area of each heliostat. Cosine effect of each heliostat. Polygon Clipper. CSCI 6838 Team-3 12/2/2018

POLYGON CLIPPING Removal of part of an object outside a polygon. Polygon clipping is particularly difficult because it is necessary that closed polygon remain closed. Clipping a polygon can result in several disjoint polygons. A polygon clipper takes as input the vertices of a polygon and returns one or more polygons. CSCI 6838 Team-3 12/2/2018

WORKING OF POLYGON CLIPPING The input to the clipper. Output of a clipper. Clipping process for a polygon. CSCI 6838 Team-3 12/2/2018

USE OF POLYGON CLIPPING SHADING BLOCKING CSCI 6838 Team-3 12/2/2018

Pseudo code dy:=y2-y1; dx:=x2-x1; m= dy/dx; if(x1<a4 & x2>a4) flag:=0; if (x1>=a4 & x2>=a4) flag:=1; if(x1>=a4 & x2<a4) flag:=2; CSCI 6838 Team-3 12/2/2018

Pseudo code flag0: x=a4 if diy!=0 y=y1 + m(x-x1); else y=y1; flag1: x=x2;y=y2; flag2: x=a4; if dy!=0 y=y1+m(x-x1); CSCI 6838 Team-3 12/2/2018

Applied Technologies CUDA is NVIDIA’s parallel computing architecture that enables dramatic increases in computing performance by harnessing the power of the GPU. A CUDA device is built around a scalable array of multithreaded Streaming Multiprocessors(SMs). CSCI 6838 Team-3 12/2/2018

CUDA CUDA Features: CUDA driver is used for computing with fast data transfer path between GPU and CPU. CUDA driver interoperates with OpenCL and DirectX graphics drivers. It supports for Linux and Windows XP. GPUs have a parallel "many-core" architecture, and each core can run thousands of threads simultaneously. CSCI 6838 Team-3 12/2/2018

OPENCL OpenCL (Open Computing Language) is a new heterogeneous computing environment, that runs on the CUDA architecture. It will allow developers to harness the massive parallel computing power of NVIDIA GPU’s to create compelling computing applications. To accelerate parallel computation. Used to speedup computationally intensive applications. Write accelerated portable code across different devices and architectures. CSCI 6838 Team-3 12/2/2018

OpenCL Execution Model Kernel Basic unit of executable code -similar to a C function Data-parallel or task-parallel Program Collection of kernels and other functions Analogous to a dynamic library CSCI 6838 Team-3 12/2/2018

Data-Parallelism in OpenCL Kernels executed across a global domain of work-items Global dimensions define the range of computation One work-item per computation, executed in parallel Work-items are grouped in local workgroups Local dimensions define the size of the workgroups Executed together on one device Share local memory and synchronization CSCI 6838 Team-3 12/2/2018

Memory Management CSCI 6838 Team-3 12/2/2018

Kernel Mechanism in OpenCL CSCI 6838 Team-3 12/2/2018

Screenshots CSCI 6838 Team-3 12/2/2018

Screenshots CSCI 6838 Team-3 12/2/2018

Screenshots CSCI 6838 Team-3 12/2/2018

Screenshots CSCI 6838 Team-3 12/2/2018

Screenshots CSCI 6838 Team-3 12/2/2018

Screenshots CSCI 6838 Team-3 12/2/2018

demo CSCI 6838 Team-3 12/2/2018

Future Enhancements Integrating the shading and blocking in OpenCL. Updating the 2-D contour map. Performance improvement. CSCI 6838 Team-3 12/2/2018

Team Roles 1. Ramesh Pathuri Team Leader, Research , Programmer and Documentation. 2. Manasa Ravi Algorithm, programmer and Documentation . 3. Sunil Alasyam Research, Testing and Programmer. 4. Ravinder Rao Chikkaraju Designer, programmer and Webmaster. CSCI 6838 Team-3 12/2/2018

references Peter Armstrong. An Annotated Algorithm for Shading and Blocking Computations of a Field of Heliostats Arranged in a Grid Layout. Available from Tietronix Software, Inc.; received February 4 2010. http://www.khronos.org/opencl/ http://www.khronos.org/developers/library/overview/opencl_overview.pdf http://www.nvidia.com/object/cuda_opencl_new.html http://2.bp.blogspot.com/_0A8DCf9FR68/Sk4bWJI54hI/AAAAAAAAAL4/zY57UgUhoA0/s400/solar-1.jpg CSCI 6838 Team-3 12/2/2018

Thank you CSCI 6838 Team-3 12/2/2018