|
3 / 3 / 0
Регистрация: 02.01.2015
Сообщений: 39
|
|
Как задействовать все процессоры для выполнения программы c++?08.08.2015, 09:39. Показов 8491. Ответов 40
Метки нет (Все метки)
Столкнулся с такой проблемой.
При выполнении программы c++ (я использую Microsoft Visual Studio 2015) компиллятор показывает использования лишь 10-13% процессоров (у меня их 8 по 3.4 ГГЦ). Как же использовать все процессоры для выполнения программы? Быстродействие этой программы очень важно, ведь она высчитывает числа.
0
|
|
| 08.08.2015, 09:39 | |
|
Ответы с готовыми решениями:
40
VC++ 2008, как задействовать все ядра CPU под расчеты Стоило задействовать, по одному из советов, все ядра процессоров из 4, как перестала загружаться винда Как задействовать встроеную видеокарту для другого монитора? |
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 08.08.2015, 09:43 | |
|
Разбить программу на восемь потоков созданных через std::thread. Правда, для ряда алгоритмов это принципиально невозможно (ситуация "чтобы выносить ребенка надо девять месяцев, независимо от числа участвующих в процессе дам").
0
|
|
|
3 / 3 / 0
Регистрация: 02.01.2015
Сообщений: 39
|
|||||||||||
| 08.08.2015, 09:48 [ТС] | |||||||||||
|
Мне нужно для каждого числа вычислить его md5 хеш.
Вот код программы (сначала идут 2 функции, которые вычисляют md5 хеш для строки, а потом в теле main() идет главный код): md5.cpp
md5.h:
0
|
|||||||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 08.08.2015, 10:14 | |
|
Для параллельной работы нескольких процессоров, нужно чтобы они не пытались писать в данные друг друга. А это значит:
1) Никаких new/delete, потому как они пишут в общий хип. Соответственно, один процессор будет писать, остальные ждать пока он освободится. 2) Никаких стандартных контейнеров, ибо 90% из них тоже пишут в общий хип. Да, возвращать стринг из функции тоже нельзя. 3) Никаких глобальных переменных. Короче, переписывать код придется сверху донизу. Ну а если делать попроще, то просто запустите восемь копий программы, каждая из которых будет обрабатывать свою порцию входных данных.
0
|
|
|
Заблокирован
|
||
| 08.08.2015, 13:10 | ||
|
T_P_A_K_T_O_P, MD5 блочный шифр, на каждом раунде работаем с данными предыдущего, сделать раунд в потоке не выйдет - это однопоточный алгоритм, нагрузку между процессорами распределяет планировщик ОС и если он решит что то разбросить на другое ядро то сделает.
Добавлено через 1 минуту
0
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 08.08.2015, 13:33 | |
|
0
|
|
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
|
| 08.08.2015, 15:18 | |
|
Ошибка.
0
|
|
|
Неэпический
|
|
| 08.08.2015, 15:22 | |
|
Может поможет https://software.intel.com/en-... -functions
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 08.08.2015, 15:38 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 08.08.2015, 16:23 | |
|
0
|
|
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
||||||
| 08.08.2015, 16:39 | ||||||
|
Вот как-то так:
MD5 1: aaaa MD5 2: bbbb
0
|
||||||
|
Заблокирован
|
||
| 08.08.2015, 20:16 | ||
|
0
|
||
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
|||||||
| 09.08.2015, 00:47 | |||||||
0
|
|||||||
| 09.08.2015, 08:07 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 32
|
|
| 09.08.2015, 08:24 | |
|
Если в вычислениях интенсивно задействована оперативная память, то одновременный запуск одной программы на нескольких ядрах мало что даст, разве что потерю времени.
0
|
|
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
|
| 09.08.2015, 09:49 | |
|
0
|
|
|
|
||
| 09.08.2015, 09:52 | ||
|
0
|
||
| 09.08.2015, 09:52 | |
|
Помогаю со студенческими работами здесь
20
Как задействовать многопоточность для обработки больших запросов в WebBrowser Как задействовать программу пароля для ноута по отпечатку пальца? Как реализовать задержку выполнения определённой части программы без полной задержки всей программы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|