Христианское бессмертие - это жизнь без смерти, совсем не так, как думают, жизнь после смерти.

22-00 сижу на кухне чайком балуюсь, забегает жена и к холодильнику. Набрала две руки и бежать. Я ей вслед: ...

Разработчики FreeNAS представили дистрибутив TrueNAS SCALE на базе Linux
Thu, 04 Jun 2020 23:26:16 +0300

В пакете с Firefox для Fedora появилась поддержка ускорения декодирования видео через VA-API
Thu, 04 Jun 2020 09:01:49 +0300

Результаты пересборки пакетной базы Debian при помощи Clang 10
Wed, 03 Jun 2020 20:09:06 +0300

Lenovo обеспечит поставку Ubuntu и RHEL на всех моделях ThinkStation и ThinkPad P
Wed, 03 Jun 2020 10:49:24 +0300

Linux Mint будет блокировать скрытую от пользователя установку snapd
Wed, 03 Jun 2020 09:54:11 +0300

Устаревание корневого сертификата AddTrust привело к сбоям в системах с OpenSSL и GnuTLS
Sun, 31 May 2020 10:14:31 +0300

Среда проектирования игр Godot адаптирована для работы в web-браузере
Sat, 30 May 2020 08:44:56 +0300

Доступна плата Raspberry Pi 4 с 8 ГБ ОЗУ
Thu, 28 May 2020 23:21:36 +0300

В Chrome 84 по умолчанию включат защиту от назойливых уведомлений
Thu, 28 May 2020 22:06:48 +0300

В Reiser5 анонсирована поддержка Burst Buffers (Data Tiering)
Tue, 26 May 2020 13:14:26 +0300

Проект по формированию базы поддерживаемого оборудования для BSD-систем
Mon, 25 May 2020 11:02:04 +0300

Линус Торвальдс перешёл с Intel на AMD на своей основной системе
Mon, 25 May 2020 10:14:10 +0300

70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью
Sun, 24 May 2020 13:12:50 +0300

Детские online-соревнования по Linux
Sat, 23 May 2020 23:37:04 +0300

Создатели WordPress инвестировали $4.6 млн в компанию, развивающую Matrix-клиент Riot
Fri, 22 May 2020 10:59:49 +0300

Новости OPENNET
Новости

В рамках исследовательского проекта Parallel GCC началась работа по добавлению в GCC возможности, позволяющей разделять процесс компиляции на несколько параллельно выполняемых потоков. В настоящее время для повышения скорости сборки на многоядерных системах на уровне утилиты make применяется запуск отдельных процессов компилятора, каждый из которых выполняет сборку отдельного файла с кодом. Новый проект экспериментирует с обеспечением распараллеливания на уровне компилятора, что потенциально позволит повысить эффективность работы на многоядерных системах.

Для тестирования подготовлена отдельная распараллеливающая ветка GCC, для задания числа потоков в которой предложен новый параметр "--param=num-threads=N". На начальном этапе реализован вынос в отдельные потоки выполнения межпроцедурных оптимизаций, которые циклично вызываются для каждой функции и хорошо поддаются распаралелливанию. В отдельные потоки вынесены операции GIMPLE, отвечающие за независящие от оборудования оптимизации, оценивающие взаимодействие функций между собой.

На следующем этапе в отдельные потоки также планируется вынести межпроцедурные RTL-оптимизации, учитывающие особенности аппаратной платформы. После этого планируется реализовать распараллеливание внутрипроцедурных оптимизаций (IPA), применяемых к коду внутри функции, независимо от особенностей вызова. Ограничивающим звеном пока является сборщик мусора, в который добавлена глобальная блокировка, отключающая операции сборки мусора во время работы в многопоточном режиме (в будущем сборщик мусора будет адаптирован для многопоточного выполнения GCC).

Для оценки изменения производительности подготовлен тестовый набор, осуществляющий сборку файла gimple-match.c, включающего более 100 тысяч строк кода и 1700 функций. Тесты на системе с CPU Intel Core i5-8250U с 4 физическими ядрами и 8 виртуальными (Hyperthreading) показали снижение времени выполнения оптимизаций Intra Procedural GIMPLE с 7 до 4 секунд при запуске 2 потоков и до 3 секунд при запуске 4 потоков, т.е. достигнуто увеличение скорости рассматриваемого этапа сборки в 1.72 и 2.52 раза, соответственно. Тесты также показали, что использование виртуальных ядер при Hyperthreading не приводит к росту производительности.

Общее время сборки сократилось приблизительно на 10%, но по прогнозам распараллеливаие RTL-оптимизаций позволит добиться более ощутимых результатов, так как данная стадия занимает при компиляции существенно больше времени. Ориентировочно после распараллеливания RTL общее время сборки сократится в 1.61 раза. После этого еще на 5-10% можно будет сократить время сборки за счёт распараллеливания оптимизаций IPA.

9.6907 77.3245 0.6323 69.0151

НОВОСТИ: Доступен полностью свободный вариант ядра Linux-libre 5.7 Mon, 01 Jun 2020 22:24:39 +0300

Латиноамериканский Фонд свободного ПО опубликовал полностью свободный вариант ядра 5.7 - Linux-libre 5.7-gnu, очищенный от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. Кроме того, Linux-libre отключает функции ядра по загрузке несвободных компонентов, не входящих в поставку ядра, и удаляет упоминание об использовании несвободных компонентов из документации.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome