PAPI

Поделись знанием:
Перейти к: навигация, поиск

Performance Application Programming Interface (PAPI, Прикладной программный интерфейс для анализа производительности) — переносимый интерфейс, реализованный в виде библиотеки, для доступа к счетчикам аппаратной производительности на различных современных микропроцессорах. Он широко применяется для сбора низкоуровневых метрик производительности (например, счетчики инструкций, количество циклов на инструкцию[en], промахи кэшей) в компьютерных системах, работающих под операционными системами семейства UNIX или Linux. Библиотека PAPI доступна к использованию из программ на языках Си, C++, Fortran, Java, Matlab[1].





Описание

PAPI обеспечивает предопределенные высокоуровневые аппаратные события для наиболее распространенных процессоров и прямой доступ к низкоуровневым естественным событиям множества процессоров. Также поддерживаются мультиплексирование наборов счетчиков и управление переполнением счетчиков для получения периодического сигнала (sampling). Например, библиотека может использоваться для подсчета количества операций над числами с плавающей запятой[2].

Использование

На базе PAPI реализовано несколько программных систем для изучения производительности программ, в частности[3]:

  • TAU (University of Oregon)
  • SvPablo (University of Illinois at Urbana–Champaign)
  • HPCToolkit (Rice University)
  • psrun (NCSA, University of Illinois at Urbana–Champaign)
  • Titanium (University of California, Berkeley)
  • SCALEA (University Innsbruck)
  • KOJAK (University of Tennessee)
  • Cone (University of Tennessee)
  • IBM HPMtoolkit
  • CUBE (University of Tennessee)
  • ParaVer (European Center for Parallelism of Barcelona)
  • VAMPIR (Pallas)
  • DynaProf (University of Tennessee)

Поддержка процессоров

В PAPI реализована поддержка событий множества процессоров, в том числе:[3]

  • AMD: Athlon, Opteron и другие
  • Cray T3E, X1
  • HP Alpha
  • IBM POWER: POWER3, POWER4 и другие
  • Intel: Pentium Pro, Pentium II, Pentium III, Pentium 4; Itanium 1, Itanium 2 и другие
  • MIPS: R10K, R12K, R14K
  • Sun UltraSparc I, II, III

Поддержка со стороны операционных систем

Операционная система должна поддерживать доступ к аппаратным счетчикам, что необходимо для использования PAPI. Например, ядро Linux/x86 может предоставлять доступ к счетчикам при помощи патча драйвера аппаратного мониторинга ([user.it.uu.se/~mikpe/linux/perfctr/ perfctr]), через драйвер доступа к MSR регистрам (на процессорах семейства x86) или через подсистему perf_events, чтобы появилась поддержка PAPI.

В современных ядрах Linux добавлен упрощенный интерфейс perf_events для сходных целей.

См. также

Напишите отзыв о статье "PAPI"

Примечания

  1. Philip Mucci, [www.drdobbs.com/tools/performance-monitoring-with-papi/184406109 Performance Monitoring with PAPI] / Dr.Dobbs, June 01, 2005
  2. [iopscience.iop.org/article/10.1088/1742-6596/513/5/052022/pdf ATLAS offline software performance monitoring and optimization] / Journal of Physics: Conference Series 513 (2014) 052022 doi:10.1088/1742-6596/513/5/052022
  3. 1 2 Philip J. Mucci, [pdfs.semanticscholar.org/532e/da5a2e258564f0e995af182375cd9c2f8c74.pdf An Introduction to Hardware Performance Analysis and PAPI] / SIAM Parallel Processing 2004  (англ.)

Литература

  • [www.netlib.org/utk/people/JackDongarra/PAPERS/papi-journal-final.pdf A Portable Programming Interface for Performance Evaluation on Modern Processors] / International Journal of High Performance Computing Applications archive Volume 14 Issue 3, August 2000, Pages 189-204 doi:10.1177/109434200001400303  (англ.)
  • Dongarra, Jack, et al. "[www.netlib.org/utk/people/JackDongarra/PAPERS/papi-linux.pdf Using PAPI for hardware performance monitoring on Linux systems]" // Conference on Linux Clusters: The HPC Revolution. Vol. 5. Linux Clusters Institute, 2001.  (англ.)

Ссылки

  • [icl.cs.utk.edu/papi/index.html Официальный веб-сайт]  (англ.)
  • Philip J. Mucci, [pdfs.semanticscholar.org/532e/da5a2e258564f0e995af182375cd9c2f8c74.pdf An Introduction to Hardware Performance Analysis and PAPI] / SIAM Parallel Processing 2004  (англ.)
  • [www.vi-hps.org/upload/material/tw04/PAPI-Overview.pdf Introduction to PAPI, the Performance Application Programming Interface], 2009 (англ.)
  • [berrendorf.inf.fh-brs.de/lehre/abschlussarbeiten/arbeiten/2009_Thesis_Fabian_Gorsler.pdf Development of a PAPI Backend for the Sun Niagara 2 Processor], 2009  (англ.)
  • [www.swsys.ru/index.php?page=article&id=325 Организация профилирования в рамках концепции контролируемого выполнения сложных систем] / ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ № 3 за 2007 год: "Прикладной программный интерфейс для измерения производительности (PAPI)"


Отрывок, характеризующий PAPI



Следующий после театра день Ростовы никуда не ездили и никто не приезжал к ним. Марья Дмитриевна о чем то, скрывая от Наташи, переговаривалась с ее отцом. Наташа догадывалась, что они говорили о старом князе и что то придумывали, и ее беспокоило и оскорбляло это. Она всякую минуту ждала князя Андрея, и два раза в этот день посылала дворника на Вздвиженку узнавать, не приехал ли он. Он не приезжал. Ей было теперь тяжеле, чем первые дни своего приезда. К нетерпению и грусти ее о нем присоединились неприятное воспоминание о свидании с княжной Марьей и с старым князем, и страх и беспокойство, которым она не знала причины. Ей всё казалось, что или он никогда не приедет, или что прежде, чем он приедет, с ней случится что нибудь. Она не могла, как прежде, спокойно и продолжительно, одна сама с собой думать о нем. Как только она начинала думать о нем, к воспоминанию о нем присоединялось воспоминание о старом князе, о княжне Марье и о последнем спектакле, и о Курагине. Ей опять представлялся вопрос, не виновата ли она, не нарушена ли уже ее верность князю Андрею, и опять она заставала себя до малейших подробностей воспоминающею каждое слово, каждый жест, каждый оттенок игры выражения на лице этого человека, умевшего возбудить в ней непонятное для нее и страшное чувство. На взгляд домашних, Наташа казалась оживленнее обыкновенного, но она далеко была не так спокойна и счастлива, как была прежде.
В воскресение утром Марья Дмитриевна пригласила своих гостей к обедни в свой приход Успенья на Могильцах.
– Я этих модных церквей не люблю, – говорила она, видимо гордясь своим свободомыслием. – Везде Бог один. Поп у нас прекрасный, служит прилично, так это благородно, и дьякон тоже. Разве от этого святость какая, что концерты на клиросе поют? Не люблю, одно баловство!
Марья Дмитриевна любила воскресные дни и умела праздновать их. Дом ее бывал весь вымыт и вычищен в субботу; люди и она не работали, все были празднично разряжены, и все бывали у обедни. К господскому обеду прибавлялись кушанья, и людям давалась водка и жареный гусь или поросенок. Но ни на чем во всем доме так не бывал заметен праздник, как на широком, строгом лице Марьи Дмитриевны, в этот день принимавшем неизменяемое выражение торжественности.
Когда напились кофе после обедни, в гостиной с снятыми чехлами, Марье Дмитриевне доложили, что карета готова, и она с строгим видом, одетая в парадную шаль, в которой она делала визиты, поднялась и объявила, что едет к князю Николаю Андреевичу Болконскому, чтобы объясниться с ним насчет Наташи.
После отъезда Марьи Дмитриевны, к Ростовым приехала модистка от мадам Шальме, и Наташа, затворив дверь в соседней с гостиной комнате, очень довольная развлечением, занялась примериваньем новых платьев. В то время как она, надев сметанный на живую нитку еще без рукавов лиф и загибая голову, гляделась в зеркало, как сидит спинка, она услыхала в гостиной оживленные звуки голоса отца и другого, женского голоса, который заставил ее покраснеть. Это был голос Элен. Не успела Наташа снять примериваемый лиф, как дверь отворилась и в комнату вошла графиня Безухая, сияющая добродушной и ласковой улыбкой, в темнолиловом, с высоким воротом, бархатном платье.
– Ah, ma delicieuse! [О, моя прелестная!] – сказала она красневшей Наташе. – Charmante! [Очаровательна!] Нет, это ни на что не похоже, мой милый граф, – сказала она вошедшему за ней Илье Андреичу. – Как жить в Москве и никуда не ездить? Нет, я от вас не отстану! Нынче вечером у меня m lle Georges декламирует и соберутся кое кто; и если вы не привезете своих красавиц, которые лучше m lle Georges, то я вас знать не хочу. Мужа нет, он уехал в Тверь, а то бы я его за вами прислала. Непременно приезжайте, непременно, в девятом часу. – Она кивнула головой знакомой модистке, почтительно присевшей ей, и села на кресло подле зеркала, живописно раскинув складки своего бархатного платья. Она не переставала добродушно и весело болтать, беспрестанно восхищаясь красотой Наташи. Она рассмотрела ее платья и похвалила их, похвалилась и своим новым платьем en gaz metallique, [из газа цвета металла,] которое она получила из Парижа и советовала Наташе сделать такое же.