69 lines
1.8 KiB
Bash
69 lines
1.8 KiB
Bash
# Copyright (c) 2024 PaddlePaddle Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
#0.环境准备:安装numactl
|
|
# apt-get update
|
|
# apt-get install numactl
|
|
|
|
# 1. download XFT
|
|
if [ ! -d xFasterTransformer ]; then
|
|
git clone https://github.com/intel/xFasterTransformer.git
|
|
fi
|
|
|
|
#2.cp patch
|
|
cd xFasterTransformer
|
|
git reset --hard 420a493f5c3c74f5fdd786f5399aacd04e021df7
|
|
cd ..
|
|
|
|
if lscpu | grep -q "avx512_bf16"; then
|
|
echo "apply bf16 and fp16."
|
|
if [ ! -f 0001-fp16_bf16.patch ]; then
|
|
echo "Error: 0001-fp16_bf16.patch not exist."
|
|
exit 1
|
|
fi
|
|
# apply patch
|
|
cp ./0001-fp16_bf16.patch ./xFasterTransformer/paddle.patch
|
|
else
|
|
echo "apply fp32 "
|
|
if [ ! -f 0001-fp32.patch ]; then
|
|
echo "Error: does 0001-fp32.patch not exist."
|
|
exit 1
|
|
fi
|
|
cp ./0001-fp32.patch ./xFasterTransformer/paddle.patch
|
|
fi
|
|
|
|
#3. apply patch
|
|
cd xFasterTransformer
|
|
git apply paddle.patch
|
|
|
|
#4. build xFasterTransformer
|
|
cd 3rdparty
|
|
bash prepare_oneccl.sh
|
|
source ./oneccl/build/_install/env/setvars.sh
|
|
cd ..
|
|
|
|
rm -rf build
|
|
mkdir build && cd build
|
|
cmake ..
|
|
make -j
|
|
cd ..
|
|
|
|
#xft
|
|
export XFT_HEADER_DIR=$PWD
|
|
export XFT_LIB_DIR=$XFT_HEADER_DIR/build
|
|
export LD_LIBRARY_PATH=$XFT_LIB_DIR:$LD_LIBRARY_PATH
|
|
#setup cpu paddle_nlp ops
|
|
cd ..
|
|
python ./src/setup_cpu.py install --user
|