Це команда hwloc-distrib, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
hwloc-distrib - Створіть ряд масок процесора, розподілених у системі
СИНТАКСИС
hwloc-distrib [опції]
ВАРІАНТИ
--один
Об’єднайте кожен вихід до одного ЦП.
--набір завдань
Показати рядки набору ЦП у форматі, розпізнаному програмою командного рядка набору завдань
замість спеціального для hwloc формату рядка ЦП.
-v -багатослівний
Детальні повідомлення.
-i , --вхід
Прочитати топологію з файлу XML (замість виявлення топології на
локальна машина). Якщо "-", використовується стандартний вхід. Необхідна підтримка XML
були скомпільовані в hwloc, щоб цю опцію можна було використовувати.
-i , --вхід
Прочитати топологію з chroot, зазначеного в (замість того, щоб виявити
топологія на локальній машині). Ця опція зазвичай доступна лише в Linux.
chroot зазвичай створювався шляхом збору іншої топології машини з hwloc-
топологія збору.
-i , --вхід
Зімітуйте підроблену ієрархію (замість того, щоб виявляти топологію на локальному
машина). Якщо є "вузол:2 pu:3", топологія міститиме два NUMA
вузли з 3 процесорами в кожному з них. The рядок має закінчитися
з низкою ПУ.
--якщо , -- формат введення
Застосовувати введення у заданому форматі, серед XML, fsroot та синтетичний.
--ігнорувати
Ігнорувати всі об’єкти типу в топології.
--від
Розподіляти, починаючи з об’єктів заданого типу, а не зверху
ієрархія топології, тобто ігнорування структури, заданої об'єктами вище.
--до
Розподіліть униз до об’єктів заданого типу, а не до нижньої частини
ієрархія топології, тобто ігнорування структури, заданої об'єктами нижче. Це може
бути корисним, якщо для зв'язування потрібна певна широта, наприклад, просто зв'язати кілька
процесів до кожного пакета, не вказуючи єдине ядро для кожного з них.
--на
Розподіліть між об’єктами даного типу. Це еквівалентно вказівці обох
--від та --до в той самий час.
--зворотний
Розподіліть, починаючи спочатку з останніх об’єктів, і розділіть набори ЦП
зберігаючи останній біт (замість першого біта).
--обмежити
Обмежте топологію даним процесором.
-- вся система
Не враховуйте адміністративні обмеження.
-- версія
Повідомити про версію та вийти.
ОПИС
hwloc-distrib генерує серію масок ЦП, що відповідають заданому розподілу
кількість елементів над топологією машини. Розподіл здійснюється рекурсивно
з вершини ієрархії (або з рівня, визначеного параметром --від) аж до
нижню частину ієрархії (або до рівня, визначеного параметром --до, або поки тільки один
елемент залишається), розділення кількості елементів на кожному зустрічному рівні ієрархії немає
ігноруються параметрами --ігнорувати.
Це можна, наприклад, використовувати для ієрархічного розподілу набору процесів відповідно до
топологія машини. Ці маски можна використовувати з hwloc-bind(1).
ПРИМІТКА: Настійно радимо прочитати hulloc(7) сторінка огляду перед читанням
цю man сторінку. Більшість понять, описаних в hulloc(7) безпосередньо застосовувати до hwloc-
утиліта bind.
ПРИКЛАДИ
Найкраще описати роботу hwloc-distrib на кількох прикладах.
Якщо 4 процеси повинні бути розподілені на машині, можна отримати їх маски ЦП
з:
$ hwloc-distrib 4
0x0000000f
0x00000f00
0x000000f0
0x0000f000
Щоб розподілити лише між другим пакетом, топологію слід обмежити:
$ hwloc-distrib --restrict $(hwloc-calc package:1) 4
0x00000010
0x00000020
0x00000040
0x00000080
Щоб отримати один процесор кожного CPU-маски (запобігти міграції у разі прив’язки)
$ hwloc-distrib 4 --одиночний
0x00000001
0x00000100
0x00000010
0x00001000
Кожен вихідний рядок може бути конвертований незалежно за допомогою hwloc-calc:
$ hwloc-distrib 4 --одиночний | hwloc-calc --набір завдань
0x1
0x100
0x10
0x1000
Щоб перетворити вихід у список процесорів, які можна передати в dplace -c всередині a
командний рядок mpirun:
$ hwloc-distrib 4 --одиночний | xargs hwloc-calc --pulist
0,8,4,16
ПОВЕРНЕННЯ VALUE
Після успішного виконання hwloc-distrib виводить один або кілька рядків маски ЦП. The
повертається значення 0.
hwloc-distrib поверне ненульове значення, якщо виникне будь-яка помилка, наприклад (але не обмежено
до) помилка розбору командного рядка.
Використовуйте hwloc-distrib онлайн за допомогою служб onworks.net