-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathprune-extra-cutensor-libs.sh
More file actions
executable file
·50 lines (41 loc) · 3.66 KB
/
prune-extra-cutensor-libs.sh
File metadata and controls
executable file
·50 lines (41 loc) · 3.66 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
# Remove extra libcutensor versions
libcutensor_ver="$(dpkg -s libcutensor1 | grep '^Version:' | cut -d' ' -f2 | cut -d'-' -f1 | cut -d'.' -f4 --complement)";
libcutensorMg_shared="$(find /usr/lib -type f -regex "^.*/libcutensor/${CUDA_VERSION_MAJOR}/libcutensorMg.so.${libcutensor_ver}$")";
if test -n "${libcutensorMg_shared:+x}"; then
libcutensorMg_shared="$(find /usr/lib -type f -regex "^.*/libcutensor/${CUDA_VERSION_MAJOR}/libcutensorMg.so.${libcutensor_ver}$")";
libcutensorMg_static="$(find /usr/lib -type f -regex "^.*/libcutensor/${CUDA_VERSION_MAJOR}/libcutensorMg_static.a$")";
libcutensor_shared="$(find /usr/lib -type f -regex "^.*/libcutensor/${CUDA_VERSION_MAJOR}/libcutensor.so.${libcutensor_ver}$")";
libcutensor_static="$(find /usr/lib -type f -regex "^.*/libcutensor/${CUDA_VERSION_MAJOR}/libcutensor_static.a$")";
libcutensorMg_shared_link="$(update-alternatives --query libcutensorMg.so.${libcutensor_ver} 2>/dev/null | grep '^Link:' | cut -d' ' -f2 || echo)";
libcutensorMg_static_link="$(update-alternatives --query libcutensorMg_static.a 2>/dev/null | grep '^Link:' | cut -d' ' -f2 || echo)";
libcutensor_shared_link="$(update-alternatives --query libcutensor.so.${libcutensor_ver} 2>/dev/null | grep '^Link:' | cut -d' ' -f2 || echo)";
libcutensor_static_link="$(update-alternatives --query libcutensor_static.a 2>/dev/null | grep '^Link:' | cut -d' ' -f2 || echo)";
# 1. Remove existing libcutensor lib alternatives
# 2. Install only the alternative for the version we keep
# 3. Set the default alternatives
if test -n "${libcutensorMg_shared:+x}" && test -f "${libcutensorMg_shared}" \
&& test -n "${libcutensorMg_shared_link:+x}" && test -L "${libcutensorMg_shared_link}"; then
(update-alternatives --remove-all libcutensorMg.so.${libcutensor_ver} >/dev/null 2>&1 || true);
update-alternatives --install "${libcutensorMg_shared_link}" libcutensorMg.so.${libcutensor_ver} "${libcutensorMg_shared}" 0;
update-alternatives --set libcutensorMg.so.${libcutensor_ver} "${libcutensorMg_shared}";
fi
if test -n "${libcutensorMg_static:+x}" && test -f "${libcutensorMg_static}" \
&& test -n "${libcutensorMg_static_link:+x}" && test -L "${libcutensorMg_static_link}"; then
(update-alternatives --remove-all libcutensorMg_static.a >/dev/null 2>&1 || true);
update-alternatives --install "${libcutensorMg_static_link}" libcutensorMg_static.a "${libcutensorMg_static}" 0;
update-alternatives --set libcutensorMg_static.a "${libcutensorMg_static}";
fi
if test -n "${libcutensor_shared:+x}" && test -f "${libcutensor_shared}" \
&& test -n "${libcutensor_shared_link:+x}" && test -L "${libcutensor_shared_link}"; then
(update-alternatives --remove-all libcutensor.so.${libcutensor_ver} >/dev/null 2>&1 || true);
update-alternatives --install "${libcutensor_shared_link}" libcutensor.so.${libcutensor_ver} "${libcutensor_shared}" 0;
update-alternatives --set libcutensor.so.${libcutensor_ver} "${libcutensor_shared}";
fi
if test -n "${libcutensor_static:+x}" && test -f "${libcutensor_static}" \
&& test -n "${libcutensor_static_link:+x}" && test -L "${libcutensor_static_link}"; then
(update-alternatives --remove-all libcutensor_static.a >/dev/null 2>&1 || true);
update-alternatives --install "${libcutensor_static_link}" libcutensor_static.a "${libcutensor_static}" 0;
update-alternatives --set libcutensor_static.a "${libcutensor_static}";
fi
fi
rm -rf $(find /usr/lib -mindepth 1 -type d -regex "^.*/libcutensor/.*$" | grep -Ev "^.*/libcutensor/${CUDA_VERSION_MAJOR}$");