-
-
Notifications
You must be signed in to change notification settings - Fork 232
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This pmda retrieves data using the libdrm and libdrm-amdgpu libraries. It only retrieves general information, no process specific data. Data retrieved includes memory usage, memory speed, GPU speed, temperature, etc ... Old Radeon (Pre GCN 1.1) aren't supported.
- Loading branch information
Showing
14 changed files
with
1,314 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
'\"macro stdmacro | ||
.\" | ||
.\" Copyright (c) 2024 Red Hat. | ||
.\" | ||
.\" This program is free software; you can redistribute it and/or modify it | ||
.\" under the terms of the GNU General Public License as published by the | ||
.\" Free Software Foundation; either version 2 of the License, or (at your | ||
.\" option) any later version. | ||
.\" | ||
.\" This program is distributed in the hope that it will be useful, but | ||
.\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
.\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
.\" for more details. | ||
.\" | ||
.TH PMDAAMDGPU 1 "PCP" "Performance Co-Pilot" | ||
.SH NAME | ||
\f3pmdaamdgpu\f1 \- amdgpu gpu metrics domain agent (PMDA) | ||
.SH SYNOPSIS | ||
\f3$PCP_PMDAS_DIR/amdgpu/pmdaamdgpu\f1 | ||
[\f3\-d\f1 \f2domain\f1] | ||
[\f3\-l\f1 \f2logfile\f1] | ||
[\f3\-t\f1 \f2interval\f1] | ||
.SH DESCRIPTION | ||
.B pmdaamdgpu | ||
is a Performance Metrics Domain Agent (PMDA) which extracts | ||
performance metrics describing the metrics available on AMDGPU | ||
GPU cards via the DRM library. | ||
.PP | ||
The | ||
.B amdgpu | ||
PMDA exports metrics that measure gpu activity, memory utilization, | ||
temperature, etc on GCN 1.2+ AMD GPUs. | ||
.PP | ||
A brief description of the | ||
.B pmdaamdgpu | ||
command line options follows: | ||
.TP 5 | ||
.B \-d | ||
It is absolutely crucial that the performance metrics | ||
.I domain | ||
number specified here is unique and consistent. | ||
That is, | ||
.I domain | ||
should be different for every PMDA on the one host, and the same | ||
.I domain | ||
number should be used for the same PMDA on all hosts. | ||
.TP | ||
.B \-l | ||
Location of the log file. By default, a log file named | ||
.I amdgpu.log | ||
is written in the current directory of | ||
.BR pmcd (1) | ||
when | ||
.B pmdaamdgpu | ||
is started, i.e. | ||
.BR $PCP_LOG_DIR/pmcd . | ||
If the log file cannot | ||
be created or is not writable, output is written to the standard error instead. | ||
.TP | ||
.B \-t | ||
Enables and sets a sampling | ||
.I interval | ||
for automatic refreshing of metric values. | ||
The functionality is disabled by default, however this option allows | ||
a time interval to be specified on which all values are sampled \- this | ||
has the effect of constantly updating the accumulating metrics, with the | ||
goal of assisting client tools such as | ||
.BR pcp-atop (1) | ||
and | ||
.BR pmlogger (1) | ||
to observe sub-sample time changes in GPU and process state. | ||
Typically these tools have longer sampling intervals, and can thus 'miss' | ||
activity happening during their sampling interval. | ||
.SH INSTALLATION | ||
The | ||
.B amdgpu | ||
PMDA is not installed and available by default. | ||
If you want to undo the installation, do the following as root: | ||
.PP | ||
.ft CR | ||
.nf | ||
.in +0.5i | ||
# cd $PCP_PMDAS_DIR/amdgpu | ||
# ./Remove | ||
.in | ||
.fi | ||
.ft 1 | ||
.PP | ||
If you want to establish access to the names, help text and values for the amdgpu | ||
performance metrics once more, after removal, do the following as root: | ||
.PP | ||
.ft CR | ||
.nf | ||
.in +0.5i | ||
# cd $PCP_PMDAS_DIR/amdgpu | ||
# ./Install | ||
.in | ||
.fi | ||
.ft 1 | ||
.PP | ||
.B pmdaamdgpu | ||
is launched by | ||
.BR pmcd (1) | ||
and should never be executed directly. | ||
The Install and Remove scripts notify | ||
.BR pmcd (1) | ||
when the agent is installed or removed. | ||
.SH FILES | ||
.PD 0 | ||
.TP 10 | ||
.B $PCP_PMCDCONF_PATH | ||
command line options used to launch | ||
.B pmdaamdgpu | ||
.TP 10 | ||
.B $PCP_PMDAS_DIR/amdgpu/help | ||
default help text file for the amdgpu metrics | ||
.TP 10 | ||
.B $PCP_PMDAS_DIR/amdgpu/Install | ||
installation script for the | ||
.B pmdaamdgpu | ||
agent | ||
.TP 10 | ||
.B $PCP_PMDAS_DIR/amdgpu/Remove | ||
undo installation script for the | ||
.B pmdaamdgpu | ||
agent | ||
.TP 10 | ||
.B $PCP_LOG_DIR/pmcd/amdgpu.log | ||
default log file for error messages and other information from | ||
.B pmdaamdgpu | ||
.PD | ||
.SH "PCP ENVIRONMENT" | ||
Environment variables with the prefix | ||
.B PCP_ | ||
are used to configure the file and directory names | ||
used by PCP. | ||
On each installation, the file | ||
.I /etc/pcp.conf | ||
contains the local values for these variables. | ||
The | ||
.B $PCP_CONF | ||
variable may be used to specify an alternative | ||
configuration file, | ||
as described in | ||
.BR pcp.conf (5). | ||
.SH SEE ALSO | ||
.BR PCPIntro (1), | ||
.BR pcp-atop (1), | ||
.BR pmcd (1), | ||
.BR pmlogger (1), | ||
.BR pcp.conf (5) | ||
and | ||
.BR pcp.env (5). | ||
|
||
.\" control lines for scripts/man-spell | ||
.\" +ok+ DRM gpu amdgpu GCN |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
help.dir | ||
help.pag | ||
domain.h | ||
pmdaamd | ||
pmda_amd.so | ||
pmda_amd.dll | ||
pmda_amd.dylib |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# | ||
# Copyright (c) 2014-2015,2020 Red Hat. | ||
# | ||
# This program is free software; you can redistribute it and/or modify it | ||
# under the terms of the GNU General Public License as published by the | ||
# Free Software Foundation; either version 2 of the License, or (at your | ||
# option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, but | ||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
# for more details. | ||
# | ||
|
||
TOPDIR = ../../.. | ||
include $(TOPDIR)/src/include/builddefs | ||
|
||
IAM = amdgpu | ||
DOMAIN = AMDGPU | ||
|
||
CMDTARGET = pmdaamd$(EXECSUFFIX) | ||
LIBTARGET = pmda_amd.$(DSOSUFFIX) | ||
CFILES = localdrm.c amdgpu.c | ||
HFILES = localdrm.h | ||
DFILES = README | ||
LLDLIBS = $(PCP_PMDALIB) $(LIB_FOR_DLOPEN) -ldrm -ldrm_amdgpu | ||
LCFLAGS += -DDSOSUFFIX=\"$(DSOSUFFIX)\" -I/usr/include/drm | ||
LDIRT = domain.h *.log *.dir *.pag so_locations | ||
|
||
PMDAADMDIR = $(PCP_PMDASADM_DIR)/$(IAM) | ||
PMDATMPDIR = $(PCP_PMDAS_DIR)/$(IAM) | ||
|
||
default: $(LIBTARGET) $(CMDTARGET) | ||
|
||
include $(BUILDRULES) | ||
|
||
install: default | ||
$(INSTALL) -m 755 -d $(PMDAADMDIR) | ||
$(INSTALL) -m 755 -d $(PMDATMPDIR) | ||
$(INSTALL) -m 755 -t $(PMDATMPDIR) Install Remove $(PMDAADMDIR) | ||
$(INSTALL) -m 755 -t $(PMDATMPDIR) $(LIBTARGET) $(CMDTARGET) $(PMDAADMDIR) | ||
$(INSTALL) -m 644 -t $(PMDATMPDIR) $(DFILES) root help pmns domain.h $(PMDAADMDIR) | ||
|
||
$(OBJECTS): domain.h | ||
|
||
domain.h: ../../pmns/stdpmid | ||
$(DOMAIN_MAKERULE) | ||
|
||
default_pcp: default | ||
|
||
install_pcp: install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#! /bin/sh | ||
# | ||
# Copyright (c) 2024 Red Hat. | ||
# | ||
# This program is free software; you can redistribute it and/or modify it | ||
# under the terms of the GNU General Public License as published by the | ||
# Free Software Foundation; either version 2 of the License, or (at your | ||
# option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, but | ||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
# for more details. | ||
# | ||
# Install the trivial PMDA and/or PMNS | ||
# | ||
|
||
. $PCP_DIR/etc/pcp.env | ||
. $PCP_SHARE_DIR/lib/pmdaproc.sh | ||
|
||
iam=amdgpu | ||
dso_opt=true | ||
|
||
pmdaSetup | ||
pmdaInstall | ||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Readme | ||
AMD GPU PMDA | ||
=========== | ||
|
||
The AMD GPU PMDA is a PCP module for gathering metrics on the performance of | ||
AMD graphics cards. It uses the libdrm to query the states of attached cards. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#! /bin/sh | ||
# | ||
# Copyright (c) 2024 Red Hat. | ||
# | ||
# This program is free software; you can redistribute it and/or modify it | ||
# under the terms of the GNU General Public License as published by the | ||
# Free Software Foundation; either version 2 of the License, or (at your | ||
# option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, but | ||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
# for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License along | ||
# with this program; if not, write to the Free Software Foundation, Inc., | ||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
# | ||
# Remove the amd PMDA | ||
# | ||
|
||
# source the PCP configuration environment variables | ||
. $PCP_DIR/etc/pcp.env | ||
|
||
# Get the common procedures and variable assignments | ||
# | ||
. $PCP_SHARE_DIR/lib/pmdaproc.sh | ||
|
||
# The name of the PMDA | ||
# | ||
iam=amdgpu | ||
|
||
# Do it | ||
# | ||
pmdaSetup | ||
pmdaRemove | ||
|
||
exit |
Oops, something went wrong.