0 / 0 / 0
Регистрация: 15.03.2019
Сообщений: 126
|
||||||
1 | ||||||
Мультипотоки генератор комбинаций23.02.2023, 16:15. Показов 447. Ответов 7
Метки нет (Все метки)
Здравствуйте, есть код, суть вопроса, как сделать что бы он в мультипотоках делал генерацию, затем ответ от генерации(каждого потока) направлял в специальную функцию, которая бы работала с каждым отдельно потоком.
(сохранять в вектор ответы не вариант гигов озу не хватит, поэтому буду обрабатывать инфу по факту поступления.)
0
|
23.02.2023, 16:15 | |
Ответы с готовыми решениями:
7
Генератор комбинаций с повторениями Генератор комбинаций генератор комбинаций Генератор ВСЕХ комбинаций Генератор уникальных комбинаций |
Вездепух
12792 / 6669 / 1795
Регистрация: 18.10.2014
Сообщений: 16,876
|
|
23.02.2023, 18:19 | 2 |
0
|
0 / 0 / 0
Регистрация: 15.03.2019
Сообщений: 126
|
|
23.02.2023, 23:32 [ТС] | 3 |
gen_and_out(50, std::vector<char>({ 'a', 'b', 'c' }));
сделать мультипоточным. Добавлено через 36 секунд т.е. у меня сейчас доходит до 18 длины и там усё... а так ядер много, нужно что бы все были задействованы в генерации
0
|
0 / 0 / 0
Регистрация: 15.03.2019
Сообщений: 126
|
|
24.02.2023, 11:17 [ТС] | 4 |
Если ещё проще говорить, мне нужен генератор всех возможных комбинаций на мультипотоках, что бы я мог указать данные с каких генерим 'a', 'b', 'c' , мог бы указать длину, а ответ от генерации(каждого потока) записывался(перезаписывался) в genthread[thread] = ответ;
0
|
0 / 0 / 0
Регистрация: 15.03.2019
Сообщений: 126
|
|
25.02.2023, 11:07 [ТС] | 5 |
HELP
0
|
фрилансер
5846 / 5377 / 1103
Регистрация: 11.10.2019
Сообщений: 14,374
|
|
25.02.2023, 11:13 | 6 |
Siserian, раскидай по потокам так: в одном потоке перебираются все комбинации, начинающиеся с одного и того же элемента. Таким образом можно удобно заюзать все ядра (например имеется 4 ядра, 4 потока полностью отработали с
a,b,c,d , затем запускаются ещё 4 с e,f,g,h и так далее)
0
|
0 / 0 / 0
Регистрация: 15.03.2019
Сообщений: 126
|
|
25.02.2023, 11:49 [ТС] | 7 |
я думаю мозг сломаю.... 12 ядер 24 потока....
0
|
фрилансер
5846 / 5377 / 1103
Регистрация: 11.10.2019
Сообщений: 14,374
|
|
25.02.2023, 12:01 | 8 |
Siserian, для примера:
пусть, имеем 2 ядра. И набор элементов {1,2,3,4,5,6,7,8} логически разбиваем на такие наборы: {1}+{2,3,4,5,6,7,8} // первый элемент всегда "1", остальные комбинируем через std::next_permutation в потоке №1 {2}+{1,3,4,5,6,7,8} // первый элемент всегда "2", комбинируем в потоке №2 {3}+{1,2,4,5,6,7,8} //поток №1 {4}+{1,2,3,5,6,7,8} //поток №2 {5}+{1,2,3,4,6,7,8} //поток №1 {6}+{1,2,3,4,5,7,8} //поток №2 {7}+{1,2,3,4,5,6,8} //поток №1 {8}+{1,2,3,4,5,6,7} //поток №2
0
|
25.02.2023, 12:01 | |
25.02.2023, 12:01 | |
Помогаю со студенческими работами здесь
8
Генератор комбинаций символов Мультипроцессинг функции ( генератор комбинаций) Генератор всех возможных комбинаций Генератор всех возможных комбинаций строки Генератор комбинаций из заданных цифр в строку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |