From 118af6c074fb92527207a418272d93d48a21cd88 Mon Sep 17 00:00:00 2001 From: Ruobing Han Date: Sun, 25 Sep 2022 12:35:49 -0400 Subject: [PATCH] add Hetero-mark into CTest --- .github/workflows/build.yml | 102 ++---------------------------------- tests/CMakeLists.txt | 12 ++++- tests/runHeteroMark.sh | 41 ++++++++++++++- 3 files changed, 52 insertions(+), 103 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d28d0cc..67a8a95 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,11 +41,6 @@ jobs: run: | cd ${{ github.workspace }} git clone https://github.com/drcut/SC_evaluate - - name: Download data used to verify - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox - wget https://www.dropbox.com/s/ie2hcxw9lfoghg8/data.tar.gz?dl=1 - tar -xzf 'data.tar.gz?dl=1' - name: Execute the static shared memory demo run: | cd ${{ github.workspace }}/examples/sharedMemory @@ -70,101 +65,10 @@ jobs: llc --relocation-model=pic --filetype=obj host.bc g++ -o reverse -fPIC -no-pie -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool host.o kernel.o -lc -lx86Runtime -lthreadPool -lpthread ./reverse - - name: Execute the AES example + - name: Execute Hetero-mark benchmark run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/aes - clang++ -std=c++11 cuda/aes_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator aes_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator aes_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o aes -fPIC -no-pie -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./aes -i ../../data/aes/1KB.data -k ../../data/aes/key.data -q -v - - name: Execute the BS example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/bs - clang++ -std=c++11 cuda/bs_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator bs_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator bs_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o bs -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./bs -x 16777216 -q -t --chunk 512 -v - - name: Execute the EP example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/ep - clang++ -std=c++11 cuda/ep_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator ep_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator ep_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o ep -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./ep -q -v - - name: Execute the FIR example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/fir - clang++ -std=c++11 cuda/fir_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator fir_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator fir_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o fir -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./fir -q -v - - name: Execute the GA example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/ga - clang++ -std=c++11 cuda/ga_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator ga_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator ga_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o ga -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - - name: Execute the HIST example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/hist - clang++ -std=c++11 cuda/hist_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator hist_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator hist_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o hist -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./hist -q -v - - name: Execute the KMeans example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/kmeans - clang++ -std=c++11 cuda/kmeans_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator kmeans_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator kmeans_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o kmeans -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./kmeans -i ../../data/kmeans/100_34.txt -q -v - - name: Execute the PR example - run: | - cd ${{ github.workspace }}/SC_evaluate/Hetero-cox/src/pr - clang++ -std=c++11 cuda/pr_cuda_benchmark.cu -I../.. --cuda-path=${{ github.workspace }}/cuda-10.1 --cuda-gpu-arch=sm_50 -L${{ github.workspace }}/cuda-10.1/lib64 -lcudart_static -ldl -lrt -pthread -save-temps -v || true - export LD_LIBRARY_PATH=${{ github.workspace }}/build/runtime:${{ github.workspace }}/build/runtime/threadPool:$LD_LIBRARY_PATH - export PATH=${{ github.workspace }}/build/compilation:$PATH - kernelTranslator pr_cuda_benchmark-cuda-nvptx64-nvidia-cuda-sm_50.bc kernel.bc - hostTranslator pr_cuda_benchmark-host-x86_64-unknown-linux-gnu.bc host.bc - llc --relocation-model=pic --filetype=obj kernel.bc - llc --relocation-model=pic --filetype=obj host.bc - g++ -o pr -fPIC -no-pie -I${{ github.workspace }}/runtime/threadPool/include -I${{ github.workspace }}/cuda-10.1/include -L${{ github.workspace }}/build/runtime -L${{ github.workspace }}/build/runtime/threadPool cuda/main.cc host.o kernel.o *.cc ../common/benchmark/*.cc ../common/command_line_option/*.cc ../common/time_measurement/*.cc -I../.. -lpthread -lc -lx86Runtime -lthreadPool - ./pr -i ../../data/pr/8192.data -q -v + cd ${{ github.workspace }}/build + make test - name: Execute the lavaMD example run: | cd ${{ github.workspace }}/SC_evaluate/rodinia-cox/lavaMD diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9737d7e..2349e95 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,5 +1,13 @@ -set(TESTCASES aes) -foreach(case ${TESTCASES}) +set(TESTCASES + aes + bs + ep + fir + ga + hist + kmeans + pr) +foreach(case IN LISTS TESTCASES) message(STATUS "Add test: ${case}") message(STATUS "${CMAKE_CURRENT_SOURCE_DIR}") diff --git a/tests/runHeteroMark.sh b/tests/runHeteroMark.sh index 8c5af9f..84e9992 100644 --- a/tests/runHeteroMark.sh +++ b/tests/runHeteroMark.sh @@ -28,5 +28,42 @@ g++ -o $1 -fPIC -no-pie \ $HeteroMark_PATH/src/$1/cuda/main.cc host.o kernel.o $HeteroMark_PATH/src/$1/*.cc $HeteroMark_PATH/src/common/benchmark/*.cc \ $HeteroMark_PATH/src/common/command_line_option/*.cc $HeteroMark_PATH/src/common/time_measurement/*.cc \ -L$CuPBoP_BUILD_PATH/runtime -L$CuPBoP_BUILD_PATH/runtime/threadPool \ - -I$HeteroMark_PATH -lpthread -lc -lx86Runtime -lthreadPool -./$1 -i $DATASET_PATH/aes/1KB.data -k $DATASET_PATH/aes/key.data -q -v + -I$HeteroMark_PATH -I$CUDA_PATH/include -lpthread -lc -lx86Runtime -lthreadPool + +case $1 in + aes) + ./$1 -i $DATASET_PATH/aes/1KB.data -k $DATASET_PATH/aes/key.data -q -v + ;; + + bs) + ./$1 -q -v + ;; + + ep) + ./$1 -q -v -m 10 -x 64 + ;; + + fir) + ./$1 -q -v + ;; + +# ga) +# ./$1 -q -i $DATASET_PATH/ga/1024_64.data -v +# ;; + + hist) + ./$1 -q -v + ;; + + kmeans) + ./$1 -i $DATASET_PATH/kmeans/100_34.txt -q -v + ;; + + pr) + ./$1 -i $DATASET_PATH/pr/512.data -q -v + ;; + + *) + echo -n "unknown" + ;; +esac