Форум программистов, компьютерный форум, киберфорум
OpenMP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
1

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

11.06.2013, 11:38. Показов 3464. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача проста - есть готовые вектора, с которыми надо проводить операции. Размер их очень большой, поэтому задумался о многопоточности.
Так вот, ребят, а как выбрать для себя сколько потоков мне назначить? Какая здесь вообще идея, определяющая их оптимальное количество? (образ-ие не по этой спец-ти, поэтому может какую "мат. часть" почитать?)
C++
1
omp_set_num_threads(number);
или может нужно использовать динамическое изменение
C++
1
omp_set_dynamic(number);
Или если кто в курсе, может в другие библиотеки надо лезть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2013, 11:38
Ответы с готовыми решениями:

OpenMP. Время выполнения программы увеличивается с количеством потоков
Задача: найти сумму максимальных элементов строк матрицы. Я составил код программы и распараллелил...

OpenMP. Время выполнения программы больше чем без OpenMP
Сегодня первый раз сел за OpenMP. Читаю на сайте майкрософта как работает этот API. Так вот там...

OpenMP, создание потоков
В инете нашел много примеров по распараллеливание циклов, но никак не могу понять, как просто...

Создание потоков в openmp
Доброго времени суток. Мне удалось распараллелить цикл for, но внутри данного цикла, помимо...

5
36 / 38 / 7
Регистрация: 01.06.2011
Сообщений: 237
11.06.2013, 11:54 2
еще можно посмотреть в сторону векторных инструкций процессора и поиграть с автовекторизацией
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
11.06.2013, 12:08  [ТС] 3
Хорошо в сторону векторных инструкций процессора и автовекторизации обязательно посмотрим.
Ну а если планируется использовать приложение на любых компьютерах и соответственно процессорах, тогда как?
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
11.06.2013, 13:22 4
Оставьте право решать это openMP. Вообще мое мнение не больше чем 2 * количество ядер.
0
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
11.06.2013, 13:34  [ТС] 5
хорошо..а есть информация что определяет omp_set_dynamic(number)?
ведь если я пишу для своего процессора я могу впринципе не мытьем так катаньем определить оптимальное кол-во потоков, но если пишется для любого процессора, то тогда может ли мне помочь вот эта omp_set_dynamic(number)?
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
11.06.2013, 13:44 6
http://edu.chpc.ru/parallel/mainse6.html
1
11.06.2013, 13:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2013, 13:44
Помогаю со студенческими работами здесь

Как контролировать число создаваемых потоков? OpenMP
Здравствуйте. Начал изучать OpenMP. Имеется вопрос - когда мы делаем #pragma omp parallel for ...

При изменении числа потоков время выполнения не изменяется
Произвожу арифметические расчеты, однотипные в множестве потоков. N расчетов всегои К потоков. Если...

Остановка всех потоков OpenMP
Всем привет, уважаемые форумчане! Хочу у вас спросить о такой проблеме: "Как остановить выполнение...

Как задать программе время исполнения и время закрытия?
Подскажите пожалуйста как можно задать время исполнения и время закрытия программы допустим нужно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru