Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions meta-dstack/conf/distro/dstack.conf
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,11 @@ SERIAL_CONSOLES = "115200;ttyS0"
PREFERRED_VERSION_rust-bin-cross-x86_64 = "1.92.0"
PREFERRED_VERSION_cargo-bin-cross-x86_64 = "1.92.0"

# NVIDIA driver stack (only consulted when nvidia flavor is built).
# Bump all three together — kernel module ABI is paired with userspace libs.
NVIDIA_VERSION = "580.95.05"
PREFERRED_VERSION_nvidia = "${NVIDIA_VERSION}"
PREFERRED_VERSION_nvidia-fabricmanager = "${NVIDIA_VERSION}"
PREFERRED_VERSION_libnvidia-nscq = "${NVIDIA_VERSION}"

BAD_RECOMMENDATIONS = "busybox-syslog"
32 changes: 32 additions & 0 deletions meta-nvidia/recipes-graphics/nvidia/libnvidia-nscq_580.95.05.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
SUMMARY = "NVIDIA NSCQ library"
DESCRIPTION = "NVIDIA NSCQ (NVIDIA System Communication Queue) library for NVIDIA GPU systems"
HOMEPAGE = "https://developer.nvidia.com/"
LICENSE = "NVIDIA-Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2cc00be68c1227a7c42ff3620ef75d05"

SRC_URI = "https://developer.download.nvidia.cn/compute/nvidia-driver/redist/libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-${PV}-archive.tar.xz"
SRC_URI[md5sum] = "6bc20061ebdae98fadd7a76110b44430"
SRC_URI[sha256sum] = "c2285c12f10ec2afc0ad2949f7fcc282b6fd37f32165c1df241451ccabb1067a"

S = "${WORKDIR}/libnvidia_nscq-linux-x86_64-${PV}-archive"

INSANE_SKIP:${PN} = "already-stripped ldflags"

do_configure[noexec] = "1"
do_compile[noexec] = "1"

do_install() {
install -d ${D}${libdir}

install -m 0755 ${S}/lib/libnvidia-nscq.so.${PV} ${D}${libdir}
ln -sf libnvidia-nscq.so.${PV} ${D}${libdir}/libnvidia-nscq.so.2.0
ln -sf libnvidia-nscq.so.2.0 ${D}${libdir}/libnvidia-nscq.so.2
ln -sf libnvidia-nscq.so.2 ${D}${libdir}/libnvidia-nscq.so
}

FILES:${PN} = "\
${libdir}/libnvidia-nscq.so.${PV} \
${libdir}/libnvidia-nscq.so.2.0 \
${libdir}/libnvidia-nscq.so.2 \
${libdir}/libnvidia-nscq.so \
"
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
SUMMARY = "NVIDIA Fabric Manager for NVSwitch systems"
DESCRIPTION = "NVIDIA Fabric Manager provides NVSwitch management for NVIDIA HGX and DGX systems"
HOMEPAGE = "https://developer.nvidia.com/"
LICENSE = "NVIDIA-Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2cc00be68c1227a7c42ff3620ef75d05"

SRC_URI = "https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-${PV}-archive.tar.xz"
SRC_URI[md5sum] = "a6568aa288cb4784b85ba6826463f918"
SRC_URI[sha256sum] = "f0220bfb67d04b4107acf00cc95abe5a9268fd8f8b5bae26971f4df232e4369c"

S = "${WORKDIR}/fabricmanager-linux-x86_64-${PV}-archive"

DEPENDS = ""
RDEPENDS:${PN} = "bash zlib"

INSANE_SKIP:${PN} = "already-stripped ldflags"

do_configure[noexec] = "1"
do_compile[noexec] = "1"

inherit systemd

SYSTEMD_AUTO_ENABLE = "enable"
SYSTEMD_SERVICE:${PN} = "nvidia-fabricmanager.service"

do_install() {
# Create directories
install -d ${D}${bindir}
install -d ${D}${libdir}
install -d ${D}${datadir}/nvidia/nvswitch
install -d ${D}${systemd_system_unitdir}

# Install binaries
install -m 0755 ${S}/bin/nv-fabricmanager ${D}${bindir}
install -m 0755 ${S}/bin/nvidia-fabricmanager-start.sh ${D}${bindir}
install -m 0755 ${S}/bin/nvswitch-audit ${D}${bindir}

# Install libraries
install -m 0644 ${S}/lib/libnvfm.so.1 ${D}${libdir}
ln -sf libnvfm.so.1 ${D}${libdir}/libnvfm.so

# Install config + topology files (glob picks up new SKUs in future archives)
install -m 0644 ${S}/etc/fabricmanager.cfg ${D}${datadir}/nvidia/nvswitch/
install -m 0644 ${S}/etc/fabricmanager_multinode.cfg ${D}${datadir}/nvidia/nvswitch/
for f in ${S}/share/nvidia/nvswitch/*; do
[ -f "$f" ] && install -m 0644 "$f" ${D}${datadir}/nvidia/nvswitch/
done

# Install systemd service
install -m 0644 ${S}/systemd/nvidia-fabricmanager.service ${D}${systemd_system_unitdir}
}

FILES:${PN} = "\
${bindir}/nv-fabricmanager \
${bindir}/nvidia-fabricmanager-start.sh \
${bindir}/nvswitch-audit \
${libdir}/libnvfm.so.1 \
${libdir}/libnvfm.so \
${datadir}/nvidia/nvswitch/* \
${systemd_system_unitdir}/nvidia-fabricmanager.service \
"
24 changes: 24 additions & 0 deletions meta-nvidia/recipes-graphics/nvidia/nvidia_580.95.05.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
SUMMARY = "NVidia Graphics Driver"
LICENSE = "NVIDIA-Proprietary"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=92aa2e2af6aa0bcba1c3fe49da021937"

NVIDIA_ARCHIVE_NAME = "NVIDIA-Linux-${TARGET_ARCH}-${PV}"
NVIDIA_SRC = "${WORKDIR}/${NVIDIA_ARCHIVE_NAME}"
SRC_URI = " \
https://us.download.nvidia.com/tesla/${PV}/${NVIDIA_ARCHIVE_NAME}.run \
"
SRC_URI[md5sum] = "3d23653c4898d08b1f3f031ea8cdaa93"
SRC_URI[sha256sum] = "849ef0ef8e842b9806b2cde9f11c1303d54f1a9a769467e4e5d961b2fe1182a7"

RDEPENDS:${PN} = "nvidia-modprobe-config"

do_unpack() {
chmod +x ${DL_DIR}/${NVIDIA_ARCHIVE_NAME}.run
rm -rf ${NVIDIA_SRC}
${DL_DIR}/${NVIDIA_ARCHIVE_NAME}.run -x --target ${NVIDIA_SRC}
}

do_make_scripts[noexec] = "1"

include nvidia-kernel-module.inc
include nvidia-libs.inc
Loading