Our Graphics Environment

Slides:



Advertisements
Similar presentations
GPGPU Programming Dominik G ö ddeke. 2Overview Choices in GPGPU programming Illustrated CPU vs. GPU step by step example GPU kernels in detail.
Advertisements

Lecture 1: Introduction
In Review JAVA C++ GUIs - Windows Webopedia.com.
GPU Programming using BU Shared Computing Cluster
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
APARAPI Java™ platform’s ‘Write Once Run Anywhere’ ® now includes the GPU Gary Frost AMD PMTS Java Runtime Team.
HPCC Mid-Morning Break High Performance Computing on a GPU cluster Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery.
Multi Agent Simulation and its optimization over parallel architecture using CUDA™ Abdur Rahman and Bilal Khan NEDUET(Department Of Computer and Information.
1 Programming Languages b Each type of CPU has its own specific machine language b But, writing programs in machine languages is cumbersome (too detailed)
CS 732: Advance Machine Learning Usman Roshan Department of Computer Science NJIT.
Contemporary Languages in Parallel Computing Raymond Hummel.
HPCC Mid-Morning Break Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery Introduction to the new GPU (GFX) cluster.
Jared Barnes Chris Jackson.  Originally created to calculate pixel values  Each core executes the same set of instructions Mario projected onto several.
Accelerating SQL Database Operations on a GPU with CUDA Peter Bakkum & Kevin Skadron The University of Virginia GPGPU-3 Presentation March 14, 2010.
What Programming Language Should We Use Tomorrow Kim Young Soo.
Introduction to Programming Language CS105 Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation:
Computer Graphics Graphics Hardware
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
Computer Graphics Tz-Huan Huang National Taiwan University.
GPU Architecture and Programming
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
GPUs: Overview of Architecture and Programming Options Lee Barford firstname dot lastname at gmail dot com.
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
Language Implementation Methods David Woolbright.
Introduction to CUDA CAP 4730 Spring 2012 Tushar Athawale.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Compilers and Interpreters
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
NVIDIA® TESLA™ GPU Based Super Computer By : Adam Powell Student # For COSC 3P93.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
 Human language : commonly used to express feeling and understand what other people expression.  Computer language : are a languages by which a user.
GPUs (Graphics Processing Units). Information from Textbook Online Appendix C includes information on GPUs Access online resources from: –
Evolution and History of Programming Languages
Computer Engg, IIT(BHU)
Computer Graphics Graphics Hardware
CSC235 Computer Organization & Assembly Language
Why don’t programmers have to program in machine code?
Ashima Wadhwa Assistant Professor(giBS)
Topic: Difference b/w JDK, JRE, JIT, JVM
Introduction to.
OpenCL 소개 류관희 충북대학교 소프트웨어학과.
The Client/Server Database Environment
Java programming lecture one
Chapter 6 GPU, Shaders, and Shading Languages
Multi-Layer Perceptron On A GPU
From Turing Machine to Global Illumination
Chapter 4 Computer Software.
Translators & Facilities of Languages
and Executing Programs
Brook GLES Pi: Democratising Accelerator Programming
High Level Programming Languages
Graphics Processing Unit
CS105 Introduction to Computer Concepts Intro to programming
GPU Introduction: Uses, Architecture, and Programming Model
What time is it?. What time is it? Major Concepts: a data structure model: basic representation of data, such as integers, logic values, and characters.
Chapter 7 –Implementation Issues
Computer Graphics Graphics Hardware
Introduction to CUDA.
Ray Tracing on Programmable Graphics Hardware
Criteria for rapid prototyping
Graphics Processing Unit
Multicore and GPU Programming
CSE 502: Computer Architecture
Multicore and GPU Programming
CS105 Introduction to Computer Concepts Intro to programming
Argon Phase 3 Feedback June 4, 2019.
Presentation transcript:

Our Graphics Environment

Hardware CPU GPU—massively parallel, set up for high-speed graphics Modern CPUs are multicore processors that support programs that can run at the same time as other programs The level of parallelism (as enabled by the number of CPU cores) is relatively low GPU—massively parallel, set up for high-speed graphics All modern high-performance graphics systems use massively parallel GPUs How do the CPU and GPU communicate? Slow data bus

Programing on the CPU We will use Java High-level language Interpreter translates our Java code to object code (check) Java Run-time Environment (JRE) takes the object code and translates it to CPU readable machine language Need a graphic

Programming on the GPU We can only get to the GPU through the CPU We will write programs in Java that run on the CPU that launch programs that run on the GPU We will call the CPU the ‘client side’ and the GPU the ‘server side’ Our client-side Java programs will contain character strings that represent relatively short OpenGL Shading Language (GLSL) programs The GLSL programs will be compiled and linked by built-in OpenGL tools on the client side but… They will run on the GPU (the server-side) Wait! Don’t run away screaming…

Our programming environment Client side Java (language), Eclipse (IDE), JOGL (Java wrapper for OpenGL libraries) Server side GLSL (the OpenGL shading languages) Can you do this programming in other environments? Absolutely C and C++ are the most common client side programming languages (I use C++) HLSL (high-level shading language) is used extensively by programmers preferring to use the Microsoft DirectX graphics library over OpenGL

What if you don’t want to do graphics? GPUs can be used for general purpose programming (like a CPU) Some languages that are good for this include CUDA (NVIDIA) OpenCL (from the folks who gave you OpenGL) Probably many others