Hey everyone! I was just skimming through some inference benchmarks of other people and noticed the driver version is usually mentioned. It made me wonder how relevant this is. My prod server runs Debian 12 so the packaged nvidia drivers are rather old, but I’d prefer not to mess with the drivers if it won’t bring a benefit. Does any of you have any experience or did do some testing?

  • snikta@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    20 days ago

    TLDR: Yes, it matters. Especially when it comes to inference and “new” features and hacks it relies on.

    What GPU and what inference engine are you using?

    On Debian I would use the stable version (not old stable) and I would enable nonfree firmware and also the backports version of the kernel and nonfree firmware. Then you’re probably set for a year or two.

    An old kernel with only free firmware likely performs much worse. Look at the release logs of the Linux kernel and any GPU driver.

    If your hardware is very old, it probably doesn’t matter super much. But sometimes it does (like when a manufacturer decides to unlock some sleeping feature in an old forgotten device).

    • robber@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      20 days ago

      I use the the proprietary ones from Nvidia, they’re at 535 on oldstable IIRC but there are a lot newer ones.

      I use 3xRTX2000e Ada. It’s a rather new, quite power efficient GPU manufactured by PNY.

      As inference engine I use exllamav3 with tabbyAPI. I like it very much because it supports 3-way tensor paralellism, making it a lot faster for me than llamacpp.

      • snikta@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        20 days ago

        Oh, that’s quite fancy hardware.

        Hmm… Unless exllama is explicitly recommended by NVIDIA for that particular GPU and setup, it seems “risky”. vLLM seems to be the popular choice for most “production” systems. I’m switching from llama.cpp to vLLM because of better performance and its the engine recommended by most model providers. I don’t really have the time to benchmark, so I’ll just do what the documentation says. And it’s really hard to do good benchmarks. Especially when “qualitative language performance” can vary for the same weights on different hardware/software.

        With that kind of hardware, I would do exactly what NVIDIA and your model provider(s) say. Otherwise you might waste a lot of GPU power.

        • robber@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          19 days ago

          Thank you for taking the time to respond.

          I’ve used vLLM for hosting a smaller model which could fit in two of GPUs, it was very performant especially for multiple requests at the same time. The major drawback for my setup was that it only supports tensor parallelism for 2, 4, 8, etc. GPUs and data paralellism slowed inference down considerably, at least for my cards. exllamav3 is the only engine I’m aware of which support 3-way TP.

          But I’m fully with you in that vLLM seems to be the most recommended and battle-tested solution.

          I might take a look at how I can safely upgrade the driver until I can afford a fourth card and switch back to vLLM.