-   Forums
     -   Articles and Whitepapers
     -   Downloads
     -   Courses and Events
     -   Course Registration
     -   Distance learning
     -   Courses for Universities
     -   Books
     -   Audios and Demos
     -   Testimonials

Share this page:  Tweet


Master Class - C++ Parallel Programming and OpenMP - (code MCF-OMP)

The goal of this special one-day master class is to introduce the C++ OpenMP library.We discuss the most important and critical techniques that we apply to a number of applications such as the Monte Carlo method and PDE/Finite Difference Methods for option pricing and interest-date modelling, for example.


Master Class Structure

This master class augments the "boost library" master class. These two master classes are independent of each other and can be taken separately. The ideal trajectory is to attend both master classes because then you can see how to design, implement and optimize applications in computational finance. We structure these master classes in such a way that you get maximum benefit from them during the allotted time. In the morning sessions we shall introduce the essentials of the master class and its applications. After the lunch break attendees can experiment with software that is provided in the master class and we discuss more examples and applications from computational finance. There is ample opportunity for questions and an interactive session is stimulated.


What do you learn?

Using the most appropriate software techniques for computational finance. Modern and proven design patterns and software libraries. Developing Monte Carlo and PDE/FDM applications. Bringing C++ to the next level.


The Examples and Test Cases in this Master Class

We take a number of specially chosen examples and applications at different levels of complexity and applicability in order to ensure that the attendees understand the topics as soon as possible:
  • '101' examples to show the essential syntax
  • Small building block-type examples that use combined syntax
  • Mini-applications for computational finance
After lunch, the students have the opportunity to experiment with the code so that they can consolidate the morning session's theory and before we continue with advanced topics and applications.


What do you receive?

Slides, sheets and C++ source code for all examples and test cases. The master class also includes tea, coffee, lunch and refreshments.

Course Contents

Most C++ applications are written for single-core processors but with the emergence of affordable and powerful multi-core processors we can create applications that use the full power of these processors using parallel programming techniques. Present-day commodity computers already contain dual-core and quad-core processors and this opens up new possibilities to create even faster applications that would have been unthinkable even a few years ago.

This master class is an essential introduction to the design and implementation of multi-threaded C++ applications using the OpenMP library. OpenMP is a collection of compiler directives, library routines and environment variables that developers use to specify shared-memory parallelism in C and C++. It is a de-facto industry standard and it has been accepted by several major software and hardware vendors.


Memory Systems
  • Shared memory parallel computers (SMPs)
  • Shared and cache memory
Threads
  • What is a thread?
  • Data Access in Threads
  • Fork-join (master/slave) model
  • Shared and private data
  • Thread synchronization
Synchronisation in Detail
  • Mutual exclusion (mutex) and condition variables
  • Critical sections
  • Memory synchronization and fences
  • Barriers
  • Overview
Compiler directives
  • Library routines
  • Environment variables
  • My First OpenMP Program
Writing the serial program
  • Determining parallel code
  • Adding OpenMP directives
  • Debugging and performance measurement
  • Data Clauses in OpenMP
Shared and private Data
  • Lastprivate, firstprivate
  • Default and nowait clause
  • OpenMP Synchronisation Constructs
Barrier
  • Ordered
  • Critical and Atomic
  • Locks, Master construct
Troubleshooting in OpenMP
  • Common problems
  • Race, shared and private variables
  • Work scheduling assumptions
  • Side-effects; the need for thread safety
Applications, Demos and Discussion
  • Monte Carlo simulation
  • Matrix algebra and solving linear systems
  • Sorting
  • Finite Difference method

Who should attend?

Quantitative developers, analysts and middle office validators. This course could also be useful for IT personnel who work in financial institutions.

Duration, price, date, locations and registration

Course duration: 1 day.
Course price: € 745.-- ex. VAT.
€ 901.45 inc. 21% VAT.
Dates and location: (click on dates to print registration form)


Date(s) Location Price Language
No dates yet.

This course can be organised on-demand. Call Datasim (+31-72-2204802) or for more information about the possibilities.


Attention

We offer a special rate for this master class of 400 Euro, excluding 19% VAT.


Share this page:  Tweet