Programs for Programmers

Unique to Polyhedron - Training videos

Using OpenMP & Intel VTuneUsing OpenMP & Intel® VTune for Faster Code and Improved ROI

This training video shows the performance effect adding a single OpenMP statement to some Fortran code which is then compiled with Intel® Fortran.

Since the example being used contains a load balance problem, Intel® VTune is used to analyse the performance of this demonstration program.

VTune pin-points the hot-spot that causes the imbalance.

Then, after explaining the imbalance situation, it is shown how to change the OpenMP statement, so that the run-time performance of the example program is further increased.

Steps taken to improve run-time performance

Adding an OpenMP Statement
Adding an OpenMP statement to the Fortran code

Performance Analysis with VTune
Setting up the performance analysis in VTune

Explaining Load Imbalance
Explaining the load imbalance and
how to change the OpenMP code

Performance Comparisions
The results: serial / with OpenMP /
with OpenMP load-balanced /
with OpenMP load-balanced and optimised binary code

Finally it is shown that the performance could be maximised by using the optimization possibilities of Intel Fortran.

The maximum speed-up on an Intel Core i7 (4 cores): 3.6 faster than the regular serialised running code.


Creating Dynamic-Link Libraries (DLLs) using Intel Visual Fortran

Materials of Training Video

The training materials contain three videos and a fully programmed example. They are provided in a .zip file (60 MB).

  • The first video (IVFDLL-part_1.mp4, 18.6 MB, duration 7:15) provides general information about dynamic-link libraries (DLLs) and explains in "Powerpoint" manner how to create them.
    Click here to download the "teaser" IVFDLL-part_1_teaser.mp4 (16803160 Bytes, 16 MB, duration 5:39).
    If the video isn't shown in your browser, you can run it in Windows Media Player, for example.
    Part 1 of training video
  • The second video (IVFDLL-part_2.mp4, 45.1 MB, duration 18:51) demonstrates by means of a practical example how a DLL is created, and also shows its use in a console application which calls functions contained in that DLL.
    Click here to download the "teaser" IVFDLL-part_2_teaser.mp4 (15400681 Bytes, 14.6 MB, duration 7:50).
    If the video isn't shown in your browser, you can run it in Windows Media Player, for example.
    Part 2 of training video and Intel Fortran / Visual Studio Project

The example is set up as a Microsoft Visual Studio Solution (.sln) which consists of three Intel Visual Fortran projects (.vfproj):

  • a dynamic-link library project (generating a .dll)
  • a static library project (generating a .lib)
  • a console application project (generating a .exe)

If you own Intel® Parallel Studio XE for Fortran, Windows, then this video will enable you to create DLLs and to use them in your Intel Visual Fortran applications.


Using the Intel® Math Kernel Library

Using the Intel Math Kernel Library

The training materials provide a video (duration: 33mins 51secs) and a Microsoft Visual Studio solution which show how to call an Intel Math Kernel Library routine to solve a system of linear equations.

Matrix A times vector x gives vector b

It is demonstrated

  • how to get started with the MKL,
  • how to set up an Intel Visual Fortran project so that the MKL modules are found by the compiler and the proper MKL libraries are linked.
  • It explains which MKL variants exist and shows the performance gain by simply using a threaded MKL library set.

Performance gain using the OpenMP variant of the MKL

The training materials are provided in a .zip file (86823640 Bytes, 82.8 MB).

At present we provide the complete video and training file sets for free to customers who purchase Intel software & tools from us. Contact us if this is true for you and we send you the link to download the file set (.zip) and the password for unpacking.