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

Ad


Значок OnWorks

likwid-perfctr - Інтернет у хмарі

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

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

ПРОГРАМА:

ІМ'Я


likwid-perfctr - налаштувати та зчитувати лічильники продуктивності обладнання на процесорі x86

СИНТАКСИС


likwid-perfctr [-vhHVmaeiMoO] [-c/-C ] [-g or
] [-t ] [-S ] [-s ] [-o
]

ОПИС


likwid-perfctr це легка програма командного рядка для налаштування та читання
Дані моніторингу продуктивності обладнання на підтримуваних процесорах x86. Він може вимірюватися як
обгортка без зміни вимірюваної програми або з функціями API маркера всередині
код, який буде вмикати і вимикати лічильники. Є попередньо налаштовані групи з корисними
набори подій і похідні показники. Додатково довільні події можна вимірювати за допомогою користувацького
набори подій. API маркера може вимірювати кілька іменованих регіонів. Результати накопичуються на
кілька дзвінків. Підтримуються такі процесори x86:

· Intel Core 2: всі варіанти. Лічильники: PMC[0-1], FIXC[0-2]

· Intel Нехалем: Лічильники: PMC[0-3], FIXC[0-2], UPMC[0-7]

· Intel Nehalem EX: Лічильники: PMC[0-3], FIXC[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], WBOX[0-5], UBOX0, SBOX[0-1]C[0-3], CBOX[0-9]C[0-4]

· Intel Вестмір:
Лічильники: PMC[0-3], FIXC[0-2], UPMC[0-7]

· Intel Вестміре EX: Лічильники: PMC[0-3], FIXC[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], WBOX[0-5], UBOX0, SBOX[0-1]C[0-3], CBOX[0-9]C[0-4]

· Intel Сенді Bridge: повна підтримка RAPL. Лічильники: PMC[0-3], FIXC[0-2], PWR[0-3]

· Intel Сенді Міст PS: часткова підтримка uncore, повна підтримка RAPL. Лічильники:
PMC[0-3], FIXC[0-2], PWR[0-3]. MBOX[0-3]C[0-3]

· Intel плющ Bridge: повна підтримка RAPL. Лічильники: PMC[0-3], FIXC[0-2], PWR[0-3]

· Intel плющ Міст PS: часткова підтримка uncore, повна підтримка RAPL. Лічильники:
PMC[0-3], FIXC[0-2], PWR[0-3], CBOX[0-9]C[0-3], MBOX[0-3]C[0-3], MBOX[0-3]ВИПРАВЛЕННЯ

· Intel Haswell: повна підтримка RAPL. Лічильники: PMC[0-3], FIXC[0-2], PWR[0-3]

· Intel Haswell PS: відсутність неосновної підтримки, повна підтримка RAPL. Лічильники: PMC[0-3],
FIXC[0-2], PWR[0-3]

· Intel Atom Сільвермонт: повна підтримка RAPL. Лічильники: PMC[0-1], FIXC[0-2], PWR[0-1]

· Intel Пентіум M: Варіанти Banias і Dothan. Лічильники: PMC[0-1]

· Intel P6: Перевірено на P3.

· AMD K8: всі варіанти. Лічильники: PMC[0-3]

· AMD K10: Процесори на базі Барселони, Шанхаю, Стамбула, MagnyCours. Лічильники:
PMC[0-3]

ВАРІАНТИ


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

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

-H друкує повідомлення групової довідки (використовуйте разом з перемикачем -g).

-V докладний висновок під час виконання для налагодження.

-m працювати в режимі API маркера

-a надрукувати доступні групи продуктивності для поточного процесора.

-e роздрукувати доступні лічильники та події продуктивності поточного процесора.

-o
зберігати весь вихід у файл замість стандартного виведення. Для назви файлу наступне
підтримуються заповнювачі: %j для PBS_JOBID, %r для MPI RANK (лише Intel MPI на
момент), %h ім'я хосту та %p для ідентифікатора процесу. Заповнювачі повинні бути
розділені символом підкреслення як, наприклад, -o test_%h_%p. Ви повинні вказати суфікс до
ім'я файлу. Для txt результат друкується як є у файлі. Інші суфікси викликають а
фільтр на виході. Доступні фільтри: csv (значення, розділені комами) і xml
на даний момент

-O Не друкуйте таблиці для результатів, замість цього використовуйте CSV, який легко аналізується.

-i роздрукувати інформацію cpuid про процесор та про моніторинг продуктивності Intel
функції, а потім вийдіть.

-c
вкажіть числовий список процесорів. Список може містити кілька пунктів,
розділяються комами та діапазонами. Наприклад 0,3,9-11.

-C
вкажіть числовий список процесорів. Список може містити кілька пунктів,
розділяються комами та діапазонами. Наприклад 0,3,9-11. Цей варіант також буде закріпленим
ниток до ядер. Також можна використовувати логічну нумерацію.

-g <performance група> or <performance подія комплект рядок>
вкажіть, яку групу продуктивності виміряти. Це може бути один із тегів, що виводяться
прапор -a. Також спеціальний набір подій можна вказати за допомогою списку розділених комами
події. Кожна подія має формат eventId:register, де реєстр є одним
Регістри лічильника продуктивності, що підтримується архітектурою.

-t <frequency of вимірювання>
режим часової шкали для вимірювань з роздільною здатністю, можливі суфікси «s» і «ms».
100 мс. Вихід має такий формат:

<Result поток0> <Result поток1> ...

-S
режим стетоскопа з тривалістю в секундах. Можна використовувати для вимірювання програми
ззовні.

приклад


Тому що likwid-perfctr заходи на процесори і не поодинокі програми потрібні
щоб переконатися, що процеси та потоки закріплені на виділених ресурсах. Ви можете або закріпити
програму самостійно або скористайтеся вбудованою функцією PIN-коду.

1. Як обгортка з групою виконання:

likwid-perfctr -C 0-2 -g TLB ./cacheBench -n 2 -l 1048576 -i 100 -t потік

Батьківський процес прикріплений до процесора 0, потоку 0 до процесора 1 і потоку 1 до
процесор 2.

2. Як обгортка зі спеціальним набором подій на AMD:

likwid-perfctr -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0,CPU_CLOCKS_UNHALTED:PMC3 ./myApp

Уточнюється, що захід INSTRUCTIONS_RETIRED_SSE вимірюється на лічильнику PMC0 та
подія CPU_CLOCKS_UNHALTED на прилавок PMC3. Можна розрахувати час виконання
всі потоки на основі CPU_CLOCKS_UNHALTED подія. Якщо ви хочете цього, ви повинні включити
цю подію у вашому рядку спеціальної події, як показано вище.

3. Як обгортка зі спеціальним набором подій на Intel:

likwid-perfctr -C 0 -g INSTR_RETIRED_ANY:FIXC0,CPU_CLK_UNHALTED_CORE:FIXC1 ./myApp

На процесорах Intel фіксовані події вимірюються на виділених лічильниках. Це такі
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE. та CPU_CLK_UNHALTED_REF Якщо ви налаштуєте
ці фіксовані лічильники, likwid-perfctr розрахує показники часу виконання та CPI для вашого
бігти.

4. Використання API маркерів для вимірювання лише частин вашого коду (це можна використовувати з обома
групи або спеціальні набори подій):

likwid-perfctr -m -C 0-4 -g INSTRUCTIONS_RETIRED_SSE:PMC0,CPU_CLOCKS_UNHALTED:PMC3
./cacheBench

Ви повинні зв’язати свій код з liblikwid.a/.so і використовувати виклики API маркерів. The
наступний фрагмент коду показує необхідні виклики:

#включати

/* тільки один потік викликає init */
якщо (ідентифікатор потоку == 0)
{
likwid_markerInit();
}
/* якщо ви хочете виміряти програму з потоками
* вам потрібно викликати likwid_markerThreadInit() для
* підготовка, приклад з OpenMP */
#pragma omp паралельно
{
likwid_markerThreadInit();
}
БАР'ЄР;
likwid_markerStartRegion("Порівняльний аналіз");
/* ваш код для вимірювання знаходиться тут.*/

likwid_markerStopRegion("Порівняльний аналіз");
БАР'ЄР;
/* знову тільки один потік може закрити маркери */
якщо (ідентифікатор потоку == 0)
{
likwid_markerClose();
}

5. Використання likwid у режимі шкали часу:

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./myApp > out.txt

Це буде зчитувати лічильники кожні 300 мс на фізичних ядрах 0-3 і записувати результати
out.txt. Для режиму часової шкали є інтерфейс програми likwid-scope, який вмикає
живі сюжети вибраних подій. Щоб отримати додаткові приклади коду, перегляньте likwid WIKI
сторінок. Процеси є НЕ закріплено на ЦП 0-3.

6. Використання likwid в режимі стетоскопа:

likwid-perfctr -c 0-3 -g FLOPS_DP -S 2s

Це запустить лічильники і прочитати їх через 2 секунди на фізичних ядрах 0-3 і записати
результати для стандартного виведення. Процеси є НЕ закріплено на ЦП 0-3.

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


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

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

Команди Linux

Ad