Initial commit.
This commit is contained in:
commit
d3bb49b3f5
1073 changed files with 484757 additions and 0 deletions
155
Framework/external/embree/scripts/run-benchmark.sh
vendored
Normal file
155
Framework/external/embree/scripts/run-benchmark.sh
vendored
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Copyright 2020 Intel Corporation
|
||||
## SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
git log -1
|
||||
|
||||
# environment for benchmark client
|
||||
source ~/benchmark_client.git/env.sh
|
||||
source ~/system_token.sh
|
||||
|
||||
# benchmark configuration
|
||||
SOURCE_ROOT=`pwd`
|
||||
PROJECT_NAME="Embree"
|
||||
|
||||
NUMACTL="numactl --physcpubind=+0-27 --"
|
||||
BENCHMARK="--benchmark 10 0 --benchmark_repetitions 11"
|
||||
THREADS="--set_affinity 1"
|
||||
|
||||
MODEL_DIR="${HOME}/embree-models"
|
||||
|
||||
export LD_LIBRARY_PATH=`pwd`/build:${LD_LIBRARY_PATH}
|
||||
|
||||
cd build
|
||||
rm -f *.json
|
||||
|
||||
BUILD_SCENES_FILE="../tutorials/models/build.bench"
|
||||
TRACE_SCENES_FILE="../tutorials/models/trace.bench"
|
||||
|
||||
RUN_BUILD_BENCHMARKS=true
|
||||
RUN_TRACE_BENCHMARKS=true
|
||||
RUN_TUT_BENCHMARKS=true
|
||||
|
||||
################################# PLEASE READ ##################################
|
||||
#
|
||||
# Note that suites and subsuites must exist in the database _before_ attempting
|
||||
# insertion of results. This is intentional! You should think carefully about
|
||||
# your [suite -> subsuite -> benchmark] hierarchy and definitions. These should
|
||||
# be stable over time (especially for suites and subsuites) to facilitate
|
||||
# long-term comparisons.
|
||||
#
|
||||
# These can be inserted using the benchmark client, through the "insert suite"
|
||||
# and "insert subsuite" commands. Ask for help if you have questions.
|
||||
#
|
||||
################################# PLEASE READ ###################################
|
||||
|
||||
initContext() {
|
||||
if [ -z "$HAVE_CONTEXT" ]; then
|
||||
HAVE_CONTEXT=1
|
||||
benny insert code_context "${PROJECT_NAME}" ${SOURCE_ROOT} --save-json code_context.json
|
||||
benny insert run_context ${TOKEN} ./code_context.json --save-json run_context.json
|
||||
fi
|
||||
}
|
||||
|
||||
####################
|
||||
# build benchmarks #
|
||||
####################
|
||||
|
||||
if ${RUN_BUILD_BENCHMARKS}; then
|
||||
SUITE_NAME="Build"
|
||||
benny insert suite ${PROJECT_NAME} ${SUITE_NAME}
|
||||
|
||||
## subsuites of build benchmarks
|
||||
subsuites="update_dynamic_deformable \
|
||||
create_dynamic_dynamic \
|
||||
create_static_static \
|
||||
create_high_quality_static_static"
|
||||
|
||||
while IFS= read -r line
|
||||
do
|
||||
IFS=' ' read -r -a array <<< "$line"
|
||||
NAME="${array[0]}"
|
||||
if [[ $NAME == '#'* ]]; then
|
||||
continue
|
||||
fi
|
||||
SCENE=${MODEL_DIR}/"${array[1]}"
|
||||
|
||||
unset "array[0]"
|
||||
unset "array[1]"
|
||||
|
||||
for i in ${subsuites}
|
||||
do
|
||||
SUBSUITE_NAME=$i
|
||||
benny insert subsuite ${PROJECT_NAME} ${SUITE_NAME} ${SUBSUITE_NAME}
|
||||
|
||||
initContext
|
||||
|
||||
echo "${NUMACTL} ./buildbench --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} --benchmark_type ${SUBSUITE_NAME} -i ${SCENE} ${array[@]} ${THREADS}"
|
||||
${NUMACTL} ./buildbench --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} --benchmark_type ${SUBSUITE_NAME} -i ${SCENE} ${array[@]} ${THREADS}
|
||||
benny insert googlebenchmark ./run_context.json ${SUITE_NAME} ${SUBSUITE_NAME} ./results-${SUITE_NAME}-${SUBSUITE_NAME}.json
|
||||
done
|
||||
done < "${BUILD_SCENES_FILE}"
|
||||
fi
|
||||
|
||||
####################
|
||||
# trace benchmarks #
|
||||
####################
|
||||
|
||||
if ${RUN_TRACE_BENCHMARKS}; then
|
||||
SUITE_NAME="Trace"
|
||||
benny insert suite ${PROJECT_NAME} ${SUITE_NAME}
|
||||
|
||||
while IFS= read -r line
|
||||
do
|
||||
IFS=' ' read -r -a array <<< "$line"
|
||||
NAME="${array[0]}"
|
||||
if [[ $NAME == '#'* ]]; then
|
||||
continue
|
||||
fi
|
||||
SCENE=${MODEL_DIR}/"${array[1]}"
|
||||
|
||||
unset "array[0]"
|
||||
unset "array[1]"
|
||||
|
||||
SUBSUITE_NAME="Viewer"
|
||||
benny insert subsuite ${PROJECT_NAME} ${SUITE_NAME} ${SUBSUITE_NAME}
|
||||
initContext
|
||||
|
||||
echo "${NUMACTL} ./viewer --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} -c ${SCENE} ${array[@]} ${THREADS} --size 256 256"
|
||||
${NUMACTL} ./viewer --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} -c ${SCENE} ${array[@]} ${THREADS}
|
||||
benny insert googlebenchmark ./run_context.json ${SUITE_NAME} ${SUBSUITE_NAME} ./results-${SUITE_NAME}-${SUBSUITE_NAME}.json
|
||||
|
||||
SUBSUITE_NAME="Pathtracer"
|
||||
benny insert subsuite ${PROJECT_NAME} ${SUITE_NAME} ${SUBSUITE_NAME}
|
||||
initContext
|
||||
|
||||
echo "${NUMACTL} ./pathtracer --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} -c ${SCENE} ${array[@]} ${THREADS} --size 256 256 --spp 32"
|
||||
${NUMACTL} ./pathtracer --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} -c ${SCENE} ${array[@]} ${THREADS}
|
||||
benny insert googlebenchmark ./run_context.json ${SUITE_NAME} ${SUBSUITE_NAME} ./results-${SUITE_NAME}-${SUBSUITE_NAME}.json
|
||||
|
||||
done < "${TRACE_SCENES_FILE}"
|
||||
|
||||
if ${RUN_TUT_BENCHMARKS}; then
|
||||
SUBSUITE_NAME="Tutorials"
|
||||
benny insert subsuite ${PROJECT_NAME} ${SUITE_NAME} ${SUBSUITE_NAME}
|
||||
initContext
|
||||
|
||||
tutorials="triangle_geometry \
|
||||
grid_geometry \
|
||||
curve_geometry \
|
||||
displacement_geometry \
|
||||
hair_geometry \
|
||||
instanced_geometry \
|
||||
intersection_filter \
|
||||
point_geometry \
|
||||
subdivision_geometry \
|
||||
user_geometry"
|
||||
|
||||
for i in ${tutorials}
|
||||
do
|
||||
${NUMACTL} ./${i} --benchmark_out=results-${SUITE_NAME}-${SUBSUITE_NAME}.json ${BENCHMARK} ${THREADS}
|
||||
benny insert googlebenchmark ./run_context.json ${SUITE_NAME} ${SUBSUITE_NAME} ./results-${SUITE_NAME}-${SUBSUITE_NAME}.json
|
||||
done
|
||||
fi
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue