Форум программистов, компьютерный форум, киберфорум
Наши страницы

Помогите распараллелить цикл!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Cannot convert 'wchar_t &' to 'const char *' http://www.cyberforum.ru/cpp-beginners/thread378334.html
Вообщем есть вот такой кусок кода: while(ListBox1->Items->Strings!=" ") { i++; } При компиляции выдает во такую ошибку Cannot convert 'wchar_t &' to 'const char *'. Подскажите как решить...
C++ строки Добрый день! Задача: Показать на экран с m по n символов строки, введенной пользователем и записать данный отрезок в другой массив. (m и n также вводятся пользователем) Правильна ли такая... http://www.cyberforum.ru/cpp-beginners/thread378322.html
Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора C++
вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с точностью\varepsilon. Таблицу снабдить заголовком и шапкой. Каждая строка...
C++ Метод Гаусса
В школе задали написать программу , которая решает систему уравнений методом Гаусса. Матрица квадратная (колличество строк = колличеству коэффициентов). Я вроде нашёл на форуме программу но не...
C++ Алгоритм звезды http://www.cyberforum.ru/cpp-beginners/thread378299.html
Где-то видел в книге но не могу найти этот алгоритм выводу и форматирование звезд ... Подскажите если кто-то помнит ... там идет 6 звезд, новый ряд это типа if ( i % 6 == 0 ) cout << endl;...
C++ Наследование. Продукты и корзина Дано условие: создать класс товар, содержащий какие-то общие сведения о товарах, от него производный уже какой-то определенный товар (например: печенье, молоко, хлеб). В нем тоже какие-то данные о... подробнее

Показать сообщение отдельно
Евгений М.
1047 / 986 / 58
Регистрация: 28.02.2010
Сообщений: 2,858
Завершенные тесты: 2
06.11.2011, 09:15
Это ставьте где-нибудь в начале программы:
C
1
2
3
4
5
6
7
8
#ifdef _OPENMP
    puts("OpenMP is supported!");
    //omp_set_dynamic(0);      // запретить библиотеке openmp менять число потоков во время исполнения
    //omp_set_num_threads(10); // установить число потоков в 10
#else
    puts("OpenMP is NOT supported!");
    return 0;
#endif
Цикл выглядит примерно так:
В private указываете переменные чьи "экземпляры" должны быть на отдельных потоках.
В shared указываете общие переменные.
Я сам не все указал.
C
1
2
3
4
5
6
7
8
#pragma omp parallel shared(A,B) private(i, j, k)
{
#pragma omp for
    for (i = 0; i < 10; i++)
    {
        ...
    }
}
Кстати, я сомневаюсь что в Вашем фрагменте применять параллельные можно. Может случится, что в каком-то потоке какой-то элемент массива C не определен и производится попытка получить значение.

Компилируйте с поддержкой OpenMP. Для gcc указываете -fopenmp в качестве параметра. Если у Вас не gcc - используйте поиск.
OpenMP только недавно начал изучать. Поэтому не рассчитывайте что отвечу на Ваши вопросы.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru