High-Performance Computing(HPC)/GPU Computing using OpenCL
Why OpenCL ?
OpenCL, short for Open Computing Language, is the first open, royalty-free standard for cross-platform, parallel programming on modern processors found in personal computers, servers and hand-held/embedded devices. Applications ranging from gaming to scientific and medical imaging can greatly benefit from OpenCL by improving speed and responsiveness. The standard is managed by the non-profit technology consortium Khronos Group.
OpenCL allows you to use the power of Multicore and Many core processors to speed up your applications. Imagine you have a Mini Hard Disk with a capacity of 1 TB. Now since the disk has very critical data, you want to make sure that the data is not corrupted by Viruses. So you start scanning it on your PC using a traditional Antivirus that has been programmed to execute sequentially on the processor. Such an Antivirus will take many hours to scan the disk , which is obviously not desirable. An option will be to do parallel programming on multiple processing cores of modern GPUs and CPUs, running the scanning algorithm simultaneously on all the available cores. But this requires lots of effort , expertise and knowledge of low level details of the GPU OpenCL on the other hand is based on C programming language, which is familiar to most of the developers/engineers, and provides necessary abstractions so as to make life of programmers easier. OpenCL can help you utilize the power of 100s of processing cores of a GPU and accelerate the pattern matching algorithm for virus detection by many folds.
Apart from consumer applications hundreds of scientific problems are being solved using GPUs. Click here to have a glimpse of some of the latest applications getting performance boost from OpenCL. In short GPU Computing is going to rule the industry from Biotechnology and Biochemistry to Fluid Dynamics and Internet Security Auditing.
Our Training Style
We follow a unique training system where we aim to explain each and every concept in a very innovative and adventures way. We want that our trainees enjoy the sessions and at the same time grasp the concepts quickly. The major part of the training is spent in programming in the presence of our experts. Case studies, live examples and sample codes are frequently used to explain the depth and breadth of the concept. Special attention is always given to the optimization part and hardware details.
The training is offered Online as well as Offline/Class room-instructor lead and is customized based on your requirement and area of interest.
Send us queries for demo/training at firstname.lastname@example.org.
Broadly we cover the following topics that also include syllabus as prescribed by AMD :
Review of few important C concepts
An introduction to Multi-core/ GPU Computing
- C Programming basics
- Building C Program on Linux, Linux basics, Compiling, Running a Program
- User Defined Data Type
- Dynamic Memory Allocation: malloc(),free()
Architecture of some recent CPUs and GPUs
- Why GPU/Parallel Computing?
- Basic differences between GPUs and CPUs
- The Accelerated Processing Unit (APU)?
- The processor of 2020
- Alternatives to Parallel Computing
Introduction to parallel programming
- Intel Dual Core Processors
- Nvidia Fermi
- AMD Fusion
- Cell Broadband Engine
- PCI-Express Vs PCI
- Task and data decomposition
- Parallel computing
- Software models
- Hardware architectures
- Parallel Programming Challanges
OpenCL Buffers with examples in Image processing
- Comparison with other programming models
- Platform Model
- Execution Model
- Memory Model
- Programming Model
Understanding GPU memories
- Bank Conflicts
- Memory Coalescing
- Threading and Scheduling
- Programming Multi Device
- Event Timing and Profiling
- Performance Optimization
Hands-on sessions will cover a no. of lab exercises covering above listed topics and demonstrations on the following :
A no. of project ideas will also be discussed at the end of the program.
- Demonstration of N-body Simulation
- Fast Matrix Multiplication
- Application in Artificial Neural Network
- Image/Video Processing
- Computational Finance
For any specific information or query contact us at email@example.com