Форум программистов, компьютерный форум CyberForum.ru

OpenMP цикл for - C++

Восстановить пароль Регистрация
 
agent150
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 16
12.11.2015, 09:59     OpenMP цикл for #1
Здравствуйте. Хочу что бы каждый поток вывел по 2 случайных числа, используя цикл for. Вот программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;
#include <cmath>
#include <cstdlib>
#include <random>  
#include <ctime>
#include <fstream>
#include "omp.h"
 
int main()
{
    default_random_engine generator;
    normal_distribution<double> distribution(0., 1.);
#pragma omp parallel num_threads(10)
    {
#pragma omp for schedul(static, 2)
    
        for (int j = 0; j < 20; j += 1)
        {
            cout<<omp_get_thread_num()<<"  " << distribution(generator) << '\n' << "  ";
        }
        
    
    }
    system("pause");
    return 0;
 
}
Вызываю функцию omp_get_thread_num(), что бы понять какой поток выдал ответ. В результате оказывается, что все 20 чисел генерирует нулевой поток. А остальные вообще ничего не выводят. В чем ошибка? Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2015, 09:59     OpenMP цикл for
Посмотрите здесь:

Как завершить цикл в OpenMP C++
C++ Цикл for и OpenMP
C++ OpenMP
OpenMP C++
Параллельность в openMP C++
C++ Магия OpenMP
C++ Программирование на OpenMP
Распараллелить цикл со сложной индексацией используя OpenMP C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16827 / 5248 / 321
Регистрация: 30.03.2009
Сообщений: 14,132
Записей в блоге: 26
12.11.2015, 10:48     OpenMP цикл for #2
Если поправить опечатку "schedul" на "schedule", то всё работает нормально
У тебя точно включен режим поддержки OpenMP? Какой компилятор?
agent150
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 16
12.11.2015, 13:03  [ТС]     OpenMP цикл for #3
Evg, Спасибо за ответ. Это просто описка была. Режим поддержки OpenMP включен. До сегодняшнего дня все нормально было. А сейчас такое ощущение, как будто и правда не включаю поддержку OpenMP. При чем если я этот текст копирую в ту программу, которую создавал до сегодняшнего дня, то все тоже работает. Такое ощущение, что просто перестала включаться поддержка OpenMP.
Yandex
Объявления
12.11.2015, 13:03     OpenMP цикл for
Ответ Создать тему
Опции темы

Текущее время: 07:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru