AOCL-Utils is a utility library. “Benchmarking” here means validating that utility functions work correctly on your system.
Build examples with AU_BUILD_EXAMPLES=ON to validate functionality:
$ cmake -B build -DAU_BUILD_EXAMPLES=ON -G Ninja
$ cmake --build build --config Release
The compiled binaries are placed in the build/Release/ or build/release/ folder.
Validation Categories:
CPU Detection Accuracy: - Run cpuid examples to validate correct AMD Zen family detection - Verify feature flag detection (AVX2, AVX512, etc.) - Test on different Zen generations (Zen1-Zen5)
Thread Pinning Effectiveness: - Run thread pinning examples with different strategies - Verify affinity masks are correctly set - Test CORE, LOGICAL, SPREAD, CUSTOM pinning strategies - Monitor thread placement using OS tools (taskset, hwloc-bind)
Logger Functionality: - Run logger examples to validate thread-safe logging - Test different log levels - Verify log output correctness
Integration Validation: - Build and run SDK/Examples - Verify out-of-tree compilation works - Test integration with sample applications
Refer to the SDK/Examples folder Readme.md for details on out-of-tree compilation.