Это команда hwloc-calc, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
hwloc-calc - Работает со строками и объектами маски процессора
СИНТАКСИС
hwloc-calc [кредита] [ [...] ]
Обратите внимание, что Халлок(7) предоставляет подробное объяснение системы hwloc и действительных
форматы; его следует прочитать перед чтением этой страницы руководства.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-p --физические
Используйте OS / физические индексы вместо логических индексов как для ввода, так и для вывода.
-l --логичный
Используйте логические индексы вместо физических индексов / индексов ОС как для ввода, так и для вывода
(по умолчанию).
--Пи --физический ввод
Используйте для ввода OS / физические индексы вместо логических индексов.
--ли --логический ввод
Используйте для ввода логические индексы вместо физических индексов / индексов ОС (по умолчанию).
--по --физический выход
Используйте для вывода индексы OS / физические вместо логических индексов.
--ло --логический вывод
Использовать для вывода логические индексы вместо физических индексов / индексов ОС (по умолчанию, кроме
для процессоров, которые всегда являются физическими).
-N --количество
Сообщает количество объектов данного типа или глубины, пересекающих ЦП
установленный. Это удобно для определения количества ядер, узлов NUMA или PU.
в наличии в машине.
-I - пересечение
Найдите список объектов данного типа или глубины, которые пересекают набор ЦП
и сообщать список их индексов, разделенных запятыми, вместо маски процессора
нить. Это может быть использовано для определения списка объектов выше или ниже
входные объекты. В сочетании с --физические, список удобно перейти к
внешние инструменты, такие как набор задач или numactl --physcpubind or - помнить. Это
отличается от --largest, поскольку последний требует, чтобы все сообщаемые объекты были
строго входит в объекты ввода.
-H - иерархический . ...
Найдите список объектов типа которые пересекают набор ЦП и сообщают
разделенный пробелами список их иерархических индексов относительно ,
и т. д. Например, если пакет.ядро дано, вывод будет
Пакет: 1.Ядро: 2 Пакет: 2.Ядро: 3 если вход содержит третье ядро
второй пакет и четвертое ядро третьего пакета.
- наибольший Отчет (в удобочитаемом формате) список самых крупных объектов, которые точно
включить все входные объекты. Ни один из этих выходных объектов не пересекается друг с другом,
и их сумма в точности эквивалентна вводу. Нет самого большого объекта
включены во входные данные. Это отличается от --intersect, где сообщаемые объекты
не могут быть строго включены во входные данные.
--сеп
Измените разделитель полей в выводе. По умолчанию для
отдельные объекты вывода (например, когда - иерархический or - наибольший дано)
в то время как запятая используется для разделения индексов (например, когда - пересечение is
данный).
--Один Подключайте вывод к одному процессору.
--taskset Отображение строк набора ЦП в формате, распознаваемом командной строкой набора задач
программа вместо строкового формата, специфичного для hwloc. Этот вариант не имеет
влияет на формат входных строк набора ЦП, оба формата всегда принимаются.
--ограничивать
Ограничьте топологию заданным процессором.
--целая система
Не считайте административные ограничения.
-i , --Вход
Чтение топологии из XML-файла (вместо того, чтобы обнаруживать топологию на
локальная машина). Если стоит «-», используется стандартный ввод. Поддержка XML должна
были скомпилированы в hwloc для использования этой опции.
-i , --Вход
Считать топологию из корневого каталога, указанного (вместо того, чтобы открывать
топология на локальной машине). Эта опция обычно доступна только на
Linux. Chroot обычно создавался путем сбора топологии другой машины.
с топологией hwloc-gather-.
-i , --Вход
Смоделировать поддельную иерархию (вместо того, чтобы обнаруживать топологию на локальном
машина). Если "узел: 2 о.е.: 3", топология будет содержать два
Узлы NUMA с 3-мя процессорами в каждом из них. В нить
должен заканчиваться рядом PU.
--если , - входной формат
Принудительно вводить данные в заданном формате, среди XML, фсрут и синтетический.
-q --тихий
Скрыть сообщения о нефатальных ошибках. В основном он включает местоположения, указывающие на не-
существующие объекты.
-v --подробный
Подробный вывод.
--версия Сообщить о версии и выйти.
ОПИСАНИЕ
hwloc-calc генерирует и управляет строками или объектами маски ЦП. И ввод, и вывод
могут быть объектами (с физическими или логическими индексами), списками ЦП (с физическими или
логические индексы) или строки маски ЦП (всегда физически индексированные).
Если в командной строке заданы объекты или строки маски ЦП, они объединяются, и
распечатывается единичный вывод. Если в командной строке не указаны объекты или строки маски ЦП,
программа прочитает стандартный ввод. Он объединит несколько объектов или маску ЦП
строки, которые задаются в той же строке стандартной строки ввода с пробелами как
разделители. Различные входные строки будут обрабатываться отдельно.
Аргументы и параметры командной строки обрабатываются по порядку. Например, это означает, что
изменение типа входных индексов с помощью --ли или изменить топологию ввода с помощью -i Важно
влияет на обработку следующих аргументов.
ПРИМЕЧАНИЕ: Настоятельно рекомендуется прочитать Халлок(7) обзорная страница перед чтением
эта страница руководства. Большинство концепций, описанных в Халлок(7) непосредственно относятся к hwloc-
Утилита calc.
ПРИМЕРЫ
Функцию hwloc-calc лучше всего описать на нескольких примерах.
Чтобы отобразить (физическую) маску ЦП, соответствующую второму пакету:
Пакет $ hwloc-calc: 1
0x000000f0
Чтобы отобразить (физическую) маску ЦП, соответствующую третьему пакету, за исключением его четного
пронумерованные логические процессоры:
Пакет $ hwloc-calc: 2 ~ PU: даже
0x00000c00
Чтобы объединить две (физические) маски ЦП:
$ hwloc-calc 0x0000ffff 0xff000000
0xff00ffff
Чтобы отобразить список логических номеров процессоров, входящих во второй пакет:
$ hwloc-calc --intersect PU пакет: 1
4,5,6,7
Чтобы связать потоки GNU OpenMP логически по всей машине, нам нужно использовать физический
вместо этого вывод числа:
$ export GOMP_CPU_AFFINITY = `hwloc-calc --physical-output --intersect PU machine: 0`
$ echo $ GOMP_CPU_AFFINITY
0,4,1,5,2,6,3,7
Чтобы отобразить список узлов NUMA по физическим индексам, которые пересекают заданный (физический)
Маска ЦП:
$ hwloc-calc --physical --intersect NUManode 0xf0f0f0f0
0,2
Чтобы отобразить физический индекс процессора, заданный его логическим индексом:
$ hwloc-calc PU: 2 --физический выход --intersect PU
3
Чтобы отобразить набор процессоров рядом с сетевым интерфейсом eth0:
$ hwloc-calc os = eth0
0x00005555
Чтобы отобразить индексы пакетов рядом с устройством PCI с идентификатором шины 0000: 01: 02.0:
$ hwloc-calc pci = 0000: 01: 02.0 - пакет intersect
1
Чтобы отобразить список ядер для каждого пакета, которые пересекают ввод:
$ hwloc-calc 0x00003c00 - иерархический package.core
Пакет: 2. Ядро: 1 Пакет: 3. Ядро: 0
Чтобы отобразить (физическую) маску ЦП всей топологии, кроме третьего пакета:
$ hwloc-calc все ~ пакет: 3
0x0000f0ff
Чтобы объединить в качестве входных данных как физические, так и логические индексы:
$ hwloc-calc PU: 2 - PU физического ввода: 3
0x0000000c
Чтобы синтезировать набор ядер в самые большие объекты на 2-узловой двухъядерной машине:
$ hwloc-calc core: 0 - наибольший
Core: 0
$ hwloc-calc core: 0-1 - наибольший
Пакет: 0
$ hwloc-calc core: 4-7 - наибольший
NUMANode: 1
$ hwloc-calc core: 2-6 - наибольший
Пакет: 1 Пакет: 2 Ядро: 6
Пакет $ hwloc-calc: 2 - наибольший
Пакет: 2
Пакет $ hwloc-calc: 2-3 - наибольший
NUMANode: 1
Чтобы получить набор первых потоков всех ядер:
$ hwloc-calc ядро: all.pu: 0
Это также может быть очень полезно для того, чтобы GNU OpenMP использовал ровно один поток на ядро,
и в порядке логического ядра:
$ export OMP_NUM_THREADS = `hwloc-calc --number-of-machine: 0`
$ echo $ OMP_NUM_THREADS
4
$ export GOMP_CPU_AFFINITY = `hwloc-calc --physical-output --intersect PU core: all.pu: 0`
$ echo $ GOMP_CPU_AFFINITY
0,2,1,3
ВЕРНУТЬ VALUE
После успешного выполнения hwloc-calc отображает (физическую) строку маски ЦП (физический
или логический) список объектов, или (физический или логический) список номеров объектов. Возвращаемое значение -
0.
hwloc-calc вернет ненулевое значение, если произойдет какая-либо ошибка, например (но не ограничиваясь этим):
невозможность разобрать командную строку.
Используйте hwloc-calc онлайн с помощью сервисов onworks.net