|
| 1 | +#!/bin/bash |
1 | 2 | # Copyright 2019 Google LLC. All Rights Reserved. |
2 | 3 | # |
3 | 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
|
12 | 13 | # See the License for the specific language governing permissions and |
13 | 14 | # limitations under the License. |
14 | 15 |
|
15 | | -#!/bin/bash |
16 | | - |
17 | 16 | # This file provides an alternate method for building tests in this directory. |
18 | 17 | # Prefer using the Makefile (e.g. `make -C tests/`) if possible. |
19 | 18 |
|
20 | 19 | path_to_include=googletest/googletest/include |
21 | 20 | path_to_lib=googletest/googletest/make/lib |
22 | 21 |
|
23 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o bitstring_test.x bitstring_test.cc -lgtest -lpthread |
24 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o channel_test.x channel_test.cc -lgtest -lpthread |
25 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o channels_cirq_test.x channels_cirq_test.cc -lgtest -lpthread |
26 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o circuit_qsim_parser_test.x circuit_qsim_parser_test.cc -lgtest -lpthread |
27 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o expect_nobmi2_test.x expect_test.cc -lgtest -lpthread |
28 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -mbmi2 -fopenmp -o expect_test.x expect_test.cc -lgtest -lpthread |
29 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o fuser_basic_test.x fuser_basic_test.cc -lgtest -lpthread |
30 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o fuser_mqubit_test.x fuser_mqubit_test.cc -lgtest -lpthread |
31 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o gates_qsim_test.x gates_qsim_test.cc -lgtest -lpthread |
32 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o hybrid_avx_test.x hybrid_avx_test.cc -lgtest -lpthread |
33 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o matrix_test.x matrix_test.cc -lgtest -lpthread |
34 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o qtrajectory_avx_nobmi2_test.x qtrajectory_avx_test.cc -lgtest -lpthread |
35 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -mbmi2 -o qtrajectory_avx_test.x qtrajectory_avx_test.cc -lgtest -lpthread |
36 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o run_qsim_test.x run_qsim_test.cc -lgtest -lpthread |
37 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o run_qsimh_test.x run_qsimh_test.cc -lgtest -lpthread |
38 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o simulator_avx_nobmi2_test.x simulator_avx_test.cc -lgtest -lpthread |
39 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -mbmi2 -fopenmp -o simulator_avx_test.x simulator_avx_test.cc -lgtest -lpthread |
40 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx512f -mbmi2 -fopenmp -o simulator_avx512_test.x simulator_avx512_test.cc -lgtest -lpthread |
41 | | -g++ -O3 -I$path_to_include -L$path_to_lib -fopenmp -o simulator_basic_test.x simulator_basic_test.cc -lgtest -lpthread |
42 | | -g++ -O3 -I$path_to_include -L$path_to_lib -msse4 -fopenmp -o simulator_sse_test.x simulator_sse_test.cc -lgtest -lpthread |
43 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o statespace_avx_test.x statespace_avx_test.cc -lgtest -lpthread |
44 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx512f -mbmi2 -fopenmp -o statespace_avx512_test.x statespace_avx512_test.cc -lgtest -lpthread |
45 | | -g++ -O3 -I$path_to_include -L$path_to_lib -fopenmp -o statespace_basic_test.x statespace_basic_test.cc -lgtest -lpthread |
46 | | -g++ -O3 -I$path_to_include -L$path_to_lib -msse4 -fopenmp -o statespace_sse_test.x statespace_sse_test.cc -lgtest -lpthread |
47 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o unitary_calculator_avx_nobmi2_test.x unitary_calculator_avx_test.cc -lgtest -lpthread |
48 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -mbmi2 -fopenmp -o unitary_calculator_avx_test.x unitary_calculator_avx_test.cc -lgtest -lpthread |
49 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx512f -mbmi2 -mfma -fopenmp -o unitary_calculator_avx512_test.x unitary_calculator_avx512_test.cc -lgtest -lpthread |
50 | | -g++ -O3 -I$path_to_include -L$path_to_lib -fopenmp -o unitary_calculator_basic_test.x unitary_calculator_basic_test.cc -lgtest -lpthread |
51 | | -g++ -O3 -I$path_to_include -L$path_to_lib -msse4 -fopenmp -o unitary_calculator_sse_test.x unitary_calculator_sse_test.cc -lgtest -lpthread |
52 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx2 -mfma -fopenmp -o unitaryspace_avx_test.x unitaryspace_avx_test.cc -lgtest -lpthread |
53 | | -g++ -O3 -I$path_to_include -L$path_to_lib -mavx512f -mbmi2 -fopenmp -o unitaryspace_avx512_test.x unitaryspace_avx512_test.cc -lgtest -lpthread |
54 | | -g++ -O3 -I$path_to_include -L$path_to_lib -fopenmp -o unitaryspace_basic_test.x unitaryspace_basic_test.cc -lgtest -lpthread |
55 | | -g++ -O3 -I$path_to_include -L$path_to_lib -msse4 -fopenmp -o unitaryspace_sse_test.x unitaryspace_sse_test.cc -lgtest -lpthread |
56 | | -g++ -O3 -I$path_to_include -L$path_to_lib -o vectorspace_test.x vectorspace_test.cc -lgtest -lpthread |
| 22 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o bitstring_test.x bitstring_test.cc -lgtest -lpthread |
| 23 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o channel_test.x channel_test.cc -lgtest -lpthread |
| 24 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o channels_cirq_test.x channels_cirq_test.cc -lgtest -lpthread |
| 25 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o circuit_qsim_parser_test.x circuit_qsim_parser_test.cc -lgtest -lpthread |
| 26 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o expect_nobmi2_test.x expect_test.cc -lgtest -lpthread |
| 27 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -mbmi2 -fopenmp -o expect_test.x expect_test.cc -lgtest -lpthread |
| 28 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o fuser_basic_test.x fuser_basic_test.cc -lgtest -lpthread |
| 29 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o fuser_mqubit_test.x fuser_mqubit_test.cc -lgtest -lpthread |
| 30 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o gates_qsim_test.x gates_qsim_test.cc -lgtest -lpthread |
| 31 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o hybrid_avx_test.x hybrid_avx_test.cc -lgtest -lpthread |
| 32 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o matrix_test.x matrix_test.cc -lgtest -lpthread |
| 33 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o qtrajectory_avx_nobmi2_test.x qtrajectory_avx_test.cc -lgtest -lpthread |
| 34 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -mbmi2 -o qtrajectory_avx_test.x qtrajectory_avx_test.cc -lgtest -lpthread |
| 35 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o run_qsim_test.x run_qsim_test.cc -lgtest -lpthread |
| 36 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o run_qsimh_test.x run_qsimh_test.cc -lgtest -lpthread |
| 37 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o simulator_avx_nobmi2_test.x simulator_avx_test.cc -lgtest -lpthread |
| 38 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -mbmi2 -fopenmp -o simulator_avx_test.x simulator_avx_test.cc -lgtest -lpthread |
| 39 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx512f -mbmi2 -fopenmp -o simulator_avx512_test.x simulator_avx512_test.cc -lgtest -lpthread |
| 40 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -fopenmp -o simulator_basic_test.x simulator_basic_test.cc -lgtest -lpthread |
| 41 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -msse4 -fopenmp -o simulator_sse_test.x simulator_sse_test.cc -lgtest -lpthread |
| 42 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o statespace_avx_test.x statespace_avx_test.cc -lgtest -lpthread |
| 43 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx512f -mbmi2 -fopenmp -o statespace_avx512_test.x statespace_avx512_test.cc -lgtest -lpthread |
| 44 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -fopenmp -o statespace_basic_test.x statespace_basic_test.cc -lgtest -lpthread |
| 45 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -msse4 -fopenmp -o statespace_sse_test.x statespace_sse_test.cc -lgtest -lpthread |
| 46 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o unitary_calculator_avx_nobmi2_test.x unitary_calculator_avx_test.cc -lgtest -lpthread |
| 47 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -mbmi2 -fopenmp -o unitary_calculator_avx_test.x unitary_calculator_avx_test.cc -lgtest -lpthread |
| 48 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx512f -mbmi2 -mfma -fopenmp -o unitary_calculator_avx512_test.x unitary_calculator_avx512_test.cc -lgtest -lpthread |
| 49 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -fopenmp -o unitary_calculator_basic_test.x unitary_calculator_basic_test.cc -lgtest -lpthread |
| 50 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -msse4 -fopenmp -o unitary_calculator_sse_test.x unitary_calculator_sse_test.cc -lgtest -lpthread |
| 51 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx2 -mfma -fopenmp -o unitaryspace_avx_test.x unitaryspace_avx_test.cc -lgtest -lpthread |
| 52 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -mavx512f -mbmi2 -fopenmp -o unitaryspace_avx512_test.x unitaryspace_avx512_test.cc -lgtest -lpthread |
| 53 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -fopenmp -o unitaryspace_basic_test.x unitaryspace_basic_test.cc -lgtest -lpthread |
| 54 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -msse4 -fopenmp -o unitaryspace_sse_test.x unitaryspace_sse_test.cc -lgtest -lpthread |
| 55 | +g++ -O3 -I"$path_to_include" -L"$path_to_lib" -o vectorspace_test.x vectorspace_test.cc -lgtest -lpthread |
57 | 56 |
|
58 | 57 | if command -v nvcc &>/dev/null; then |
59 | | - nvcc -O3 -I$path_to_include -L$path_to_lib -o hybrid_cuda_test.x hybrid_cuda_test.cu -lgtest -lpthread |
60 | | - nvcc -O3 -I$path_to_include -L$path_to_lib -o qtrajectory_cuda_test.x qtrajectory_cuda_test.cu -lgtest -lpthread |
61 | | - nvcc -O3 -I$path_to_include -L$path_to_lib -o simulator_cuda_test.x simulator_cuda_test.cu -lgtest -lpthread |
62 | | - nvcc -O3 -I$path_to_include -L$path_to_lib -o statespace_cuda_test.x statespace_cuda_test.cu -lgtest -lpthread |
| 58 | + nvcc -O3 -I"$path_to_include" -L"$path_to_lib" -o hybrid_cuda_test.x hybrid_cuda_test.cu -lgtest -lpthread |
| 59 | + nvcc -O3 -I"$path_to_include" -L"$path_to_lib" -o qtrajectory_cuda_test.x qtrajectory_cuda_test.cu -lgtest -lpthread |
| 60 | + nvcc -O3 -I"$path_to_include" -L"$path_to_lib" -o simulator_cuda_test.x simulator_cuda_test.cu -lgtest -lpthread |
| 61 | + nvcc -O3 -I"$path_to_include" -L"$path_to_lib" -o statespace_cuda_test.x statespace_cuda_test.cu -lgtest -lpthread |
63 | 62 |
|
64 | 63 | if [ -n "$CUQUANTUM_ROOT" ]; then |
65 | | - CUSTATEVECFLAGS="-I${CUQUANTUM_ROOT}/include -L${CUQUANTUM_ROOT}/lib -L${CUQUANTUM_ROOT}/lib64 -lcustatevec -lcublas" |
66 | | - nvcc -O3 $CUSTATEVECFLAGS -I$path_to_include -L$path_to_lib -o hybrid_custatevec_test.x hybrid_custatevec_test.cu -lgtest -lpthread |
67 | | - nvcc -O3 $CUSTATEVECFLAGS -I$path_to_include -L$path_to_lib -o qtrajectory_custatevec_test.x qtrajectory_custatevec_test.cu -lgtest -lpthread |
68 | | - nvcc -O3 $CUSTATEVECFLAGS -I$path_to_include -L$path_to_lib -o simulator_custatevec_test.x simulator_custatevec_test.cu -lgtest -lpthread |
69 | | - nvcc -O3 $CUSTATEVECFLAGS -I$path_to_include -L$path_to_lib -o statespace_custatevec_test.x statespace_custatevec_test.cu -lgtest -lpthread |
| 64 | + declare -a CUSTATEVECFLAGS |
| 65 | + CUSTATEVECFLAGS=( |
| 66 | + "-I${CUQUANTUM_ROOT}/include" |
| 67 | + "-L${CUQUANTUM_ROOT}/lib" |
| 68 | + "-L${CUQUANTUM_ROOT}/lib64" |
| 69 | + "-lcustatevec" |
| 70 | + "-lcublas" |
| 71 | + ) |
| 72 | + nvcc -O3 "${CUSTATEVECFLAGS[@]}" -I"$path_to_include" -L"$path_to_lib" -o hybrid_custatevec_test.x hybrid_custatevec_test.cu -lgtest -lpthread |
| 73 | + nvcc -O3 "${CUSTATEVECFLAGS[@]}" -I"$path_to_include" -L"$path_to_lib" -o qtrajectory_custatevec_test.x qtrajectory_custatevec_test.cu -lgtest -lpthread |
| 74 | + nvcc -O3 "${CUSTATEVECFLAGS[@]}" -I"$path_to_include" -L"$path_to_lib" -o simulator_custatevec_test.x simulator_custatevec_test.cu -lgtest -lpthread |
| 75 | + nvcc -O3 "${CUSTATEVECFLAGS[@]}" -I"$path_to_include" -L"$path_to_lib" -o statespace_custatevec_test.x statespace_custatevec_test.cu -lgtest -lpthread |
70 | 76 | fi |
71 | 77 | elif command -v hipcc &>/dev/null; then |
72 | | - hipcc -O3 -I$path_to_include -L$path_to_lib -o hybrid_hip_test.x hybrid_cuda_test.cu -lgtest -lpthread |
73 | | - hipcc -O3 -I$path_to_include -L$path_to_lib -o qtrajectory_hip_test.x qtrajectory_cuda_test.cu -lgtest -lpthread |
74 | | - hipcc -O3 -I$path_to_include -L$path_to_lib -o simulator_hip_test.x simulator_cuda_test.cu -lgtest -lpthread |
75 | | - hipcc -O3 -I$path_to_include -L$path_to_lib -o statespace_hip_test.x statespace_cuda_test.cu -lgtest -lpthread |
| 78 | + hipcc -O3 -I"$path_to_include" -L"$path_to_lib" -o hybrid_hip_test.x hybrid_cuda_test.cu -lgtest -lpthread |
| 79 | + hipcc -O3 -I"$path_to_include" -L"$path_to_lib" -o qtrajectory_hip_test.x qtrajectory_cuda_test.cu -lgtest -lpthread |
| 80 | + hipcc -O3 -I"$path_to_include" -L"$path_to_lib" -o simulator_hip_test.x simulator_cuda_test.cu -lgtest -lpthread |
| 81 | + hipcc -O3 -I"$path_to_include" -L"$path_to_lib" -o statespace_hip_test.x statespace_cuda_test.cu -lgtest -lpthread |
76 | 82 | fi |
0 commit comments