Программа курса
Title: Performance optimization thru Intel Compilers
N | Topic | Duration | Comments |
1 | Intel® processor microarchitectures | 1 lecture + 1 practical work | Objectives: After completion of this module you will be able to describe ∙ Components of an IA processor and main factors which affect processor performance . Instruction level parallelism . Vectorization and parallelization ∙ Notable features . Branch prediction . Vectorization . Parallelization Introduction of Intel Optimizing Compiler Practical work: Launch Intel® Compiler from command line Short description of main language constructs and tools which will be used for experiments during this course. |
2 | Tools Foundation I: Using the VTune™ Performance Analyzer | 1 lectures +1 practical work | At the completion of this module, you will be able to: - Using the sampling collector Practical work ∙ Several tests with hotspots of different nature (bad cash utility, unpredicted branches, bad instruction parallelism) |
3 | Tools Foundation II: Using Intel® Compilers + VTune™ Performance Analyzer | 5 lectures + 4 practical works | At the successful completion of this module, you will be able to: ∙ Optimize software for the Architecture ∙ Enhance performance with vectorization, OPENMP, autoparallelization and other techniques Agenda: . Basic CFG optimizations . Loop optimization (distribution/fusion, unrolling, loop interchange) . Vectorization . OPENMP . Autoparallelization . Software prefetching Practical work . Several tests for making optimizations in source code . Make optimization and show with VTune numbers key factors of performance improvement |
3 | Tools Foundation III: Using Intel® Compilers Intel® processor microarchitectures | 4 lectures + 4 practical works | At the successful completion of this module, you will be able to: ∙ Optimize software for the Architecture Agenda: . Basic interprocedural optimization and their sense . Interprocedural optimizations (inlining, data flow analysis overview) . Some restructuring optimizations and their sense .Usage of dynamic profiler (profiler guide optimizations) ∙ Compiler Switches . Some consecutive algorithm of performance improvement with different compiler switches Practical work . Check that stronger optimization switches demonstrates positive effect |
3 | Course Summary | lecture + 2 practical works | At the successful completion of this module, you will be able to: Agenda: Practical work Analyze some benchmark and suggest source code optimizations which can improve application performance. |


