How would you build a GPU-heavy node? - eviltoast

Simple as that, I have a few GPUs hanging around and I want to build a GPU node for my kubernetes cluster. I already have one, GPUs are attached and it can do cool things like transcoding plex easy enough, but I’m starting to look to the horizon for my next big projects.

So, dream machine, how could I accomplish building a big ol’ server with the GPUs I have hanging around and maybe a new one?

What CPU/Mobo, and maybe most important, power supply, would you recommend for running maybe even 4x GPUs? Or maybe just 3 and I’m being crazy.

Won’t be building tomorrow like I said, but I just thought of this and was like “man, I bet not a lot of consumer hardware would support this…”

  • towerful@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    11 months ago

    If you are doing high bandwidth GPU work, then PCIe lanes of consumer CPUs are going to be the bottleneck, as they generally only support 16 lanes.
    Then there are the threadrippers, xeons and all the server/professional class CPUs that will do 40+ lanes of PCIe.

    A lane of PCIe3.0 is about 1GBps (Byte not bit).
    So, if you know your workload and bandwidth requirements, then you can work from that.
    If you don’t need full 16 lanes per GPU, then a motherboard that supports bifurcation will allow you to run 4 GPUs with 4 lanes each from a CPU that has 16 lanes if PCIe. That’s 4GBps per GPU, or 32Gbps.
    If it’s just for transcoding, and you are running into limitations of consumer GPUs (which I think are limited to 3 simultaneous streams), you could get a pro/server GPU like the Nvidia quadros, which have a certain amount of resources but are unlimited in the number of streams it can process (so, it might be able to do 300 FPS of 1080p. If your content is 1080p 30fps, that’s 10 streams). From that, you can work out bandwidth requirements, and see if you need more than 4 lanes per GPU.

    I’m not sure what’s required for AI. I feel like it is similar to crypto mining, massive compute but relatively small amounts of data.

    Ultimately, if you think your workload can consume more than 4 lanes per GPU, then you have to think about where that data is coming from. If it’s coming from disk, then you are going to need raid0 NVMe storage which will take up additional PCIe lanes.

    • grue@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 months ago

      I’m not sure what’s required for AI. I feel like it is similar to crypto mining, massive compute but relatively small amounts of data.

      If you’re talking about training models, I think it requires both massive compute and massive amounts of data.

      • towerful@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        5? Holy heck, that’s amazing. I remember helping people that had built streaming rigs to use during the pandemic, and wondering why their production was stuttering and having issues with a bunch remote callers. Some of that work ended up being CPU bound.
        Although, looks like that patch is for Linux? Not much use if your running vmix or some other windows-only software.
        In OPs case, however, that’s not a problem