Skip to content
Phillip Allen Lane edited this page Nov 8, 2023 · 9 revisions

What is DotMP?

DotMP is a .NET library for efficient parallel programming. It is heavily inspired by OpenMP, so users familiar with both OpenMP and C# should find most of DotMP to be very familiar. However, there are some key differences which this Wiki aims to outline, as well as providing a tutorial for new users.

Structure of this Wiki

This wiki is separated into "chapters," with the idea that if you have a background in parallel programming and read the chapters in-order, you should be fluent in DotMP in no time. The chapters are organized as follows:

  1. Creating parallel regions and understanding the fork-join paradigm of DotMP
  2. Data parallelism with parallel for loops
  3. Other miscellaneous but useful constructs you can use within parallel regions
  4. Helper methods to let you interface with the DotMP runtime
  5. The locking API
  6. The atomics API
  7. The shared memory API
  8. The tasking subsystem and using task-based parallelism