This library is mostly glue, providing a framework to more easily evaluate CoPPer and compare against other controllers. It wraps various other utilities and provides a common interface for initialization and teardown, configured through environment variables. See inc/copper-eval.h for environment variables and, when relevant, valid values.
Note that these utilities only work on UNIX-like systems. Testing was performed on Linux: Ubuntu 14.04 (Trusty Tahr) and Ubuntu 16.04 (Xenial Xerus).
For details, please see the following and reference as appropriate:
This project uses pkg-config (through CMake) to locate and link with the following libraries; see each project for their transitive dependencies:
This project uses CMake.
To build, run:
mkdir _build
cd _build
cmake ..
makeTo install, run with proper privileges:
make installOn Linux, installation typically places libraries in /usr/local/lib and header files in /usr/local/include.
Install must be run before uninstalling in order to have a manifest. To uninstall, run with proper privileges:
make uninstallGet linker information (including transitive dependencies) with pkg-config:
pkg-config --libs --static copper-evalOr in your Makefile, add to your linker flags with:
$(shell pkg-config --libs --static copper-eval)You may leave off the --static option if you built shared object libraries.
Depending on your install location, you may also need to augment your compiler flags with:
pkg-config --cflags copper-evalSee the benchmarks subdirectory for the benchmark patches used in CoPPer's evaluation.
Find this and related project sources at the powercap organization on GitHub.
This project originates at: https://github.com/powercap/copper-eval
Bug reports and pull requests are welcome.