@@ -107,6 +107,90 @@ install_ais_bench() {
107107 cd -
108108}
109109
110+ install_go () {
111+ # Check if Go is already installed
112+ if command -v go & > /dev/null; then
113+ GO_VERSION=$( go version | awk ' {print $3}' )
114+ if [[ " $GO_VERSION " == " go$GOVER " ]]; then
115+ echo -e " ${YELLOW} Go $GOVER is already installed. Skipping...${NC} "
116+ else
117+ echo -e " ${YELLOW} Found Go $GO_VERSION . Will install Go $GOVER ...${NC} "
118+ download_go
119+ fi
120+ else
121+ download_go
122+ fi
123+
124+ # Add Go to PATH if not already there
125+ if ! grep -q " export PATH=\$ PATH:/usr/local/go/bin" ~ /.bashrc; then
126+ echo -e " ${YELLOW} Adding Go to your PATH in ~/.bashrc${NC} "
127+ echo ' export PATH=$PATH:/usr/local/go/bin' >> ~ /.bashrc
128+ echo -e " ${YELLOW} Please run 'source ~/.bashrc' or start a new terminal to use Go${NC} "
129+ fi
130+ export PATH=$PATH :/usr/local/go/bin
131+ }
132+
133+ install_extra_components () {
134+ echo " ====> Installing extra components for DeepSeek-R1-W8A8"
135+
136+ mkdir -p /vllm-workspace/CANN
137+
138+ if ! wget -q https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/a3/CANN-custom_ops-sfa-linux.aarch64.run; then
139+ echo " Failed to download CANN-custom_ops-sfa-linux.aarch64.run"
140+ return 1
141+ fi
142+ chmod +x ./CANN-custom_ops-sfa-linux.aarch64.run
143+ ./CANN-custom_ops-sfa-linux.aarch64.run --quiet
144+
145+ export ASCEND_CUSTOM_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp/vendors/customize:${ASCEND_CUSTOM_OPP_PATH}
146+ export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp/vendors/customize/op_api/lib/:${LD_LIBRARY_PATH}
147+
148+ if ! wget -q https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/a3/custom_ops-1.0-cp311-cp311-linux_aarch64.whl; then
149+ echo " Failed to download custom_ops wheel"
150+ return 1
151+ fi
152+ pip install custom_ops-1.0-cp311-cp311-linux_aarch64.whl
153+
154+ if ! wget -q https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/a3/CANN-custom_ops-mlapo-linux.aarch64.run; then
155+ echo " Failed to download CANN-custom_ops-mlapo-linux.aarch64.run"
156+ return 1
157+ fi
158+ chmod +x ./CANN-custom_ops-mlapo-linux.aarch64.run
159+ ./CANN-custom_ops-mlapo-linux.aarch64.run --quiet --install-path=/vllm-workspace/CANN
160+
161+ if ! wget -q https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/a3/torch_npu-2.7.1%2Bgitb7c90d0-cp311-cp311-linux_aarch64.whl; then
162+ echo " Failed to download torch_npu wheel"
163+ return 1
164+ fi
165+ pip install torch_npu-2.7.1+gitb7c90d0-cp311-cp311-linux_aarch64.whl
166+
167+ if ! wget -q https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/a3/libopsproto_rt2.0.so; then
168+ echo " Failed to download libopsproto_rt2.0.so"
169+ return 1
170+ fi
171+ cp libopsproto_rt2.0.so /usr/local/Ascend/ascend-toolkit/8.2.RC1/opp/built-in/op_proto/lib/linux/aarch64/libopsproto_rt2.0.so
172+
173+ source /vllm-workspace/CANN/vendors/customize/bin/set_env.bash
174+ export LD_PRELOAD=/vllm-workspace/CANN/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so:${LD_PRELOAD}
175+
176+ cat >> ~ /.bashrc << 'EOF '
177+
178+ # Extra components for DeepSeek-R1-W8A8
179+ export ASCEND_CUSTOM_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp/vendors/customize:${ASCEND_CUSTOM_OPP_PATH}
180+ export LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp/vendors/customize/op_api/lib/:${LD_LIBRARY_PATH}
181+ source /vllm-workspace/CANN/vendors/customize/bin/set_env.bash
182+ export LD_PRELOAD=/vllm-workspace/CANN/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so:${LD_PRELOAD}
183+ EOF
184+
185+ rm -f CANN-custom_ops-sfa-linux.aarch64.run \
186+ custom_ops-1.0-cp311-cp311-linux_aarch64.whl \
187+ CANN-custom_ops-mlapo-linux.aarch64.run \
188+ torch_npu-2.7.1+gitb7c90d0-cp311-cp311-linux_aarch64.whl \
189+ libopsproto_rt2.0.so
190+
191+ echo " ====> Extra components installation completed"
192+ }
193+
110194kill_npu_processes () {
111195 pgrep python3 | xargs -r kill -9
112196 pgrep VLLM | xargs -r kill -9
@@ -140,6 +224,9 @@ main() {
140224 checkout_src
141225 install_sys_dependencies
142226 install_vllm
227+ if [[ " $CONFIG_YAML_PATH " == * " DeepSeek-R1-W8A8.yaml" ]]; then
228+ install_extra_components
229+ fi
143230 install_ais_bench
144231 cd " $WORKSPACE /source_code"
145232 . $SRC_DIR /vllm-ascend/tests/e2e/nightly/multi_node/scripts/build_mooncake.sh
0 commit comments