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

OpenMP. Назначение числа потоков во время исполнения - C++

Восстановить пароль Регистрация
 
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
11.06.2013, 11:38     OpenMP. Назначение числа потоков во время исполнения #1
Задача проста - есть готовые вектора, с которыми надо проводить операции. Размер их очень большой, поэтому задумался о многопоточности.
Так вот, ребят, а как выбрать для себя сколько потоков мне назначить? Какая здесь вообще идея, определяющая их оптимальное количество? (образ-ие не по этой спец-ти, поэтому может какую "мат. часть" почитать?)
C++
1
omp_set_num_threads(number);
или может нужно использовать динамическое изменение
C++
1
omp_set_dynamic(number);
Или если кто в курсе, может в другие библиотеки надо лезть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 11:38     OpenMP. Назначение числа потоков во время исполнения
Посмотрите здесь:

C++ OpenMP, создание потоков
C++ Изменение значения переменной во время исполнения
C++ Ошибка во время исполнения
Ошибка во время исполнения C++
OpenMP. Время выполнения программы увеличивается с количеством потоков C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
11.06.2013, 11:54     OpenMP. Назначение числа потоков во время исполнения #2
еще можно посмотреть в сторону векторных инструкций процессора и поиграть с автовекторизацией
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
11.06.2013, 12:08  [ТС]     OpenMP. Назначение числа потоков во время исполнения #3
Хорошо в сторону векторных инструкций процессора и автовекторизации обязательно посмотрим.
Ну а если планируется использовать приложение на любых компьютерах и соответственно процессорах, тогда как?
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 929
Завершенные тесты: 1
11.06.2013, 13:22     OpenMP. Назначение числа потоков во время исполнения #4
Оставьте право решать это openMP. Вообще мое мнение не больше чем 2 * количество ядер.
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
11.06.2013, 13:34  [ТС]     OpenMP. Назначение числа потоков во время исполнения #5
хорошо..а есть информация что определяет omp_set_dynamic(number)?
ведь если я пишу для своего процессора я могу впринципе не мытьем так катаньем определить оптимальное кол-во потоков, но если пишется для любого процессора, то тогда может ли мне помочь вот эта omp_set_dynamic(number)?
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 929
Завершенные тесты: 1
11.06.2013, 13:44     OpenMP. Назначение числа потоков во время исполнения #6
http://edu.chpc.ru/parallel/mainse6.html
Yandex
Объявления
11.06.2013, 13:44     OpenMP. Назначение числа потоков во время исполнения
Ответ Создать тему
Опции темы

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