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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
#1

VS 12 ограничение на создание потоков - C++

05.03.2014, 19:59. Просмотров 1288. Ответов 26
Метки нет (Все метки)

Использую реализацию OpenMP для распараллеливания вычислений. Почему то больше 64 потоков не создает. 2х ядерный процессор, 3гб оперативки, но ни в какую не хочет создавать 100,200,300 потоков? подскажите, может в настройках что поменять надо или какие библиотеку подключить? просто это точно дело не в OpenMP так как видел примеры реализации с большим кол-вом потоков. Что это может быть за ограничение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 19:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос VS 12 ограничение на создание потоков (C++):

Создание и завершение процессов и потоков. Приоритеты выполнения потоков - C++
Здравствуйте. Буду очень раз если поможете понять,что конкретно нужно сделать в вот этом задании,пока особого представления о...

Создание потоков - C++
Всем доброго времени суток. Как всегда, последняя надежда на этот сайт. Сразу к делу: Написать программу, которая принимает в качестве...

Создание потоков - C++
Здравствуйте, я создал два потока, но не знаю, как можно проверить, точно ли я их создал и точно ли всё выполняется в отдельном потоке, а...

Создание потоков в openmp - C++
Доброго времени суток. Мне удалось распараллелить цикл for, но внутри данного цикла, помимо прочего, содержится ещё один цикл for,...

Создание потоков в Borland c - C++
Есть ли возможность создание как минимум двух потоков процессора в borland c в консольке?

OpenMP, создание потоков - C++
В инете нашел много примеров по распараллеливание циклов, но никак не могу понять, как просто написать чтобы конкретная функция выполнялась...

26
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
06.03.2014, 00:07  [ТС] #16
castaway, т.е. мне мои циклы в 100 потоков никак не посчитать?
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
06.03.2014, 00:24 #17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <omp.h>
 
int main()
{
    omp_set_num_threads( 100 );
 
    #pragma omp parallel for
    for ( int i = 0; i < 100; i++ ) {
        if ( i == 99 )
            std::cout << omp_get_num_threads() << std::endl;
    }
    return 0;
}
Что выдаёт этот код?
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
06.03.2014, 00:27  [ТС] #18
castaway, 64
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
06.03.2014, 00:31 #19
еще можно разрулить переменными окружения:
http://software.intel.com/en-us/node/459658
на винде больше 64 не ставится. может больше на каких-нибудь никсах можно будет выставить,
но и там наверняка есть предел.

если очень очень нужно 100 потоков, то - самодельное решение какое-нибудь. без OpenMP
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
06.03.2014, 00:37 #20
Цитата Сообщение от RayPas Посмотреть сообщение
castaway, 64
Цитата Сообщение от DU Посмотреть сообщение
на винде больше 64 не ставится.
У меня MinGW 4.8.2, выдаёт 100..
RayPas, увы, в Visual C++ не работаю, посоветовать пока ничего не могу. Видимо.., там свои ограничения..
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
06.03.2014, 00:38  [ТС] #21
DU, со всем бы смирился, если б не такой ответ
0
Миниатюры
VS 12 ограничение на создание потоков  
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
06.03.2014, 00:39  [ТС] #22
castaway, а на rad studio может пойти? или какой компилятор тогда использовать?
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
06.03.2014, 00:43 #23
да. тогда поправка. не на винде, а в студийной реализации.
я честно говоря хз как там это делается. либо в системе какие-то дллки
проставляются и все остальные их юзают, либо каждый компилер с собой
тащит какую-то реализацию и ее использует. похоже что второе.
1
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
06.03.2014, 00:48 #24
Цитата Сообщение от RayPas Посмотреть сообщение
или какой компилятор тогда использовать?
Можешь попробовать любой другой. MinGW, например.
1
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
06.03.2014, 00:49  [ТС] #25
castaway, да вот уже скачиваю. там как, сильно отличается от VS? только к ней привык...
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
06.03.2014, 00:59 #26
MinGW - это компилятор, не IDE как VS. В качестве IDE можешь попробовать QT Creator, Code::Blocks и еще какие-нибудь (я в них не разбираюсь).

P.S.: отличается сильно (говорю с расчетом на твои способности обучаться новому..).
0
RayPas
2 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 370
06.03.2014, 01:01  [ТС] #27
и open mp ты как то дополнительно подключаешь или сразу срабатывает только директиву <omp.h> добавить

Добавлено через 1 минуту
castaway, ну эт плохо...что тут скажешь, дедлайн уже на носу
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2014, 01:01
Привет! Вот еще темы с ответами:

Создание потоков по нажатию кнопок - C++
Написал программу, которая создает потоки (круг1/2) которые движутся по экрану. Как сделать так, чтобы шары появлялись по нажатию какой...

Создание потоков в рекурсивной функции - C++
Почему при создании потоков в рекурсивных функциях скорость падает ? Добавлено через 1 минуту простейший пример: //...

Создание бинарного дерева и ограничение на количество узлов в ней - C++
В задании по созданию бинарного дерева есть условие на то, что узлов в дереве должно быть не больше 10. Пробую поставить такое ограничение...

Ограничение в N потоков - Java SE
Доброго времени и суток! Возник вопрос теоретический, как ограничить доступ к методу в N потоков? Чтобы в него не могло войти более N...


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

Или воспользуйтесь поиском по форуму:
27
Yandex
Объявления
06.03.2014, 01:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru