Skip to content

Latest commit

 

History

History
93 lines (52 loc) · 2.14 KB

done-todo.md

File metadata and controls

93 lines (52 loc) · 2.14 KB

Directive and Constructs

Supported By OpenMP

A set of Directives, Constructs and Runtime Library Routines for C/C++ supported by OpenMP can be found here.

Supported By hpxMP

The following pragmas and clauses are tested in hpxMP. Note: A more detailed and structured supported list is under written.

*#pragma omp atomic

*#pragma omp barrier

*#pragma omp critical

*#pragma omp for

*#pragma omp for firstprivate

*#pragma omp for nowait

*#pragma omp for private

*#pragma omp for reduction

*#pragma omp for schedule ordered

*#pragma omp for schedule(dynamic)

*#pragma omp for schedule(static)

*#pragma omp for shared

*#pragma omp master

*#pragma omp ordered

*#pragma omp parallel

*#pragma omp parallel firstprivate

*#pragma omp parallel num_threads

*#pragma omp parallel sections

*#pragma omp parallel shared

*#pragma omp section

*#pragma omp single

*#pragma omp single copyprivate

*#pragma omp single nowait

*#pragma omp task depend

*#pragma omp task firstprivate

*#pragma omp task shared

*#pragma omp task untied

*#pragma omp taskgroup task_reduction(+:sum)

*#pragma omp task in_reduction(+:sum)

*#pragma omp taskwait

Note: Directives not implemented in hpxMP: cancellation, threadprivate, copyprivate, and copyin

Compiler Support

hpxMP works wich clang/gcc, It means that your program should be compiled with clang/gcc.

src/intel_hpxMP.cpp maps all function calls generated by clang to hpxMP runtime. src/gcc_hpxMP.cpp maps all function calls generated by GCC to hpxMP runtime.

OMPT Implementation

OMPT is an application programming interface (API) for first-party performance tools. It is a first party performance analysis tool as it is integrated as part of the hpxMP runtime system. Making it possible to construct powerful and efficient performance tools that will support hpxMP implementation.

A list of callbacks to be supported can be found here.

Note: Currently Mandatory Events are under control, but they needs to be reviewed and improved. Currently, OMPT does not work with gcc. Other events are not implemented yet.