Unverified Commit bdd50be9 authored by Nick Cao's avatar Nick Cao Committed by GitHub
Browse files

Merge pull request #273876 from timothyklim/master

nvidia_x11.dc_535: 535.129.03
parents e0fc9112 6e4d90f0
Loading
Loading
Loading
Loading
+50 −22
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@ in {
          TRUNK_LINK_FAILURE_MODE=0;
          NVSWITCH_FAILURE_MODE=0;
          ABORT_CUDA_JOBS_ON_FM_EXIT=1;
          TOPOLOGY_FILE_PATH=nvidia_x11.fabricmanager + "/share/nvidia-fabricmanager/nvidia/nvswitch";
          TOPOLOGY_FILE_PATH="${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch";
          DATABASE_PATH="${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch";
        };
        defaultText = lib.literalExpression ''
        {
@@ -69,7 +70,8 @@ in {
          TRUNK_LINK_FAILURE_MODE=0;
          NVSWITCH_FAILURE_MODE=0;
          ABORT_CUDA_JOBS_ON_FM_EXIT=1;
          TOPOLOGY_FILE_PATH=nvidia_x11.fabricmanager + "/share/nvidia-fabricmanager/nvidia/nvswitch";
          TOPOLOGY_FILE_PATH="''${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch";
          DATABASE_PATH="''${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch";
        }
        '';
        description = lib.mdDoc ''
@@ -584,7 +586,15 @@ in {
        boot.extraModulePackages = [
          nvidia_x11.bin
        ];
        systemd.services.nvidia-fabricmanager = {

        systemd = {
          tmpfiles.rules =
            lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia)
            "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced";

          services = lib.mkMerge [
            ({
              nvidia-fabricmanager = {
                enable = true;
                description = "Start NVIDIA NVLink Management";
                wantedBy = [ "multi-user.target" ];
@@ -596,12 +606,30 @@ in {
                  ExecStart = let
                    nv-fab-conf = settingsFormat.generate "fabricmanager.conf" cfg.datacenter.settings;
                    in
                nvidia_x11.fabricmanager + "/bin/nv-fabricmanager -c " + nv-fab-conf;
                      "${lib.getExe nvidia_x11.fabricmanager} -c ${nv-fab-conf}";
                  LimitCORE="infinity";
                };
              };
            })
            (lib.mkIf cfg.nvidiaPersistenced {
              "nvidia-persistenced" = {
                description = "NVIDIA Persistence Daemon";
                wantedBy = ["multi-user.target"];
                serviceConfig = {
                  Type = "forking";
                  Restart = "always";
                  PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid";
                  ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose";
                  ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced";
                };
              };
            })
          ];
      };

      environment.systemPackages =
          lib.optional cfg.datacenter.enable nvidia_x11.fabricmanager;
        lib.optional cfg.datacenter.enable nvidia_x11.fabricmanager
        ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced;
    })
  ]);
}
+11 −0
Original line number Diff line number Diff line
@@ -81,6 +81,17 @@ rec {
    useFabricmanager = true;
  };

  dc_535 = generic rec {
    version = "535.129.03";
    url = "https://us.download.nvidia.com/tesla/${version}/NVIDIA-Linux-x86_64-${version}.run";
    sha256_64bit = "sha256-5tylYmomCMa7KgRs/LfBrzOLnpYafdkKwJu4oSb/AC4=";
    persistencedSha256 = "sha256-FRMqY5uAJzq3o+YdM2Mdjj8Df6/cuUUAnh52Ne4koME=";
    fabricmanagerSha256 = "sha256-5KRYS+JLVAhDkBn8Z7e0uJvULQy6dSpwnYsbBxw7Mxg=";
    useSettings = false;
    usePersistenced = true;
    useFabricmanager = true;
  };

  # Update note:
  # If you add a legacy driver here, also update `top-level/linux-kernels.nix`,
  # adding to the `nvidia_x11_legacy*` entries.
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
  pname = "fabricmanager";
  version = fmver;
  src = fetchurl {
    url = "https://developer.download.nvidia.com/compute/cuda/redist/fabricmanager/" +
    url = "https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/" +
          "${sys}/${pname}-${sys}-${fmver}-archive.tar.xz";
    inherit sha256;
  };
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ assert versionOlder version "391" -> sha256_32bit != null;
assert useSettings -> settingsSha256 != null;
assert usePersistenced -> persistencedSha256 != null;
assert useFabricmanager -> fabricmanagerSha256 != null;
assert useFabricmanager -> !(useSettings || usePersistenced);
assert useFabricmanager -> !useSettings;

let
  nameSuffix = optionalString (!libsOnly) "-${kernel.version}";
+1 −0
Original line number Diff line number Diff line
@@ -412,6 +412,7 @@ in {
    nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta;
    nvidia_dc              = nvidiaPackages.dc;
    nvidia_dc_520          = nvidiaPackages.dc_520;
    nvidia_dc_535          = nvidiaPackages.dc_535;

    # this is not a replacement for nvidia_x11*
    # only the opensource kernel driver exposed for hydra to build