@@ -20,79 +20,6 @@ function detect_platform() {
20
20
echo -e " ${COLOR_GREEN} Detected platform: $PLATFORM ${COLOR_OFF} "
21
21
}
22
22
23
- function install_folly() {
24
- FOLLY_SRC_DIR=$BASE_DIR /third-party/folly
25
- FOLLY_BUILD_DIR=$DEPS_DIR /folly-build
26
-
27
- if [ ! -d " $FOLLY_BUILD_DIR " ] ; then
28
- echo -e " ${COLOR_GREEN} [ INFO ] Building Folly ${COLOR_OFF} "
29
- cd $FOLLY_SRC_DIR
30
-
31
- ./build/fbcode_builder/getdeps.py install-system-deps --recursive
32
-
33
- ./build/fbcode_builder/getdeps.py build \
34
- --allow-system-packages \
35
- --scratch-path $FOLLY_BUILD_DIR \
36
- --extra-cmake-defines=' {"CMAKE_CXX_FLAGS": "-fPIC -D_GLIBCXX_USE_CXX11_ABI=1"}'
37
-
38
- echo -e " ${COLOR_GREEN} [ INFO ] Folly is installed ${COLOR_OFF} "
39
- fi
40
-
41
- cd " $BWD " || exit
42
- echo " $FOLLY_BUILD_DIR /installed"
43
- }
44
-
45
- function install_libtorch() {
46
- cd " $DEPS_DIR " || exit
47
- TORCH_VERSION=" 2.2.1"
48
- if [ -d " $DEPS_DIR /libtorch" ]; then
49
- RAW_VERSION=` cat " $DEPS_DIR /libtorch/build-version" `
50
- VERSION=` cat " $DEPS_DIR /libtorch/build-version" | cut -d " +" -f 1`
51
- if [ " $USE_NIGHTLIES " = " true" ] && [[ ! " ${RAW_VERSION} " =~ .* " dev" .* ]]; then
52
- rm -rf " $DEPS_DIR /libtorch"
53
- elif [ " $USE_NIGHTLIES " == " " ] && [ " $VERSION " != " $TORCH_VERSION " ]; then
54
- rm -rf " $DEPS_DIR /libtorch"
55
- fi
56
- fi
57
- if [ " $PLATFORM " = " Mac" ]; then
58
- if [ ! -d " $DEPS_DIR /libtorch" ]; then
59
- if [[ $( uname -m) == ' x86_64' ]]; then
60
- echo -e " ${COLOR_GREEN} [ INFO ] Install libtorch on Mac x86_64 ${COLOR_OFF} "
61
- wget -q https://download.pytorch.org/libtorch/cpu/libtorch-macos-x86_64-${TORCH_VERSION} .zip
62
- unzip -q libtorch-macos-x86_64-${TORCH_VERSION} .zip
63
- rm libtorch-macos-x86_64-${TORCH_VERSION} .zip
64
- else
65
- echo -e " ${COLOR_GREEN} [ INFO ] Install libtorch on Mac arm64 ${COLOR_OFF} "
66
- wget -q https://download.pytorch.org/libtorch/cpu/libtorch-macos-arm64-${TORCH_VERSION} .zip
67
- unzip -q libtorch-macos-arm64-${TORCH_VERSION} .zip
68
- rm libtorch-macos-arm64-${TORCH_VERSION} .zip
69
- fi
70
- fi
71
- elif [ " $PLATFORM " = " Windows" ]; then
72
- echo -e " ${COLOR_GREEN} [ INFO ] Install libtorch on Windows ${COLOR_OFF} "
73
- # TODO: Windows
74
- echo -e " ${COLOR_RED} [ ERROR ] Unknown platform: $PLATFORM ${COLOR_OFF} "
75
- exit 1
76
- else # Linux
77
- if [ ! -d " $DEPS_DIR /libtorch" ]; then
78
- echo -e " ${COLOR_GREEN} [ INFO ] Install libtorch on Linux ${COLOR_OFF} "
79
- if [ " $USE_NIGHTLIES " == true ]; then
80
- URL=https://download.pytorch.org/libtorch/nightly/${CUDA} /libtorch-cxx11-abi-shared-with-deps-latest.zip
81
- else
82
- URL=https://download.pytorch.org/libtorch/${CUDA} /libtorch-cxx11-abi-shared-with-deps-${TORCH_VERSION} %2B${CUDA} .zip
83
- fi
84
- wget -q $URL
85
- ZIP_FILE=$( basename " $URL " )
86
- ZIP_FILE=" ${ZIP_FILE//% 2B/ +} "
87
- unzip -q $ZIP_FILE
88
- rm $ZIP_FILE
89
- fi
90
- echo -e " ${COLOR_GREEN} [ INFO ] libtorch is installed ${COLOR_OFF} "
91
- fi
92
-
93
- cd " $BWD " || exit
94
- }
95
-
96
23
function prepare_test_files() {
97
24
echo -e " ${COLOR_GREEN} [ INFO ]Preparing test files ${COLOR_OFF} "
98
25
local EX_DIR=" ${TR_DIR} /examples/"
@@ -123,7 +50,7 @@ function prepare_test_files() {
123
50
mv Transformer_model/tokenizer.json ${HANDLER_DIR} /tokenizer.json
124
51
export TOKENIZERS_PARALLELISM=" "
125
52
fi
126
- if [ ! -f " ${EX_DIR} /aot_inductor/resnet_handler/resne50_pt2 .so" ]; then
53
+ if [ ! -f " ${EX_DIR} /aot_inductor/resnet_handler/resnet50_pt2 .so" ]; then
127
54
local HANDLER_DIR=${EX_DIR} /aot_inductor/resnet_handler/
128
55
cd ${HANDLER_DIR}
129
56
python ${BASE_DIR} /../examples/cpp/aot_inductor/resnet/resnet50_torch_export.py
@@ -133,6 +60,7 @@ function prepare_test_files() {
133
60
}
134
61
135
62
function build() {
63
+ echo -e " ${COLOR_GREEN} [ INFO ]Building backend ${COLOR_OFF} "
136
64
MAYBE_BUILD_QUIC=" "
137
65
if [ " $WITH_QUIC " == true ] ; then
138
66
setup_mvfst
@@ -151,50 +79,37 @@ function build() {
151
79
PREFIX=$BWD
152
80
fi
153
81
154
- MAYBE_CUDA_COMPILER=" "
155
- if [ " $CUDA " != " " ]; then
156
- MAYBE_CUDA_COMPILER=' -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc'
157
- fi
158
-
159
- MAYBE_NIGHTLIES=" -Dnightlies=OFF"
160
- if [ " $USE_NIGHTLIES " == true ]; then
161
- MAYBE_NIGHTLIES=" -Dnightlies=ON"
162
- fi
163
-
164
82
# Build torchserve_cpp with cmake
165
83
cd " $BWD " || exit
166
- FOLLY_CMAKE_DIR=$DEPS_DIR /folly-build/installed
167
- find $FOLLY_CMAKE_DIR -name " lib*.*" -exec ln -s " {}" $LIBS_DIR / \;
84
+
85
+ CMAKE_PREFIX_PATH=` python3 -c ' import torch;print(torch.utils.cmake_prefix_path)' `
86
+
168
87
if [ " $PLATFORM " = " Linux" ]; then
88
+ NCCL_PATH=` python3 -c ' import torch;from pathlib import Path;print(Path(torch.__file__).parents[1]/"nvidia"/"nccl"/"lib")' `
89
+ export LD_LIBRARY_PATH=${NCCL_PATH} :${LD_LIBRARY_PATH}
169
90
cmake \
170
- -DCMAKE_PREFIX_PATH=" $DEPS_DIR ;$FOLLY_CMAKE_DIR ; $DEPS_DIR /libtorch " \
91
+ -DCMAKE_PREFIX_PATH=" $DEPS_DIR ;$CMAKE_PREFIX_PATH " \
171
92
-DCMAKE_INSTALL_PREFIX=" $PREFIX " \
172
93
" $MAYBE_BUILD_QUIC " \
173
94
" $MAYBE_BUILD_TESTS " \
174
95
" $MAYBE_BUILD_SHARED_LIBS " \
175
96
" $MAYBE_OVERRIDE_CXX_FLAGS " \
176
97
" $MAYBE_USE_STATIC_DEPS " \
177
98
" $MAYBE_LIB_FUZZING_ENGINE " \
178
- " $MAYBE_CUDA_COMPILER " \
179
- " $MAYBE_NIGHTLIES " \
180
99
..
181
100
182
- if [ " $CUDA " = " cu118" ] || [ " $CUDA " = " cu121" ]; then
183
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} :/usr/local/cuda/bin/nvcc
184
- fi
185
101
elif [ " $PLATFORM " = " Mac" ]; then
186
102
export LIBRARY_PATH=${LIBRARY_PATH} :` brew --prefix icu4c` /lib:` brew --prefix libomp` /lib
187
103
188
104
cmake \
189
- -DCMAKE_PREFIX_PATH=" $DEPS_DIR ;$FOLLY_CMAKE_DIR ; $DEPS_DIR /libtorch " \
105
+ -DCMAKE_PREFIX_PATH=" $DEPS_DIR ;$CMAKE_PREFIX_PATH " \
190
106
-DCMAKE_INSTALL_PREFIX=" $PREFIX " \
191
107
" $MAYBE_BUILD_QUIC " \
192
108
" $MAYBE_BUILD_TESTS " \
193
109
" $MAYBE_BUILD_SHARED_LIBS " \
194
110
" $MAYBE_OVERRIDE_CXX_FLAGS " \
195
111
" $MAYBE_USE_STATIC_DEPS " \
196
112
" $MAYBE_LIB_FUZZING_ENGINE " \
197
- " $MAYBE_NIGHTLIES " \
198
113
" -DLLAMA_METAL=OFF" \
199
114
..
200
115
@@ -220,12 +135,6 @@ function build() {
220
135
fi
221
136
}
222
137
223
- function symlink_torch_libs() {
224
- if [ " $PLATFORM " = " Linux" ]; then
225
- ln -sf ${DEPS_DIR} /libtorch/lib/* .so* ${LIBS_DIR}
226
- fi
227
- }
228
-
229
138
function install_torchserve_cpp() {
230
139
TARGET_DIR=` python -c " import ts; from pathlib import Path; print(Path(ts.__file__).parent / 'cpp')" `
231
140
@@ -244,16 +153,12 @@ WITH_QUIC=false
244
153
INSTALL_DEPENDENCIES=false
245
154
PREFIX=" "
246
155
COMPILER_FLAGS=" "
247
- CUDA=" cpu"
248
- USAGE=" ./build.sh [-j num_jobs] [-g cu118|cu121] [-q|--with-quic] [-t|--no-tets] [-p|--prefix] [-x|--compiler-flags] [-n|--nighlies]"
156
+ USAGE=" ./build.sh [-j num_jobs] [-q|--with-quic] [-t|--no-tets] [-p|--prefix] [-x|--compiler-flags]"
249
157
while [ " $1 " != " " ]; do
250
158
case $1 in
251
159
-j | --jobs ) shift
252
160
JOBS=$1
253
161
;;
254
- -g | --cuda-version ) shift
255
- CUDA=$1
256
- ;;
257
162
-q | --with-quic )
258
163
WITH_QUIC=true
259
164
;;
@@ -268,9 +173,6 @@ while [ "$1" != "" ]; do
268
173
shift
269
174
COMPILER_FLAGS=$1
270
175
;;
271
- -n | --nightlies )
272
- USE_NIGHTLIES=true
273
- ;;
274
176
* ) echo $USAGE
275
177
exit 1
276
178
esac
@@ -305,9 +207,6 @@ cd $BASE_DIR
305
207
306
208
git submodule update --init --recursive
307
209
308
- install_folly
309
- install_libtorch
310
210
prepare_test_files
311
211
build
312
- symlink_torch_libs
313
212
install_torchserve_cpp
0 commit comments