2019-04-03

vak: (Default)
Технология OpenMP незаметно вошла в программистский быт. Надо будет освоить на досуге.

Простой пример кода на Си (взято из Фейсбука).
#include <stdio.h>

int main()
{
    volatile int ncores = 0;

    #pragma omp parallel
    {
        #pragma omp atomic
        ncores++;
    }
    printf("ncores = %d\n", ncores);
    return 0;
}
Компилируем под Убунту. Предварительно надо установить библиотеку OMP:
$ sudo apt install libomp-dev
$ clang -fopenmp main.c -o openmp
Запускаем:
$ ./openmp
ncores = 40
Действительно, на моём компьютере присутствует 40 процессорных ядер.