-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCuPBoP_env_setup.sh
More file actions
executable file
·73 lines (59 loc) · 2.57 KB
/
Copy pathCuPBoP_env_setup.sh
File metadata and controls
executable file
·73 lines (59 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
########## USER DEFINED VARIABLES ##########
export VORTEX_ARCHITECTURE=64 #(32 or 64)
export VORTEX_SCHEDULE_FLAG=2 #(0(TM) or 1(CM) or 2(1:1 mapping, default)
export VORTEX_LOCALMEM_FLAG=1 # Switch for Vortex Localmem HW (only works for schedule=2)
#############################################
if [ -z "${TOOLDIR}" ]; then
echo "Error: TOOLDIR(Vortex Toolchain) is not defined. Please check your Vortex environment."
exit 1
fi
if [ -z "${POCL_ROOT}" ]; then
echo "Error: POCL_ROOT is not defined. Please check whether POCL is built and installed. (POCL_ROOT should have /compiler, and /runtime)"
exit 1
fi
if [ -z "${VORTEX_HOME}" ]; then
echo "Error: VORTEX_HOME is not defined. Please check whether Vortex is built and installed."
exit 1
fi
if [ -z "${LLVM_VORTEX}" ]; then
echo "Error: LLVM_VORTEX is not defined. Please check whether Vortex LLVM is built and installed."
exit 1
fi
if [ -z "${CuPBoP_PATH}" ]; then
echo "Error: CuPBoP_PATH is not defined. Please check whether CuPBoP is built and installed."
exit 1
fi
if [ -z "${VORTEX_PATH}" ]; then
echo "Error: VORTEX_PATH is not defined. Please check where vortex build are located"
exit 1
fi
# if vortex architecture is 64bit
if [ $VORTEX_ARCHITECTURE -eq 64 ]; then
export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv64-gnu-toolchain
export RISCV_TOOLCHAIN=${TOOLDIR}/riscv64-gnu-toolchain
export GNU_RISCV_ROOT=${TOOLDIR}/riscv64-gnu-toolchain
else
export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv32-gnu-toolchain
export RISCV_TOOLCHAIN=${TOOLDIR}/riscv32-gnu-toolchain
export GNU_RISCV_ROOT=${TOOLDIR}/riscv32-gnu-toolchain
fi
export VORTEX_DRIVER_INC=$VORTEX_HOME/runtime/include
export VORTEX_DRIVER_LIB=$VORTEX_HOME/runtime/stub/libvortex.so
export LLVM_PREFIX=${LLVM_VORTEX}
export LLVM_POCL=${LLVM_VORTEX}
export POCL_CC_PATH=$POCL_ROOT/compiler
export POCL_RT_PATH=$POCL_ROOT/runtime
export VERILATOR_ROOT=${TOOLDIR}/verilator
export SV2V_PATH=$TOOLDIR/sv2v
export YOSYS_PATH=$TOOLDIR/yosys
export PATH=$YOSYS_PATH/bin:$SV2V_PATH/bin:$VERILATOR_ROOT/bin:$PATH
export LD_LIBRARY_PATH=${GNU_RISCV_ROOT}:$POCL_RT_PATH/lib:$LD_LIBRARY_PATH
export POCL_LEAVE_KERNEL_COMPILER_TEMP_FILE=0
# For CuPBoP
export LLVM_PATH=${LLVM_VORTEX}
export PATH=$LLVM_PATH/bin:$PATH
export LD_LIBRARY_PATH=$CuPBoP_PATH/build/runtime:$CuPBoP_PATH/build/runtime/threadPool:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$CuPBoP_PATH/cuda-12.1/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${LLVM_VORTEX}/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=${VORTEX_PATH}/runtime/:${LD_LIBRARY_PATH}
export CUDA_PATH=$CuPBoP_PATH/cuda-12.1