Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
7b9d832c
Unverified
Commit
7b9d832c
authored
May 22, 2025
by
lkchen
Committed by
GitHub
May 22, 2025
Browse files
[Tool] Add NIXL installation script (#18172)
Signed-off-by:
Linkun
<
github@lkchen.net
>
parent
6e588da0
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
109 additions
and
0 deletions
+109
-0
tools/install_nixl.sh
tools/install_nixl.sh
+109
-0
No files found.
tools/install_nixl.sh
0 → 100644
View file @
7b9d832c
#!/bin/bash
# Usage: ./install_nixl.sh [--force]
FORCE
=
false
if
[
"
$1
"
==
"--force"
]
;
then
FORCE
=
true
fi
SUDO
=
false
if
command
-v
sudo
>
/dev/null 2>&1
&&
sudo
-n
true
2>/dev/null
;
then
SUDO
=
true
fi
ARCH
=
$(
uname
-m
)
ROOT_DIR
=
"/usr/local"
mkdir
-p
"
$ROOT_DIR
"
GDR_HOME
=
"
$ROOT_DIR
/gdrcopy"
UCX_HOME
=
"
$ROOT_DIR
/ucx"
NIXL_HOME
=
"
$ROOT_DIR
/nixl"
CUDA_HOME
=
/usr/local/cuda
export
PATH
=
"
$GDR_HOME
/bin:
$UCX_HOME
/bin:
$NIXL_HOME
/bin:
$PATH
"
export
LD_LIBRARY_PATH
=
"
$GDR_HOME
/lib:
$UCX_HOME
/lib:
$NIXL_HOME
/lib/
$ARCH
-linux-gnu:
$LD_LIBRARY_PATH
"
TEMP_DIR
=
"nixl_installer"
mkdir
-p
"
$TEMP_DIR
"
cd
"
$TEMP_DIR
"
pip
install
meson ninja pybind11
if
[
!
-e
"/dev/gdrdrv"
]
||
[
"
$FORCE
"
=
true
]
;
then
echo
"Installing gdrcopy
\n
"
wget https://github.com/NVIDIA/gdrcopy/archive/refs/tags/v2.5.tar.gz
tar
xzf v2.5.tar.gz
;
rm
v2.5.tar.gz
cd
gdrcopy-2.5
make
prefix
=
$GDR_HOME
CUDA
=
$CUDA_HOME
all
install
if
$SUDO
;
then
echo
"Running insmod.sh with sudo"
sudo
./insmod.sh
else
echo
"Skipping insmod.sh - sudo not available"
echo
"Please run 'sudo ./gdrcopy-2.5/insmod.sh' manually if needed"
fi
cd
..
else
echo
"Found /dev/gdrdrv. Skipping gdrcopy installation"
fi
if
!
command
-v
ucx_info &> /dev/null
||
[
"
$FORCE
"
=
true
]
;
then
echo
"Installing UCX"
wget https://github.com/openucx/ucx/releases/download/v1.18.0/ucx-1.18.0.tar.gz
tar
xzf ucx-1.18.0.tar.gz
;
rm
ucx-1.18.0.tar.gz
cd
ucx-1.18.0
# Checking Mellanox NICs
MLX_OPTS
=
""
if
lspci |
grep
-i
mellanox
>
/dev/null
||
command
-v
ibstat
>
/dev/null
;
then
echo
"Mellanox NIC detected, adding Mellanox-specific options"
MLX_OPTS
=
"--with-rdmacm
\
--with-mlx5-dv
\
--with-ib-hw-tm"
fi
./configure
--prefix
=
$UCX_HOME
\
--enable-shared
\
--disable-static
\
--disable-doxygen-doc
\
--enable-optimizations
\
--enable-cma
\
--enable-devel-headers
\
--with-cuda
=
$CUDA_HOME
\
--with-dm
\
--with-gdrcopy
=
$GDR_HOME
\
--with-verbs
\
--enable-mt
\
$MLX_OPTS
make
-j
make
-j
install-strip
if
$SUDO
;
then
echo
"Running ldconfig with sudo"
sudo
ldconfig
else
echo
"Skipping ldconfig - sudo not available"
echo
"Please run 'sudo ldconfig' manually if needed"
fi
cd
..
else
echo
"Found existing UCX. Skipping UCX installation"
fi
if
!
command
-v
nixl_test &> /dev/null
||
[
"
$FORCE
"
=
true
]
;
then
echo
"Installing NIXL"
wget https://github.com/ai-dynamo/nixl/archive/refs/tags/0.2.0.tar.gz
tar
xzf 0.2.0.tar.gz
;
rm
0.2.0.tar.gz
cd
nixl-0.2.0
meson setup build
--prefix
=
$NIXL_HOME
-Ducx_path
=
$UCX_HOME
cd
build
ninja
ninja
install
cd
../..
else
echo
"Found existing NIXL. Skipping NIXL installation"
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment