vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2019-04-03 02:14 pm

OpenMP уже здесь

Технология 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 процессорных ядер.
pappadeux: (Default)

[personal profile] pappadeux 2019-04-04 06:25 pm (UTC)(link)
нашу аппликуху я пилю с openmp, а когда нужно посложноее - тогда threads

она года этак с 2011го