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

Date: 2019-04-04 05:11 (UTC)
mopexod: (Default)
From: [personal profile] mopexod
Вроде, это случилось уже больше десяти лет назад...

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

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

Date: 2019-04-05 06:26 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Дык это. OpenMP лет 15 как вполне доступен. Вот сорокаядерный комп, за которым просто сидит и работает человек — это до сих пор интересно.

Впрочем тоже не от хорошей жизни. Закон Мура законом Мура, а скорость света и размер атома не перепрыгнешь, они эти 10–15 лет уже вовсю нас душат...