Небольшой туториал по использованию тестирующей платформы
./run_tests.py
По флагу -b можем указать желаемый бенчмарк или алгоритм (вообще, алгоритм и бенчмарк-кернел никак не отличаются, просто алгоритм - более осмысленное приложение)
Если не указать, будут собираться и впоследствии запускаться все реализованные алгоритмы и кернела. Какие? Лучше посмотреть в Makefile, в списке зависимостей целей kernels и algorithms
Для каждого кернела-алгоритма указана функция (внутри run_benchmarks), которая по разному пробегает параметры, но всё сводится к функции run_and_wait, которая, по сути, запускает баш скрипт через интерфейс библиотеки subprocess. (библиотеке, кстати, можно передать готовый баш-скрипт, например, в котором будет проставляться Vtune)
В этой же функции run_and_wait проставляется переменная окружения, отвечающая за число тредов (параметр -t при запуске)
python3 ./run_tests.py -t 32 -b gather_ker -a amd_epyc - запуск кернела gather на 32 нитях на AMD