англійськафранцузькаіспанська

Ad


Значок OnWorks

likwid-pin - онлайн у хмарі

Запустіть likwid-pin у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда likwid-pin, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS

ПРОГРАМА:

ІМ'Я


likwid-pin - закріпити послідовний або багатопотоковий додаток до виділених процесорів

СИНТАКСИС


likwid-pin [-vhqipS] [-c ] [-s ] [-d ]

ОПИС


likwid-pin це програма командного рядка для закріплення послідовних або багатопоточних програм
до виділених процесорів. Його можна використовувати як заміну набір завдань(1). Навпаки
набір завдань без маски спорідненості, але вказано окремі процесори. Для багатопотокових
програми, засновані на бібліотеці pthread pthread_create виклик бібліотеки перевантажений
через LD_PRELOAD, і кожен створений потік прикріплюється до виділеного процесора, як зазначено
in основний_список

За замовчуванням кожен згенерований потік прикріплюється до ядра в порядку викликів
pthread_create. Можна пропустити окремі потоки за допомогою параметра командного рядка -s.

Для реалізацій OpenMP явно підтримуються компілятори gcc та icc. Інші також можуть
працювати. likwid-pin встановлює змінну середовища OMP_NUM_THREADS для вас, якщо ще ні
присутній. Він встановить стільки потоків, скільки присутніх у виразі pin. Усвідомте це
з pthreads батьківський потік завжди закріплений. Якщо ви створюєте, наприклад, 4 потоки з
pthread_create і не використовуйте батьківський процес як робочий, який ви все одно маєте надати
num_threads+1 ідентифікатор процесора.

likwid-pin підтримує різні нумерації для закріплення. За замовчуванням фізична нумерація
використовуються ядра. Це також нумерація likwid-топологія(1) звіти. Але також
Можна використовувати логічну нумерацію всередині вузла або сокетів. Якщо використовується з N (наприклад, -c
N:0-6) ядра логічно пронумеровані по всьому вузлу. На першому місці стоять фізичні ядра. Якщо
система, наприклад, має 8 ядер з 16 потоками SMT з -c N:0-7, ви отримуєте всі фізичні ядра.
Якщо ви вкажете -c N:0-15, ви отримаєте всі фізичні ядра та всі потоки SMT. З S ви можете
вкажіть логічну нумерацію всередині сокетів, знову ж таки фізичні ядра стоять на першому місці. Можна змішати
різні домени, розділені символом @. Наприклад -c S0:0-3@S2:2-3 ви закріплюєте потік 0-3 до логічного
ядра 0-3 на сокеті 0 і потоки 4-5 на логічних ядрах 2-3 на сокеті 2.

Для додатків, де не можна застосувати політику першого дотику в системах numa likwid-pin
можна використовувати, щоб увімкнути розміщення пам'яті з чергуванням. Це може значно прискорити
продуктивність багатопотокових кодів, пов'язаних з пам'яттю. Усі вузли numa, до яких користувач закріпив потоки
використовуються для перемежування.

ВАРІАНТИ


-v друкує інформацію про версію на стандартний вихід, а потім виходить.

-h друкує довідкове повідомлення на стандартний вихід, а потім виходить.

-c OR OR <scatter політика>
вкажіть числовий список процесорів. Список може містити кілька пунктів,
розділяються комами та діапазонами. Наприклад 0,3,9-11. Ви також можете використовувати логічні
нумерації, або всередині вузла (N), розетки (S ) або домен numa (M ).
likwid-pin також підтримує логічне закріплення всередині процесора з префіксом L. Якщо ви
пропустите цю опцію likwid-pin закріпить потоки до процесорів на вузлі
спочатку з фізичними ядрами. Нижче дивіться докладні відомості про використання виразу потоку або
політика розкидання

-s
Вкажіть маску пропуску як HEX номер. Для кожного набору біта є відповідний потік
пропущено.

-S Усі домени пам’яті ccNUMA, що належать до вказаного списку потоків, будуть очищені
перед бігом. Може вирішити проблеми з кешем буфера файлів у Linux.

-p друкує доступні домени потоків для логічного закріплення. Якщо використовувати в комбінації
за допомогою -c ідентифікатори фізичного процесора друкуються на стандартний вихід.

-i встановити політику пам’яті numa для перемежування, що охоплює всі вузли numa, які беруть участь у закріпленні

-q тихе виконання без виведення

-d
встановити роздільник, що використовується для виведення списку фізичних процесорів (-p & -c)

приклад


1. Для стандартної програми pthread:

likwid-pin -c 0,2,4-6 ./myApp

Батьківський процес прикріплений до процесора 0. Потік 0 до процесора 2, потік 1 до
процесор 4, потік 2 до процесора 5 і потік 3 до процесора 6. Якщо більше потоків
створені, ніж зазначено у списку процесорів, ці потоки закріплюються на процесорі 0 як
відступати.

2. Для gcc OpenMP потрібно вказати стільки ідентифікаторів у списку процесорів, скільки потоків:

OMP_NUM_THREADS=4; likwid-pin -c 0,2,1,3 ./myApp

3. Повний контроль над закріпленням можна досягти, вказавши маску пропуску. Наприклад
така команда пропускає закріплення потоку 1:

OMP_NUM_THREADS=4; likwid-pin -s 0x1 -c 0,2,1,3 ./myApp

4. Перемикач -c підтримує визначення потоків у певному домені спорідненості, наприклад
Вузол NUMA або група кешу. Доступні споріднені домени можна отримати за допомогою -p
перемикач і жодних додаткових параметрів у командному рядку. Загальними доменами спорідненості є N
(весь вузол), SX (сокет X), CX (група кешу X) і MX (група пам'яті X). Кілька
споріднені домени можуть бути розділені символом @. Для того, щоб приколоти по 2 нитки на кожному гнізді
2-розетної системи:

OMP_NUM_THREADS=4; likwid-pin -c S0:0-1@S1:0-1 ./myApp

5. Інше визначення аргументу перемикача -c дозволяє закріплювати потоки відповідно до
на такий вираз E:N:4:1:2. Синтаксис E: :
теми>(: : ). У прикладі закріплено 8 ниток з 2 потоками SMT
ядро на машині SMT 4:

OMP_NUM_THREADS=4; likwid-pin -c E:N:8:2:4 ./myApp

6. Остання альтернатива для перемикача -c - це автоматичне розсіювання потоків
споріднені домени. Наприклад, щоб розкидати потоки по всіх областях пам’яті в a
Система:

OMP_NUM_THREADS=4; likwid-pin -c М: розкид ./myApp

Використовуйте likwid-pin онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    libusb
    libusb
    Бібліотека, щоб увімкнути простір користувача
    прикладні програми для спілкування
    USB-пристрої. Аудиторія: розробники, кінець
    Користувачі / Робочий стіл. Мова програмування: C.
    Категорії...
    Завантажити libusb
  • 2
    ЛАГІТ
    ЛАГІТ
    SWIG – це інструмент розробки програмного забезпечення
    що з'єднує програми, написані на C і
    C++ з різноманітними високорівневими
    мови програмування. SWIG використовується з
    інший...
    Завантажити SWIG
  • 3
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, створена за допомогою
    Next JS, Webpack, Babel, Node і
    Express, використовуючи GraphQL і Apollo
    Клієнт. Магазин WooCommerce в React(
    містить: Продукти...
    Завантажте тему WooCommerce Nextjs React
  • 4
    archlabs_repo
    archlabs_repo
    Сховище пакетів для ArchLabs Це
    додаток, який також можна отримати
    від
    https://sourceforge.net/projects/archlabs-repo/.
    Його розміщено в OnWorks у...
    Завантажити archlabs_repo
  • 5
    Проект Зефір
    Проект Зефір
    Проект Zephyr – це нове покоління
    операційна система реального часу (RTOS).
    підтримує декілька апаратних засобів
    архітектури. Він заснований на а
    ядро малої площі...
    Завантажити Zephyr Project
  • 6
    SCONS
    SCONS
    SCons - це інструмент для створення програмного забезпечення
    що є кращою альтернативою
    класичний інструмент "Make" для створення
    ми всі знаємо і любимо. SCons є
    впроваджено...
    Завантажити SCons
  • Детальніше »

Команди Linux

Ad