SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
OpenCL™ & the Future of
Desktop High Performance
Computing in CAD
Before We Start
This webinar will be available afterwards at
designworldonline.com & email

Q&A at the end of the presentation
Hashtag for this webinar: #DWwebinar
Moderator

Presenter

Joe Gorse

Allen Bourgoyne

Design World

AMD
OpenCL™ & the Future
of Desktop High
Performance
Computing in CAD
Allen Bourgoyne, Director ISV Alliance Team
AMD Professional Graphics
Agenda
Introduction
Processors everywhere
History of GPU Computing
What is OpenCL™
How is OpenCL™ changing CAD?
• Conclusion
•
•
•
•
Introduction
Who am I?
• Allen Bourgoyne
o Director, ISV Alliances AMD Professional Graphics
What is OpenCL™?
• Open Compute Language, OpenCL™, is the first open,
royalty free standard for cross platform programming for
personal computers, servers, workstations, hand-held
devices, supporting a variety of CPUs, GPUs, and DSPs.
Processors Everywhere
Modern Computers Have
Lots of Processors

• Central Processing Unit (CPU)
• Graphics Processing Unit (GPU)
• Others
o
o
o
o

Network Controllers
Device controllers (disks, DVD-ROMs, etc)
Smart Batteries
Most of these are not generally available for application software use
What Processors Can I
Use?

• CPU: traditionally runs operating system, user programs,
system functions
o General purpose design: run lots of things
o Some parallel processing capability
• CPUs have multiple processing cores (2, 4, 8, up to 12)
• Can use multiple CPUs to increase parallel processing capability
o Processing power & memory generally available to user programs
• Low-level compute functionality generally available to programs
• Programs can directly access memory, operating system can provide for
“virtual memory”
What Processors Can I
Use?

• GPU: traditionally runs graphics programs

o Highly focused design: Run graphics programs
o Highly parallel processing designs
• Modern GPUs can have over 1000 processing units!
o Low-level compute functionality not generally available to programs (until very
recently)
o Processing power & memory generally available to graphics programs
• Physical memory only, no virtual memory available
What Processors Can I
Use?

• Others:

o Not generally available for application software
o Can be used (not always for good!)
• Recent hacks have used “smart” battery controllers to ruin batteries (over
charge, not charge) and install malware5
o Historically, if there is a processor in the system that has an interface that can be
exploited, it will be eventually

• Focus today: CPUs & GPUs
What is HPC?
• High Performance Computing
Historically refers to computing that involves extremely large amounts of computer
processing
Examples:
Simulating nuclear explosions
Global weather
Seismic data processing (looking for Oil & Gas)
Breaking codes/ciphers
Computing Pi to ridiculous numbers of decimal points!!
HPC Has Been Around for a
Long Time
• Original mainframe computers designed to solve complex math
problems
• CAD: crash simulation, structural analysis, etc
• Historically done on compute servers
o
o
o

Lots of CPUs with lots of cores
Jobs submitted in batches
Long turn around times, some times takes days or weeks!

• Desktops/laptops getting more powerful
o

HPC workloads showing up here!
Brief History of GPU
Computing
1970

1980

1990

Pixel-Plane
5 (1992)

Ikonas
(1978)
SGI GL
(1984)

Pixel
Machine
(1989)
OpenGL
(1992)

2000

2010+

ATI CTM
(2006)
Nvidia
CUDA
(2007)
PixelFlow SIMD gfx
cracks UNIX
password
encryption(1999)

OpenCL
(2009)
Using the GPU for
Computing
• Using GPUs for computing has been around for a long
time!
o As soon as they started showing up in computers, people started trying to use them
to help speed up compute tasks

• Why?
o GPUs have some unique design characteristics that enable them to perform certain
mathematical functions extremely fast
Computer Graphics 101
• How to draw a triangle on your computer screen:
Y
X

A(x,y,z)

Z

B(x,y,z)

C(x,y,z)
Computer Graphics 101 – Math to Draw that

Triangle!
•

Project 3D points onto 2D display:
o

•

For point (Ax, Ay, Az), projected point (Px, Py)

Draw lines, fill triangle:
Determine slope for each line:
Slope = (Bx – Ax) / (By – Ay)

Any coordinate on line:

Ax
Px
Py

=

Sx 0 0
0 0 Sz

Ay

+

Cx
Cz

Cx = Ax + slope * (Cy – Ay)
A(x,y,z)

Az

Do this for vectors
AB and AC, we will have
the points to create lines
to fill the triangle

B(x,y,z)
C(x,y,z)
GPU Processing Power
• As you can see, it takes a bit of math processing to draw
that triangle
• Problem: Stuff we want to draw has lots of triangles!
o Interactive rates are 30 frames per second (fps)
• Example: 1 million triangle model @ 30 fps requires drawing 30 million
triangles per second!
o And that’s a small model!

• Solution: GPUs have to be able to process lots of triangles!
GPU Processing Power
• Modern GPUs can process hundreds of millions of triangles
per second
o That’s a lot of vector math: DOT products, matrix multiplies, etc.

• High degree of parallel processing enables GPUs to handle
this workload
o Modern GPUs do thousands of operations in parallel in order to meet the demands
that graphics applications place on the hardware
GPU Processing Power
• So what does this mean?
o GPUs have a lot of processing power!

• CPU vs GPU computing power:
• CPU: ~ 200 GFLOPS2
• GPU: > 3 TFLOPS1
So Why Should I Care if My
GPU is used for Compute?
• Answer: Money & Performance!
• Not quite that simple, let’s take a look at how our
computer generally operates…
Typical Computer
Utilization
CPU

GPU
Compute Usage
• In most cases, the CPU and GPU aren’t that busy when the
other guy is working:
o GPU mostly idle while loading files, writing to disk, etc.
o CPU can be less busy when waiting for the GPU to complete graphics tasks
• These ebbs & flows of workloads create idle cycles, but also the opportunity to
move compute tasks to the available resource
o Try to make use of the idle time!
Compute Power
• Remember the CPU vs GPU performance comparison?
ALU

ALU

ALU

CPU

ALU

CACHE

MEMORY

GPU

MEMORY
How do I get my $$$s
Worth?
• Software developers are working on tapping into those
unused compute cycles and untapped compute power of
the GPU
o End user software demands ever increasing:
•

Modern automotive models can contain up to 50,000 parts with 10 to 20 GB of data. The number of
triangles can reach 40,000,000 polygons/model6

o OpenCL™ is a tool that will enable software developers to tap into the full power
available on the computer!
What is OpenCL™?
OpenCL™
• Industry standard programming language for parallel
computing
• Specification by Khronos
• Software using OpenCL runs on many enabled devices
o Runs on CPUs, GPUs, ARM processors, Windows, Linux, Apple OS, Android Os’s
o Supported by major hardware & software vendors including AMD, Intel, Nvidia,
Apple, ARM
Who is Khronos?
• Open consortium creating standards
o The Khronos Group is a not for profit industry consortium creating open standards
for the authoring and acceleration of parallel computing, graphics and dynamic
media on a wide variety of platforms and devices
o Commitment to royalty free standards
o Founded almost 10 years ago, over 100 members, any company welcome to join
o Standards include OpenGL®, OpenCL™, WebGL, WebVG™, OpenWF™
OpenCL™ Working Group
Members
Developers Want Open
Standards!
• June 2011 developer
survey shows adoption of
OpenCL3
OpenCL™ & CAD
• OpenCL™ is a powerful tool designed to unleash the power
of processors in a platform independent way
• Software developers are taking advantage of OpenCL™ to
provide significant increases in both computation and
graphics compute performance
OpenCL™ Based Solutions
• Engineering analysis
o Very high compute requirements, GPUs can help offload some of the compute
workload
o Solutions shipping today from Dassault Systemes, OpenCASCADE
Performance Gains with OpenCL™

% Speed-up

Abaqus/Standard 6.11

Over 200% Speed-up with OpenCL™
VS. CPU only4
% speed-up
with GPU &
OpenCL™

230
228
226
224
222
220
S4B Benchmark

customer Data #1

Job Name

Operations per Iteration

Solver Speed Up

Overall Speedup using CPU plus GPU &
OpenCL

s4B Benchmark dataset

10.3 TFLOPS

2.4X

2.3X

Customer Data #1

5.75 TFLOPS

2.4X

2.2X
OpenCL™ & Design
• OpenCL™ will impact the design phase as well
o Ability to accelerate high-quality, photo-realistic rendering in real time
• Interact with realistic models in realistic environments in real time!
o Provide physically accurate rendering: lights, reflections, etc. are rendered physically
where they will show up on the actual product
OpenCL™ & Design
Chaos Group V-Ray render engine with
GPU acceleration provides interactive
rendering

Image courtesy of Chaos Group

OPTIS Theiea simulate reality for
design review pipelines

Image courtesy of OPTIS
OpenCL ™ & CAD
• Just scratching the surface
o OpenCL only available for less than 2 years
• Already impacting analysis & design software

• Migration from other software verticals
o Digital Content Creation (DCC)
• Realistic cloth simulations, physics, particle simulation, AI already supported
What’s Next?
• Any computationally intensive task is a good candidate:
o CFD, FEA, particle simulation, etc.

• Most major ISVs already working with OpenCL™
o Many more software titles will implement OpenCL in 2012
Thank You
References
1.

5.

http://www.amd.com/us/products/desktop/graphics/amd-radeon-hd-6000/hd-6990/Pages/amd-radeon-hd-6990overview.aspx#3
http://www.maxxpi.net/pages/result-browser/top10---flops.php
Market data provided by Evans Data Corporation | June 2011
Testing conducted on a Dell T7400 w/ Intel Xeon E5405 CPU, 64GB RAM, Red Hat® OS v5.5, ATI FirePro™ V9800,
AMD Catalyst Pro 10.12, Dassault Systemes SIMULIA ® Abaqus/Standard 6.11
http://www.v3.co.uk/v3-uk/news/2099616/black-hat-charlie-miller-explains-apple-battery-hack

6.

http://cadspeed.wordpress.com/2011/05/18/opencl-will-rock-the-cad-world-part-1-why-you-want-it/

2.
3.
4.
Disclaimer
The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical
errors.
The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and
roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing
manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise
this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without
obligation of AMD to notify any person of such revisions or changes.
AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY
INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION.
AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL
AMD BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY
INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Questions?
Design World

Joe Gorse
Email: jhgorse@wtwhmedia.com
Phone: 440.234.4531 ext. 111
Twitter: @DesignWorld_EE

AMD

Allen Bourgoyne
Email: Allen.Bourgoyne@amd.com
Phone: 512.602.4738
Thank You
 This webinar will be available at designworldonline.com & email
 Tweet with hashtag #DWwebinar

 Connect with
 Twitter: @DesignWorld
 Facebook.com/engineeringexchange
 LinkedIn: Design World Group
 YouTube.com/designworldvideo

 Discuss this on EngineeringExchange.com
OpenCL & the Future of Desktop High Performance Computing in CAD

Contenu connexe

Tendances

201907 Radeon ProRender2.0@Siggraph2019
201907 Radeon ProRender2.0@Siggraph2019201907 Radeon ProRender2.0@Siggraph2019
201907 Radeon ProRender2.0@Siggraph2019
Takahiro Harada
 

Tendances (20)

Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
 
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
PL-4048, Adapting languages for parallel processing on GPUs, by Neil Henning
PL-4048, Adapting languages for parallel processing on GPUs, by Neil HenningPL-4048, Adapting languages for parallel processing on GPUs, by Neil Henning
PL-4048, Adapting languages for parallel processing on GPUs, by Neil Henning
 
Using GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaUsing GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with Java
 
HC-4021, Efficient scheduling of OpenMP and OpenCL™ workloads on Accelerated ...
HC-4021, Efficient scheduling of OpenMP and OpenCL™ workloads on Accelerated ...HC-4021, Efficient scheduling of OpenMP and OpenCL™ workloads on Accelerated ...
HC-4021, Efficient scheduling of OpenMP and OpenCL™ workloads on Accelerated ...
 
GPU Programming with Java
GPU Programming with JavaGPU Programming with Java
GPU Programming with Java
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
 
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
PL-4044, OpenACC on AMD APUs and GPUs with the PGI Accelerator Compilers, by ...
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
 
Easy and High Performance GPU Programming for Java Programmers
Easy and High Performance GPU Programming for Java ProgrammersEasy and High Performance GPU Programming for Java Programmers
Easy and High Performance GPU Programming for Java Programmers
 
PostgreSQL with OpenCL
PostgreSQL with OpenCLPostgreSQL with OpenCL
PostgreSQL with OpenCL
 
Leveraging GPU-Accelerated Analytics on top of Apache Spark with Todd Mostak
Leveraging GPU-Accelerated Analytics on top of Apache Spark with Todd MostakLeveraging GPU-Accelerated Analytics on top of Apache Spark with Todd Mostak
Leveraging GPU-Accelerated Analytics on top of Apache Spark with Todd Mostak
 
201907 Radeon ProRender2.0@Siggraph2019
201907 Radeon ProRender2.0@Siggraph2019201907 Radeon ProRender2.0@Siggraph2019
201907 Radeon ProRender2.0@Siggraph2019
 
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
 
HSA-4123, HSA Memory Model, by Ben Gaster
HSA-4123, HSA Memory Model, by Ben GasterHSA-4123, HSA Memory Model, by Ben Gaster
HSA-4123, HSA Memory Model, by Ben Gaster
 

Similaire à OpenCL & the Future of Desktop High Performance Computing in CAD

Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
CEE-SEC(R)
 

Similaire à OpenCL & the Future of Desktop High Performance Computing in CAD (20)

LCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience Report
 
Mauricio breteernitiz hpc-exascale-iscte
Mauricio breteernitiz hpc-exascale-iscteMauricio breteernitiz hpc-exascale-iscte
Mauricio breteernitiz hpc-exascale-iscte
 
High performance computing for research
High performance computing for researchHigh performance computing for research
High performance computing for research
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
The Rise of Parallel Computing
The Rise of Parallel ComputingThe Rise of Parallel Computing
The Rise of Parallel Computing
 
ICEOTOPE & OCF: Performance for Manufacturing
ICEOTOPE & OCF: Performance for Manufacturing ICEOTOPE & OCF: Performance for Manufacturing
ICEOTOPE & OCF: Performance for Manufacturing
 
Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer Exploring the Programming Models for the LUMI Supercomputer
Exploring the Programming Models for the LUMI Supercomputer
 
Compute API –Past & Future
Compute API –Past & FutureCompute API –Past & Future
Compute API –Past & Future
 
Multiprocessor architecture and programming
Multiprocessor architecture and programmingMultiprocessor architecture and programming
Multiprocessor architecture and programming
 
lec01.pdf
lec01.pdflec01.pdf
lec01.pdf
 
Early Successes Debugging with TotalView on the Intel Xeon Phi Coprocessor
Early Successes Debugging with TotalView on the Intel Xeon Phi CoprocessorEarly Successes Debugging with TotalView on the Intel Xeon Phi Coprocessor
Early Successes Debugging with TotalView on the Intel Xeon Phi Coprocessor
 
PyData Boston 2013
PyData Boston 2013PyData Boston 2013
PyData Boston 2013
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
 
Introduction to multicore .ppt
Introduction to multicore .pptIntroduction to multicore .ppt
Introduction to multicore .ppt
 
GPU Computing for Data Science
GPU Computing for Data Science GPU Computing for Data Science
GPU Computing for Data Science
 
Utilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmapUtilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmap
 
GPUs vs CPUs for Parallel Processing
GPUs vs CPUs for Parallel ProcessingGPUs vs CPUs for Parallel Processing
GPUs vs CPUs for Parallel Processing
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
GPU Algorithms and trends 2018
GPU Algorithms and trends 2018GPU Algorithms and trends 2018
GPU Algorithms and trends 2018
 

Plus de Design World

Plus de Design World (20)

Best practices for optimizing performance and reducing costs when selecting a...
Best practices for optimizing performance and reducing costs when selecting a...Best practices for optimizing performance and reducing costs when selecting a...
Best practices for optimizing performance and reducing costs when selecting a...
 
Five Steps to Optimize Casting and Eliminate Defects
Five Steps to Optimize Casting and Eliminate DefectsFive Steps to Optimize Casting and Eliminate Defects
Five Steps to Optimize Casting and Eliminate Defects
 
Meeting the Motion Needs of Flexible Automation
Meeting the Motion Needs of Flexible AutomationMeeting the Motion Needs of Flexible Automation
Meeting the Motion Needs of Flexible Automation
 
Proper coupling selection: what you’re probably missing
Proper coupling selection: what you’re probably missingProper coupling selection: what you’re probably missing
Proper coupling selection: what you’re probably missing
 
Curved Motion System Design for Machinery and Automation
Curved Motion System Design for Machinery and AutomationCurved Motion System Design for Machinery and Automation
Curved Motion System Design for Machinery and Automation
 
See How the SOLIDWORKS Ecosystem Delivers on Design Innovation
See How the SOLIDWORKS Ecosystem Delivers on Design InnovationSee How the SOLIDWORKS Ecosystem Delivers on Design Innovation
See How the SOLIDWORKS Ecosystem Delivers on Design Innovation
 
Proper Hose Assembly Guidelines
Proper Hose Assembly GuidelinesProper Hose Assembly Guidelines
Proper Hose Assembly Guidelines
 
Product Development Ecosystems: Defining Your Value in the Digital Age
Product Development Ecosystems: Defining Your Value in the Digital AgeProduct Development Ecosystems: Defining Your Value in the Digital Age
Product Development Ecosystems: Defining Your Value in the Digital Age
 
Challenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro MoldingChallenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro Molding
 
Encoder integration in 2016: New modes of installation, networking, and more
Encoder integration in 2016: New modes of installation, networking, and moreEncoder integration in 2016: New modes of installation, networking, and more
Encoder integration in 2016: New modes of installation, networking, and more
 
Why should you make tooling with 3D printing?
Why should you make tooling with 3D printing?Why should you make tooling with 3D printing?
Why should you make tooling with 3D printing?
 
Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...
Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...
Ethernet or EtherCAT for Motion Control: Choosing the Right Network for Your ...
 
New Innovations in Linear Guides for Transportation and Automation
New Innovations in Linear Guides for Transportation and AutomationNew Innovations in Linear Guides for Transportation and Automation
New Innovations in Linear Guides for Transportation and Automation
 
Clean-in-place: how to ensure food safety while maintaining equipment effecti...
Clean-in-place: how to ensure food safety while maintaining equipment effecti...Clean-in-place: how to ensure food safety while maintaining equipment effecti...
Clean-in-place: how to ensure food safety while maintaining equipment effecti...
 
Advanced Motor Control Technologies – Part 2
Advanced Motor Control Technologies – Part 2Advanced Motor Control Technologies – Part 2
Advanced Motor Control Technologies – Part 2
 
Advanced Motor Control Technologies – Part 1
Advanced Motor Control Technologies – Part 1Advanced Motor Control Technologies – Part 1
Advanced Motor Control Technologies – Part 1
 
Understanding Hydraulic Pump Designs
Understanding Hydraulic Pump DesignsUnderstanding Hydraulic Pump Designs
Understanding Hydraulic Pump Designs
 
Prototype Smarter – transitioning to production faster and more effectively
 Prototype Smarter – transitioning to production faster and more effectively Prototype Smarter – transitioning to production faster and more effectively
Prototype Smarter – transitioning to production faster and more effectively
 
How to Build Rotary Indexing Tables for Specific Applications
How to Build Rotary Indexing Tables for Specific ApplicationsHow to Build Rotary Indexing Tables for Specific Applications
How to Build Rotary Indexing Tables for Specific Applications
 
We Got a Warning Letter – Now What? How to Keep Calm in a Compliance Storm
We Got a Warning Letter – Now What? How to Keep Calm in a Compliance StormWe Got a Warning Letter – Now What? How to Keep Calm in a Compliance Storm
We Got a Warning Letter – Now What? How to Keep Calm in a Compliance Storm
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

OpenCL & the Future of Desktop High Performance Computing in CAD

  • 1. OpenCL™ & the Future of Desktop High Performance Computing in CAD
  • 2. Before We Start This webinar will be available afterwards at designworldonline.com & email Q&A at the end of the presentation Hashtag for this webinar: #DWwebinar
  • 4. OpenCL™ & the Future of Desktop High Performance Computing in CAD Allen Bourgoyne, Director ISV Alliance Team AMD Professional Graphics
  • 5. Agenda Introduction Processors everywhere History of GPU Computing What is OpenCL™ How is OpenCL™ changing CAD? • Conclusion • • • •
  • 7. Who am I? • Allen Bourgoyne o Director, ISV Alliances AMD Professional Graphics
  • 8. What is OpenCL™? • Open Compute Language, OpenCL™, is the first open, royalty free standard for cross platform programming for personal computers, servers, workstations, hand-held devices, supporting a variety of CPUs, GPUs, and DSPs.
  • 10. Modern Computers Have Lots of Processors • Central Processing Unit (CPU) • Graphics Processing Unit (GPU) • Others o o o o Network Controllers Device controllers (disks, DVD-ROMs, etc) Smart Batteries Most of these are not generally available for application software use
  • 11. What Processors Can I Use? • CPU: traditionally runs operating system, user programs, system functions o General purpose design: run lots of things o Some parallel processing capability • CPUs have multiple processing cores (2, 4, 8, up to 12) • Can use multiple CPUs to increase parallel processing capability o Processing power & memory generally available to user programs • Low-level compute functionality generally available to programs • Programs can directly access memory, operating system can provide for “virtual memory”
  • 12. What Processors Can I Use? • GPU: traditionally runs graphics programs o Highly focused design: Run graphics programs o Highly parallel processing designs • Modern GPUs can have over 1000 processing units! o Low-level compute functionality not generally available to programs (until very recently) o Processing power & memory generally available to graphics programs • Physical memory only, no virtual memory available
  • 13. What Processors Can I Use? • Others: o Not generally available for application software o Can be used (not always for good!) • Recent hacks have used “smart” battery controllers to ruin batteries (over charge, not charge) and install malware5 o Historically, if there is a processor in the system that has an interface that can be exploited, it will be eventually • Focus today: CPUs & GPUs
  • 14. What is HPC? • High Performance Computing Historically refers to computing that involves extremely large amounts of computer processing Examples: Simulating nuclear explosions Global weather Seismic data processing (looking for Oil & Gas) Breaking codes/ciphers Computing Pi to ridiculous numbers of decimal points!!
  • 15. HPC Has Been Around for a Long Time • Original mainframe computers designed to solve complex math problems • CAD: crash simulation, structural analysis, etc • Historically done on compute servers o o o Lots of CPUs with lots of cores Jobs submitted in batches Long turn around times, some times takes days or weeks! • Desktops/laptops getting more powerful o HPC workloads showing up here!
  • 16. Brief History of GPU Computing 1970 1980 1990 Pixel-Plane 5 (1992) Ikonas (1978) SGI GL (1984) Pixel Machine (1989) OpenGL (1992) 2000 2010+ ATI CTM (2006) Nvidia CUDA (2007) PixelFlow SIMD gfx cracks UNIX password encryption(1999) OpenCL (2009)
  • 17. Using the GPU for Computing • Using GPUs for computing has been around for a long time! o As soon as they started showing up in computers, people started trying to use them to help speed up compute tasks • Why? o GPUs have some unique design characteristics that enable them to perform certain mathematical functions extremely fast
  • 18. Computer Graphics 101 • How to draw a triangle on your computer screen: Y X A(x,y,z) Z B(x,y,z) C(x,y,z)
  • 19. Computer Graphics 101 – Math to Draw that Triangle! • Project 3D points onto 2D display: o • For point (Ax, Ay, Az), projected point (Px, Py) Draw lines, fill triangle: Determine slope for each line: Slope = (Bx – Ax) / (By – Ay) Any coordinate on line: Ax Px Py = Sx 0 0 0 0 Sz Ay + Cx Cz Cx = Ax + slope * (Cy – Ay) A(x,y,z) Az Do this for vectors AB and AC, we will have the points to create lines to fill the triangle B(x,y,z) C(x,y,z)
  • 20. GPU Processing Power • As you can see, it takes a bit of math processing to draw that triangle • Problem: Stuff we want to draw has lots of triangles! o Interactive rates are 30 frames per second (fps) • Example: 1 million triangle model @ 30 fps requires drawing 30 million triangles per second! o And that’s a small model! • Solution: GPUs have to be able to process lots of triangles!
  • 21. GPU Processing Power • Modern GPUs can process hundreds of millions of triangles per second o That’s a lot of vector math: DOT products, matrix multiplies, etc. • High degree of parallel processing enables GPUs to handle this workload o Modern GPUs do thousands of operations in parallel in order to meet the demands that graphics applications place on the hardware
  • 22. GPU Processing Power • So what does this mean? o GPUs have a lot of processing power! • CPU vs GPU computing power: • CPU: ~ 200 GFLOPS2 • GPU: > 3 TFLOPS1
  • 23. So Why Should I Care if My GPU is used for Compute? • Answer: Money & Performance! • Not quite that simple, let’s take a look at how our computer generally operates…
  • 25. Compute Usage • In most cases, the CPU and GPU aren’t that busy when the other guy is working: o GPU mostly idle while loading files, writing to disk, etc. o CPU can be less busy when waiting for the GPU to complete graphics tasks • These ebbs & flows of workloads create idle cycles, but also the opportunity to move compute tasks to the available resource o Try to make use of the idle time!
  • 26. Compute Power • Remember the CPU vs GPU performance comparison? ALU ALU ALU CPU ALU CACHE MEMORY GPU MEMORY
  • 27. How do I get my $$$s Worth? • Software developers are working on tapping into those unused compute cycles and untapped compute power of the GPU o End user software demands ever increasing: • Modern automotive models can contain up to 50,000 parts with 10 to 20 GB of data. The number of triangles can reach 40,000,000 polygons/model6 o OpenCL™ is a tool that will enable software developers to tap into the full power available on the computer!
  • 29. OpenCL™ • Industry standard programming language for parallel computing • Specification by Khronos • Software using OpenCL runs on many enabled devices o Runs on CPUs, GPUs, ARM processors, Windows, Linux, Apple OS, Android Os’s o Supported by major hardware & software vendors including AMD, Intel, Nvidia, Apple, ARM
  • 30. Who is Khronos? • Open consortium creating standards o The Khronos Group is a not for profit industry consortium creating open standards for the authoring and acceleration of parallel computing, graphics and dynamic media on a wide variety of platforms and devices o Commitment to royalty free standards o Founded almost 10 years ago, over 100 members, any company welcome to join o Standards include OpenGL®, OpenCL™, WebGL, WebVG™, OpenWF™
  • 32. Developers Want Open Standards! • June 2011 developer survey shows adoption of OpenCL3
  • 33. OpenCL™ & CAD • OpenCL™ is a powerful tool designed to unleash the power of processors in a platform independent way • Software developers are taking advantage of OpenCL™ to provide significant increases in both computation and graphics compute performance
  • 34. OpenCL™ Based Solutions • Engineering analysis o Very high compute requirements, GPUs can help offload some of the compute workload o Solutions shipping today from Dassault Systemes, OpenCASCADE
  • 35. Performance Gains with OpenCL™ % Speed-up Abaqus/Standard 6.11 Over 200% Speed-up with OpenCL™ VS. CPU only4 % speed-up with GPU & OpenCL™ 230 228 226 224 222 220 S4B Benchmark customer Data #1 Job Name Operations per Iteration Solver Speed Up Overall Speedup using CPU plus GPU & OpenCL s4B Benchmark dataset 10.3 TFLOPS 2.4X 2.3X Customer Data #1 5.75 TFLOPS 2.4X 2.2X
  • 36. OpenCL™ & Design • OpenCL™ will impact the design phase as well o Ability to accelerate high-quality, photo-realistic rendering in real time • Interact with realistic models in realistic environments in real time! o Provide physically accurate rendering: lights, reflections, etc. are rendered physically where they will show up on the actual product
  • 37. OpenCL™ & Design Chaos Group V-Ray render engine with GPU acceleration provides interactive rendering Image courtesy of Chaos Group OPTIS Theiea simulate reality for design review pipelines Image courtesy of OPTIS
  • 38. OpenCL ™ & CAD • Just scratching the surface o OpenCL only available for less than 2 years • Already impacting analysis & design software • Migration from other software verticals o Digital Content Creation (DCC) • Realistic cloth simulations, physics, particle simulation, AI already supported
  • 39. What’s Next? • Any computationally intensive task is a good candidate: o CFD, FEA, particle simulation, etc. • Most major ISVs already working with OpenCL™ o Many more software titles will implement OpenCL in 2012
  • 41. References 1. 5. http://www.amd.com/us/products/desktop/graphics/amd-radeon-hd-6000/hd-6990/Pages/amd-radeon-hd-6990overview.aspx#3 http://www.maxxpi.net/pages/result-browser/top10---flops.php Market data provided by Evans Data Corporation | June 2011 Testing conducted on a Dell T7400 w/ Intel Xeon E5405 CPU, 64GB RAM, Red Hat® OS v5.5, ATI FirePro™ V9800, AMD Catalyst Pro 10.12, Dassault Systemes SIMULIA ® Abaqus/Standard 6.11 http://www.v3.co.uk/v3-uk/news/2099616/black-hat-charlie-miller-explains-apple-battery-hack 6. http://cadspeed.wordpress.com/2011/05/18/opencl-will-rock-the-cad-world-part-1-why-you-want-it/ 2. 3. 4.
  • 42. Disclaimer The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  • 43. Questions? Design World Joe Gorse Email: jhgorse@wtwhmedia.com Phone: 440.234.4531 ext. 111 Twitter: @DesignWorld_EE AMD Allen Bourgoyne Email: Allen.Bourgoyne@amd.com Phone: 512.602.4738
  • 44. Thank You  This webinar will be available at designworldonline.com & email  Tweet with hashtag #DWwebinar  Connect with  Twitter: @DesignWorld  Facebook.com/engineeringexchange  LinkedIn: Design World Group  YouTube.com/designworldvideo  Discuss this on EngineeringExchange.com