Skip to content

Commit ef42c1d

Browse files
author
Matthew Yeazel
committed
kmod-6.12-nvidia-r570: Add IMEX
This adds IMEX as a subpackage that provides support for GB200 devices which require the IMEX process to coordinate efficient communication between devices in ComputeDomains. Signed-off-by: Matthew Yeazel <yeazelm@amazon.com>
1 parent 6a6ad80 commit ef42c1d

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

packages/kmod-6.12-nvidia-r570/Cargo.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@ url = "https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidi
3636
sha512 = "c6425cb53bb7915f5912e49c2b4182fe9875eb60759c15e130ae6d323dc168ad860451e2d69932aba8febb350bc7c0ff6d82df625aa0b63d8601e9fa7cc31b2d"
3737
force-upstream = true
3838

39+
[[package.metadata.build-package.external-files]]
40+
url = "https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/nvidia-imex-570-570.148.08-1.x86_64.rpm"
41+
sha512 = "846e3f2c6dab2bf097771ec01720cf98ccd30f0dcbad09826d708e29f896982642bad866c38fc116c02f6f0a3feea3eaef69034380dc303dbb50aeee079ed01a"
42+
force-upstream = true
43+
44+
[[package.metadata.build-package.external-files]]
45+
url = "https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidia-imex-570-570.148.08-1.aarch64.rpm"
46+
sha512 = "13c1ac2f8650a909ea826fbd41c4ba3378a6c83aa6d38996c2a5509aa49f70a90c023ccaa1e1cad6ecd6808e721cc4effcf02f4cc21f0f2a0fc4043a105ba1bd"
47+
force-upstream = true
48+
3949
[[package.metadata.build-package.external-files]]
4050
url = "https://raw.githubusercontent.com/NVIDIA/open-gpu-kernel-modules/570/COPYING"
4151
sha512 = "f9cee68cbb12095af4b4e92d01c210461789ef41c70b64efefd6719d0b88468b7a67a3629c432d4d9304c730b5d1a942228a5bcc74a03ab1c411c77c758cd938"

packages/kmod-6.12-nvidia-r570/kmod-6.12-nvidia-r570.spec

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ Source3: COPYING
3939
Source10: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/nvidia-fabric-manager-%{tesla_ver}-1.x86_64.rpm
4040
Source11: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidia-fabric-manager-%{tesla_ver}-1.aarch64.rpm
4141

42+
# IMEX for GB200
43+
Source20: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/nvidia-imex-%{tesla_ver}-1.x86_64.rpm
44+
Source21: https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa/nvidia-imex-%{tesla_ver}-1.aarch64.rpm
45+
4246
# Common NVIDIA conf files from 200 to 299
4347
Source200: nvidia-tmpfiles.conf.in
4448
Source202: nvidia-dependencies-modules-load.conf
@@ -85,10 +89,18 @@ Requires: %{name}-grid
8589
Summary: NVIDIA fabricmanager config and service files
8690
Requires: %{name}-tesla(fabricmanager)
8791
Requires: %{_cross_os}nvlsm
92+
Requires: %{name}-imex
8893

8994
%description fabricmanager
9095
%{summary}.
9196

97+
%package imex
98+
Summary: NVIDIA IMEX config and service files
99+
Requires: %{name}
100+
101+
%description imex
102+
%{summary}.
103+
92104
%package open-gpu
93105
Summary: NVIDIA %{tesla_major} Open GPU driver
94106
Version: %{tesla_ver}
@@ -141,6 +153,11 @@ rpm2cpio %{_sourcedir}/nvidia-fabric-manager-%{tesla_ver}-1.%{_cross_arch}.rpm |
141153
# Add the license.
142154
install -p -m 0644 %{S:2} %{S:3} .
143155

156+
# Extract fabricmanager from the rpm via cpio rather than `%%setup` since the
157+
# correct source is architecture-dependent.
158+
mkdir imex-%{fm_arch}-%{tesla_ver}-archive
159+
rpm2cpio %{_sourcedir}/nvidia-imex-%{tesla_major}-%{tesla_ver}-1.%{_cross_arch}.rpm | cpio -idmV -D imex-%{fm_arch}-%{tesla_ver}-archive
160+
144161
# This recipe was based in the NVIDIA yum/dnf specs:
145162
# https://github.com/NVIDIA/yum-packaging-precompiled-kmod
146163

@@ -442,6 +459,13 @@ done
442459

443460
popd
444461

462+
# Begin IMEX binaries and configuration files
463+
pushd imex-%{fm_arch}-%{tesla_ver}-archive
464+
install -p -m 0755 usr/bin/nvidia-imex %{buildroot}%{_cross_bindir}
465+
install -p -m 0755 usr/bin/nvidia-imex-ctl %{buildroot}%{_cross_bindir}
466+
467+
popd
468+
445469
%files
446470
%{_cross_attribution_file}
447471
%dir %{_cross_libexecdir}/nvidia
@@ -708,3 +732,8 @@ popd
708732
%{_cross_factorydir}%{_cross_sysconfdir}/nvidia/fabricmanager.cfg
709733
%{_cross_factorydir}%{_cross_sysconfdir}/nvidia/fabricmanager.env
710734
%{_cross_unitdir}/nvidia-fabricmanager.service
735+
736+
%files imex
737+
%license imex-%{fm_arch}-%{tesla_ver}-archive/usr/share/licenses/nvidia-imex-%{tesla_major}/LICENSE
738+
%{_cross_bindir}/nvidia-imex
739+
%{_cross_bindir}/nvidia-imex-ctl

0 commit comments

Comments
 (0)