Install Guide
This documentation covers how to use pre-built Linux OS packages to install
GEOPM for all users of a system, either using the latest stable release of GEOPM
or a development snapshot. The stable release packages are created as part of
the Git repository tag/release process. The development snapshot packages are
built by GEOPM’s GitHub CI process each time the dev
branch is updated.
GEOPM works with Intel GPUs when GEOPM is built with LevelZero support and NVIDIA GPUs when GEOPM is built with NVML support. Additional limited support for GPUs exists when the GPUs are visible in a Linux Direct Rendering Manager (DRM) sysfs interface. The Linux DRM interface is implemented for Intel GPUs. In the table below, “Intel GPU support” packages provide only the DRM interfaces and “Expanded Intel GPU support” packages also provide the LevelZero interfaces.
Install Latest Stable Release
Install packages from the latest stable release of GEOPM. These packages have been upstreamed into Fedora 42 and the openSUSE Hardware repository, and where applicable these distributions are recommended. For other scenarios, packages are published by the GEOPM development team on the main openSUSE Build System instance and through the Ubuntu Launchpad package build service.
GEOPM Access Service - Stable
Instructions on how to install the latest official release of the GEOPM
Access Service and its dependency packages are broken down by OS and OS
version. Note: the commands in this table should be run with sudo
or as
the root
user.
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/SLE_15_SP3_Backports/hardware.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.3/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/SLE_15_SP4/hardware.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.4/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/15.5/hardware.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.5/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/15.6/hardware.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.6/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/openSUSE_Tumbleweed/hardware.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/openSUSE_Tumbleweed/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Access Service python module
zypper install python3-geopmdpy
# SystemD service configuration and geopmd executable
zypper install geopmd
# C/C++ development files
zypper install libgeopmd-devel
# Man pages for GEOPM Access Service
zypper install geopmd-doc
# Man pages for C/C++ development
zypper install libgeopmd-doc
The GEOPM packages are native in Fedora but man pages are not published in the distribution. The man pages are published online, please see online documentation for the latest release.
# GEOPM Access Service python module
dnf install python3-geopmdpy
# SystemD service configuration and geopmd executable
dnf install geopmd
# C/C++ development files
dnf install libgeopmd-devel
# GEOPM Access Service python module
dnf install python3-geopmdpy
# SystemD service configuration and geopmd executable
dnf install geopmd
# C/C++ development files
dnf install libgeopmd-devel
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:/geopm:/release/CentOS_CentOS-9_Stream/home:geopm:release.repo
popd
# GEOPM Access Service python module
dnf install python3-geopmdpy
# SystemD service configuration and geopmd executable
dnf install geopmd
# C/C++ development files
dnf install libgeopmd-devel
# Man pages for GEOPM Access Service
dnf install geopmd-doc
# Man pages for C/C++ development
dnf install libgeopmd-doc
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:geopm:release:supplementary/CentOS_CentOS-9_Stream/home:geopm:release:supplementary.repo
popd
# GEOPM Access Service python module
dnf install python3-geopmdpy
# SystemD service configuration and geopmd executable
dnf install geopmd
# C/C++ development files
dnf install libgeopmd-devel
# Man pages for GEOPM Access Service
dnf install geopmd-doc
# Man pages for C/C++ development
dnf install libgeopmd-doc
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:/geopm:/release/RockyLinux_9_standard/home:geopm:release.repo
popd
# GEOPM Access Service python module
dnf install python3-geopmdpy
# SystemD service configuration and geopmd executable
dnf install geopmd
# C/C++ development files
dnf install libgeopmd-devel
# Man pages for GEOPM Access Service
dnf install geopmd-doc
# Man pages for C/C++ development
dnf install libgeopmd-doc
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:geopm:release:supplementary/RockyLinux_9_standard/home:geopm:release:supplementary.repo
popd
# GEOPM Access Service python module
dnf install python3-geopmdpy
# SystemD service configuration and geopmd executable
dnf install geopmd
# C/C++ development files
dnf install libgeopmd-devel
# Man pages for GEOPM Access Service
dnf install geopmd-doc
# Man pages for C/C++ development
dnf install libgeopmd-doc
# Add Launchpad PPA
add-apt-repository ppa:geopm/release
apt update
# GEOPM Access Service python module
apt install python3-geopmdpy
# SystemD service configuration and geopmd executable
apt install geopmd
# C/C++ development files
apt install libgeopmd-devel
# Man pages for GEOPM Access Service
apt install geopmd-doc
# Man pages for C/C++ development
apt install libgeopmd-doc
GEOPM Runtime Service - Stable
Instructions on how to install the latest official release of the GEOPM
Runtime Service and its dependency packages are broken down by OS and
OS version. Note: the commands in this table should be run with sudo
or as
the root
user.
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/SLE_15_SP3_Backports/hardware.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.3/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/SLE_15_SP4/hardware.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.4/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/15.5/hardware.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.5/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/15.6/hardware.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/15.6/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/hardware/openSUSE_Tumbleweed/hardware.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
# Add zypper repo
zypper addrepo https://download.opensuse.org/repositories/home:geopm:release:supplementary/openSUSE_Tumbleweed/home:geopm:release:supplementary.repo
zypper refresh
# GEOPM Runtime Command Line Interface
zypper install geopm-cli
# GEOPM Runtime Agent development files
zypper install libgeopm-devel
# GEOPM Runtime post-processing scripts
zypper install python3-geopmpy
# Man pages for GEOPM Runtime Service
zypper install geopm-doc
# Man pages for C/C++ development
zypper install libgeopm-doc
GEOPM packages are native in Fedora but man pages are not published in the distribution. The man pages are published online, please see online documentation for the latest release.
The python3-geopmpy
package is also not distributed with
Fedora, but may be installed on a per-user basis using pip
:
# Some features of geompy require libgeopm
sudo dnf install libgeopm
# Use pip for single user installs only
python3 -m pip install --user geopmpy
# GEOPM Runtime Command Line Interface
dnf install geopm-cli
# GEOPM Runtime Agent development files
dnf install libgeopm-devel
# GEOPM Runtime Command Line Interface
dnf install geopm-cli
# GEOPM Runtime Agent development files
dnf install libgeopm-devel
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:/geopm:/release/CentOS_CentOS-9_Stream/home:geopm:release.repo
popd
# GEOPM Runtime Command Line Interface
dnf install geopm-cli
# GEOPM Runtime Agent development files
dnf install libgeopm-devel
# GEOPM Runtime post-processing scripts
dnf install python3-geopmpy
# Man pages for GEOPM Runtime Service
dnf install geopm-doc
# Man pages for C/C++ development
dnf install libgeopm-doc
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:geopm:release:supplementary/CentOS_CentOS-9_Stream/home:geopm:release:supplementary.repo
popd
# GEOPM Runtime Command Line Interface
dnf install geopm-cli
# GEOPM Runtime Agent development files
dnf install libgeopm-devel
# GEOPM Runtime post-processing scripts
dnf install python3-geopmpy
# Man pages for GEOPM Runtime Service
dnf install geopm-doc
# Man pages for C/C++ development
dnf install libgeopm-doc
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:/geopm:/release/RockyLinux_9_standard/home:geopm:release.repo
popd
# GEOPM Runtime Command Line Interface
dnf install geopm-cli
# GEOPM Runtime Agent development files
dnf install libgeopm-devel
# GEOPM Runtime post-processing scripts
dnf install python3-geopmpy
# Man pages for GEOPM Runtime Service
dnf install geopm-doc
# Man pages for C/C++ development
dnf install libgeopm-doc
# Add yum repo
pushd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/home:geopm:release:supplementary/RockyLinux_9_standard/home:geopm:release:supplementary.repo
popd
# GEOPM Runtime Command Line Interface
dnf install geopm-cli
# GEOPM Runtime Agent development files
dnf install libgeopm-devel
# GEOPM Runtime post-processing scripts
dnf install python3-geopmpy
# Man pages for GEOPM Runtime Service
dnf install geopm-doc
# Man pages for C/C++ development
dnf install libgeopm-doc
# Add Launchpad PPA
add-apt-repository ppa:geopm/release
apt update
# GEOPM Runtime Command Line Interface
apt install geopm-cli
# GEOPM Runtime Agent development files
apt install libgeopm-devel
# GEOPM Runtime post-processing scripts
apt install python3-geopmpy
# Man pages for GEOPM Runtime Service
apt install geopm-doc
# Man pages for C/C++ development
apt install libgeopm-doc
Enable the GEOPM Access Service
Installing the geopmd
package is the first step to enabling the GEOPM Access
Service. Unprivileged users will be unable to use the service until the access
lists have been configured by an administrator.
To guarantee that the GEOPM Access Service is up and will be enabled on reboot run the following commands:
sudo systemctl enable geopm
sudo systemctl start geopm
For full details about the GEOPM SystemD service see the administrator guide.
The geopmaccess(1) command line tool is used to configure the access lists. The linked manual page provides detailed documentation about how to set the access lists. A few examples are provided here as well.
To grant permissions to all non-root users to be able to use all of the features provided by the Service, execute the following commands:
geopmaccess -a | sudo geopmaccess -w
geopmaccess -a -c | sudo geopmaccess -w -c
These commands will create access lists in the system location that the Service will use to determine user privilege.
An administrator may use the --log
(-l
) option of geopmaccess
to
restrict an access list to the set of values that have been used since last
restart by piping the output into geopmaccess -w
:
geopmaccess -l | sudo geopmaccess -w
geopmaccess -l -c | sudo geopmaccess -w -c
Guides for Specialized Install
There are other installation scenarios that are not covered on this page which may be preferred in certain circumstances. See links below to supporting documentation if these situations apply to you.
Install latest development snapshot
See the dev snapshot install guide for instructions on
how to install packages built by GitHub CI based on the latest commit to the
dev
branch.
Some typical scenrios for installing development packages:
Try out new features of GEOPM and give feedback to the developers about your experience
Run integration testing against the latest implementation
Packaging local changes
See the build guide to create Linux OS packages for changes you have made locally to the GEOPM source code or build configuration. This more involved process should be followed if you would like to build packages that differ from the ones maintained by the GEOPM team.
Some typical scenarios for packaging local changes:
Installing GEOPM on an OS or OS version that is not supported by published packages, e.g. Debian
Configuring a GEOPM C++ library with options not supported by published packages, e.g. NVML support on openSUSE
Creating Docker containers that provide the GEOPM software with specific features enabled
Changing dependency software libraries e.g. enabling MPICH for MPI support
Deploying on a non-x86_64 architecture, e.g. packaging for aarch64
Installing for a single user
See the developer guide to build and install a version of GEOPM for your user, rather than system-wide. Note that many important features of the GEOPM software are not available without the GEOPM Access Service which requires administrative privileges to install and configure.
Some typical scenarios for installing for a single user:
Unit testing changes to the source code in a developer workflow
Using new client-side GEOPM features on a system where you do not have administrative privileges
Installing geopmpy Python module on systems without OS package support for dependencies
Installing using Spack
See the Spack guide for details on how to use the Spack Package Manager to build and install the GEOPM software. This can aid in resolving dependencies and installing multiple versions of software using the lmod system. Spack is a common solution for HPC centers to manage their software stack and dependencies.
Some typical scenarios for installing with Spack:
System administrator of a system that already relies on Spack to package other software.
A user trying to build GEOPM from source on a system without administrative permissions. Without root, the user cannot rely on the OS package manager to provide GEOPM build and runtime requirements, and Spack may be used to resolve these dependencies.