Change Currency
  • Set currency to GBP
  • Set currency to USD
  • Set currency to Euros
Translation
English French

Porting Code Methodology

Languages: English  |  Available as: Classroom
Course Length: 2.0 Days

Heterogeneous architectures are providing tremendous opportunities to many application fields. Migrating legacy software to accelerator-based architectures (e.g. GPU) is a complex process that requires mastering the technological risks (loss of code portability, extensive code restructuration, debugging complexity, etc.) as well as costs.

1. Choose a Region

More Information

In this course, you analyze, set up, profile and develop a porting project to GPUs that meet user requirements through case studies. You gain hands-on experience performing each stage of the development using all the core concepts and tools necessary to engineer a successful porting.

This course will first make you able to detect and qualify parallelism in applications. Then it will expose you to the migration process to port the application to GPUs. Finally, it will make you able to analyze your application performances to improve data movement between CPU and GPU and efficiently write your own hybrid applications.

 

Day 1

 

Morning – Project bootstrap
• Hardware/software goals
• Case study: Cost effectiveness of GPUs
• Parallel and GPU computing background
• Lab session: Parallelism in legacy applications
• Migration process overview

Afternoon – Profiling
• Introduction to profilers
• Determining speedup and objectives
• Parellelism discovery
• Go/No Go analysis
• Case study 1
• Case study 2

 

Day 2

 

Morning – GPU Computing
• Writing GPGPU code
• Technologies, APIs, directive-based approaches
• Case study: programming data transfers
• Analyzing GPGPU performances
• Lab session: profiling GPGPU codes

Afternoon – Optimizing GPGPU codes
• Advanced GPU performance
• Code transformations for GPUs
• Automatic loop transformations and directive-based approaches
• Lab session: optimizing kernel code generation

 

Target Audience


This course is intended for software professionals and students who are responsible for or interested in developing high performance Hybrid computing applications.

 

Additional Information:


Students will receive a 'mini-PC' which will be pre-loaded with HW and SW suitable for this training course and will be entitled to take this unit with them after the training course is completed.