Gaia Resource Energy and Emission Monitoring
We present a monitoring tool that is open-source, easy-to-use, and easy-to-set up for benchmarking video processing. The tool measures various hardware parameters, such as energy consumption and GPU metrics, including core and memory usage, temperature, and fan speed. Additionally, we offer scripts that generate sample analytic plots, which assist researchers in analyzing and understanding their benchmark results.
- Python
- Anaconda or Miniconda
- FFmpeg
- NVIDIA & CUDA
If all prerequisites are met, use the quick setup at the root of the project to get started.
# Creates the Python virtual envorinment with Anaconda
conda env create -f environment.yml
# Activates the Python virtual environment
# Always has to be activated!
conda activate greem
# Installs the project paths
pip install -e .
The Installation README contains the necessary steps to install all dependencies on a Linux system to run GREEM
.
The Docker Installation file contains instructions to build and run a Docker container for GREEM.
Inside the testbeds folder, testbeds are located to measure the energy impact in various scenarios.
This section contains information about some issues encountered during the creation and execution of this library.
To fully utilize a CUDA GPU, it is necessary that not only the -hwaccel cuda
flag is set, but also all other operations need to be specified to use CUDA instead of a CPU, see StackOverflow.
How to fully use CUDA, please refer to the NVIDIA documentation.
This issue is likely occurring during the multi-video encoding/decoding process with a GPU. The error states that the used GPU is 'non-qualified' and only supports a fixed amount of sessions (videos encoded at once) see StackOverflow.
The number of videos that can be encoded/decoded at once can be looked up at: GPU Support Matrix with the Max # of concurrent sessions column corresponding to the GPU.
There exists a repository to fix this restriction, but we did not test its functionality.
If the following error is encountered:
Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]
the NVIDIA Container Toolkit needs to be installed (see Installation README, section Docker).