The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект по добавлению в GCC поддержки распараллеливания проце..., opennews (?), 15-Сен-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


64. "Проект по добавлению в GCC поддержки распараллеливания проце..."  +1 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 15-Сен-19, 17:22 
Идеальным вариантом по-прежнему будет make -j N просто хотя бы из-за большого кол-ва исходников в  проектах. Распараллеливать gcc имеет смысл только если пересобирать небольшую часть проекта во время разработки.
Ответить | Правка | Наверх | Cообщить модератору

67. "Проект по добавлению в GCC поддержки распараллеливания проце..."  +/
Сообщение от Ordu (ok), 15-Сен-19, 18:20 
> Распараллеливать gcc имеет смысл только если пересобирать небольшую часть проекта во время разработки.

То есть в большинстве случаев использования компилятора.

Ответить | Правка | Наверх | Cообщить модератору

78. "Проект по добавлению в GCC поддержки распараллеливания проце..."  –2 +/
Сообщение от Michael Shigorinemail (ok), 15-Сен-19, 20:39 
Кстати, а вот make-овый jobserver как раз может скумекать, когда собирает _одну_ цель -- и научиться добавлять компилятору уже _его_ -j или что там... тогда проблему неуправляемого параллелизма в квадрате вроде как получается решить.

Ну или пущать с -jJ/N, условно говоря, где J -- сколько потоков разрешили самому make, N -- количество собираемых сейчас целей; но тут есть "уязвимость" к случаю, когда цели собираются с сильным разлётом длительности и предположение об N (кроме N == 1) перекашивает на протяжении заметной части общего времени сборки.

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

79. "Проект по добавлению в GCC поддержки распараллеливания проце..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 15-Сен-19, 21:05 
make чаще собирает одну цель когда линкует, а не компилирует. Проблема решается засовыванием всех процессов в cgroup-у. Т.е. make со всеми дочерними процессами должет отжирать примрно одинаковое кол-во CPU независимо от кол-ва процессов. Или можно костылить завышением nice всем процессам сборки. Опция -j N у компилятора может быть полезной, но ставить её лучше в фиксированное небольшое значение типа 2-3.
Ответить | Правка | Наверх | Cообщить модератору

100. "Проект по добавлению в GCC поддержки распараллеливания проце..."  +/
Сообщение от пох. (?), 17-Сен-19, 18:43 
> Проблема решается засовыванием всех процессов в cgroup-у.

"новый стандарт" - ненужен.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру