It looks like !buildapc community isn’t super active so I apologize for posting here. Mods, let me know if I should post there instead.

I built my first PC when I was I think 10-11 years old. Built my next PC after that and then sort of moved toward pre-made HP/Dell/etc. My last PC’s mobo just gave out and I’m looking to replace the whole thing. I’ve read over the last few years that prefabs from HP/Dell/etc. have gone to shit and don’t really work like they used to. Since I’m looking to expand comfortably, I’ve been thinking of giving building my own again.

I remember when I was a young lad, that there were two big pain points when putting the rig together: motherboard alignment with the case (I shorted two mobos by having it touch the bare metal of the grounded case; not sure how that happened but it did) and CPU pin alignment so you don’t bend any pins when inserting into the socket.

Since it’s been several decades since my last build, what are some things I should be aware of? Things I should avoid?

For example, I only recently learned what M.2 SSD are. My desktop has (had) SATA 3.5" drives, only one of which is an SSD.

I’ll admit I am a bit overwhelmed by some of my choices. I’ve spent some time on pcpartpicker and feel very overwhelmed by some of the options. Most of my time is spent in code development (primarily containers and node). I am planning on installing Linux (Ubuntu, most likely) and I am hoping to tinker with some AI models, something I haven’t been able to do with my now broken desktop due to it’s age. For ML/AI, I know I’ll need some sort of GPU, knowing only that NVIDIA cards require closed-source drivers. While I fully support FOSS, I’m not a OSS purist and fully accept that using a closed source drivers for linux may not be avoidable. Happy to take recommendations on GPUs!

Since I also host a myriad of self hosted apps on my desktop, I know I’ll need to beef up my RAM (I usually go the max or at least plan for the max).

My main requirements:

  • Intel i7 processor (I’ve tried i5s and they can’t keep up with what I code; I know i9s are the latest hotness but don’t think the price is worth it; I’ve also tried AMD processors before and had terrible luck. I’m willing to try them again but I’d need a GOOD recommendation)
  • At least 3 SATA ports so that I can carry my drives over
  • At least one M.2 port (I cannibalized a laptop I recycled recently and grabbed the 1TB M.2 card)
  • On-board Ethernet/NIC (on-board wifi/bluetooth not required, but won’t complain if they have them)
  • Support at least 32 GB of RAM
  • GPU that can support some sort of ML/AI with DisplayPort (preferred)

Nice to haves:

  • MoBo with front USB 3 ports but will accept USB 2 (C vs A doesn’t matter)
  • On-board sound (I typically use headphones or bluetooth headset so I don’t need anything fancy. I mostly listen to music when I code and occasionally do video calls.)

I threw together this list: https://pcpartpicker.com/list/n6wVRK

It didn’t matter to me if it was in stock; just wanted a place to start. Advice is very much appreciated!

EDIT: WOW!! I am shocked and humbled by the great advice I’ve gotten here. And you’ve given me a boost in confidence in doing this myself. Thank you all and I’ll keep replying as I can.

  • grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    1
    ·
    edit-2
    9 months ago

    Well, let’s see:

    • You no longer have to set jumpers to “master” or “slave” on your hard drives, both because we don’t put two drives on the same ribbon cable anymore and because the terminology is considered kinda offensive.

    • Speaking of jumpers, there’s a distinct lack of them on motherboards these days compared to the ones you’re familiar with: everything’s got to be configured in firmware instead.

    • There’s a thing called “plug 'n play” now, so you don’t have to worry about IRQ conflicts etc.

    • Make sure your power supply is “ATX”, not just “AT”. The computer has a soft on/off switch controlled through the motherboard now – the hard switch on the PSU itself can just normally stay on.

    • Cooling is a much bigger deal than it was last time you built a PC. CPUs require not just heat sinks now, but fans too! You’re even going to want some extra fans to cool the inside of the case instead of relying on the PSU fan to do it.

    • A lot more functionality is integrated onto motherboards these days, so you don’t need nearly as big a case or as many expansion slots as you used to. In fact, you could probably get by without any ISA slots at all!

    • Spiralvortexisalie@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      9 months ago

      While I love this list, it is more applicable to the turn of the century than a a decade ago. I was half expecting to see “ram no longer has to be installed in pairs” on the list.

      ETA: Talking about EDO memory not dual channel

      • Rehwyn@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        9 months ago

        I think you may have misread OPs post. They haven’t built a PC since shirtly after they were 10-11, which was almost 30 years ago. So developments since the turn of the century are in fact relevant here, heh.

        • AtariDump@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          9 months ago

          They haven’t built a PC since shirtly after they were 10-11…

          Well, they’d need a much bigger shirt now than when they were 10 or 11.

          I’ll see myself out.

  • youmaynotknow@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    ·
    9 months ago

    I for one would not purchase any Intel hardware as long as AMD is around. Not that they’re bad or anything, but AMD gives me much Kore “bang for the buck”. To future proof your rig, I strongly suggest you go with the latest socket (be it Intel or AMD, doesn’t matter) and make sure you get DDR5 RAM. PCI Gen 4, and then have at it.

    Getting an 80 Plus Gold power supply is always nice too.

    And then there’s the cooling. I see you went with a radiator and fan, but I strongly suggest getting some type of liquid cooling. The prices are not that bad anymore (unlike about 10 years ago, which was insane).

    As for the board, you’ll get all kinds of different suggestions. Some people swear by Asus, I’d rather go with Gigabyte (love the Aorus line), so it’ll come down to brand trust at the end of the day.

    As for the card, I hear a lot of crap given to Nvidia about being closed source, and I sort of agree that’s messed up, but ATI cards (while pretty good) are always a step behind Nvidia. Plus, most distros have them working out of the box.

    It can be intimidating after so many years, but its way simpler than it was back then.

    Good luck man, you got this, there’s nothing to fear but fear itself.

    • CosmicTurtle@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      I for one would not purchase any Intel hardware as long as AMD is around. Not that they’re bad or anything, but AMD gives me much Kore “bang for the buck”.

      If you have a processor line in mind, let me know. Happy to give them another look, given my experience with AMD is 30 some years old.

      And then there’s the cooling. I see you went with a radiator and fan, but I strongly suggest getting some type of liquid cooling. The prices are not that bad anymore (unlike about 10 years ago, which was insane).

      I’m not tied to the cooling solution I picked. I just picked something that looked affordable and did what I wanted. I’d love to do liquid cooling so long as it isn’t a pain. I helped my friend back in high school do liquid cooling and it was a proper mess. We came close to shorting his entire rig.

      As for the board, you’ll get all kinds of different suggestions. Some people swear by Asus, I’d rather go with Gigabyte (love the Aorus line), so it’ll come down to brand trust at the end of the day.

      I have zero brand loyalty here. The boards I’m looking at right now all have embedded wifi with the annoying antenna…I really want bluetooth embedded so it seems like I’ll have to have wifi but just not use it.

    • CeeBee@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      ATI cards (while pretty good) are always a step behind Nvidia.

      Ok, you mean AMD. They bought ATI like 20 years ago now and that branding is long dead.

      And AMD cards are hardly “a step behind” Nvidia. This is only true if you buy the 24GB top card of the series. Otherwise you’ll get comparable performance from AMD at a better value.

      Plus, most distros have them working out of the box.

      Unless you’re running a kernel <6.x then every distro will support AMD cards. And even then, you could always install the proprietary blobs from AMD and get full support on any distro. The kernel version only matters if you want to use the FOSS kernel drivers for the cards.

      • youmaynotknow@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        I agree that I could be wrong on the comparison. Maybe they are not that far behind, but guaranteed not at the same level when comparing apples to apples. I wish that wasn’t the case, but it still is.

        • CeeBee@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          when comparing apples to apples.

          But this isn’t really easy to do, and impossible in some cases.

          Historically, Nvidia has done better than AMD in gaming performance because there’s just so much game specific optimizations in the Nvidia drivers, whereas AMD didn’t.

          On the other hand, AMD historically had better raw performance in scientific calculation tasks (pre-deeplearning trend).

          Nvidia has had a stranglehold on the AI market entirely because of their CUDA dominance. But hopefully AMD has finally bucked that tend with their new ROCm release that is a drop-in replacement for CUDA (meaning you can just run CUDA compiled applications on AMD with no changes).

          Also, AMD’s new MI300X AI processor is (supposedly) wiping the floor with Nvidia’s H100 cards. I say “supposedly” because I don’t have $50k USD to buy both cards and compare myself.

          • youmaynotknow@lemmy.ml
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 months ago

            I have absolutely no counter for you on this one, as I’m jot aware of the highest level stuff between manufacturers. And it makes sense. Nvidia has been the goto manufacturer for gaming and developers usually improve their code based on what’s needed to run the best possible on Nvidia hardware. I’ll research Kore on this when I have a chance, this seems to he a very interesting topic. Thank you for pointing this out.

  • shadowintheday2@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    9 months ago

    AMD is the gold standard for general user PCs in the last 5+ years. Intel simply cannot compete at the same energy expenditure/performance. At the same/close price/performance, Intel either burn a small thermonuclear power plant to deliver comparable performance, or simply is worse compared to similar Ryzens

    Ryzens are like aliens compared to what AMD used to be before them

    So I’d go with them

    As for the GPU, if you want to use Linux forget Nvidia

    • CosmicTurtle@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      I typically code a lot of back-end and processor intensive workloads. The issue I have with i5s is that they don’t seem to be as “snappy” as i7s. I’ve worked with both for good long periods of time. When I had an i5 laptop, I had to off-load a good majority of my development to the cloud because I couldn’t do containers and listen to music and run two monitors at the same time. I never had the same issue with i7 processors, even on a laptop.

  • InformalTrifle@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    Someone might have already mentioned it, but M.2 is just a physical connector. You can have M.2 SATA or M.2 NVME drives. Prefer NVME (a modern motherboard should support it but older ones only do SATA)

  • tabular@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    9 months ago

    The responsiveness between a hard drive and an SSD is night and day. NVMe is even faster but not noticeable unless you move a hell of a lot of data around. A motherboard having at least 1 M.2 NVMe slot is common, so installing the OS on it is an option. Hard drives have more storage per price, but unless space is significant factor I suggest using SSDs (also quieter than a spinning disk!). More info on storage formats in this video

    Recent generations of motherboards use DDR5 RAM, which were very expensive on release. I think the price has come down but I am not up to date this generation. You may be able to save money making a DDR4 system but you’ll be stuck on a less supported platform.

    AMD had like ~10 years of bad/power hungry processors and Intel stagnated, re-releasing 4-core processors over and over. AMD made a big comeback with their Ryzen series becoming best bang for buck, then even over taking Intel. I think it’s pretty even now.

    If you don’t intend to game or do certain compute workloads then you can avoid buying a GPU. Integrated CPUs have come quite far (still low end compared to a dedicated GPU). Crypto mining, Covid and now AI has made the GPUs market expensive and boring. Nvidia has more higher-end cards, mid range is way more expensive for both and low end sucks ass. On Linux AMD GPUs drivers come with the OS, but Nvidia you have to get their proprietary drivers (Linux gaming has come a long way).

    • youmaynotknow@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      9 months ago

      DDR5 has gone down dramatically compared to launch. You can get 64GB with a very fast bus for under 200 dollars now. At launch 32GB would easily set you back 250+. AMD has made a killing with Ryzen. Never mind the new naming convention that Intel came up with to make it even more complicated to choose the right CPU for your use cases, ridiculous. As for Nvidia GPU drivers, at the end of the day, they just work, regardless their proprietary drivers philosophy (which, again, I agree sucks). But if the OP is going to be doing AI development, machine learning and all that cool stuff, he’d be better served by getting a few CUDA TPUs. You can get those anywhere from 25 dollars to less than 100, and they come in all types (USB, PCI, M.2). https://coral.ai/products/#prototyping-products I have 1 USB Coral running the AI on my Frigate dicker for 16 cameras, and my CPU never reaches more than 12% while the TPU itself barely touches 20% utilization. You put 2 of those bad boys together, and the CPU would probably not even move from idle 🤣

      • CeeBee@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        9 months ago

        getting a few CUDA TPUs

        https://coral.ai/products/#prototyping-products

        Those aren’t “CUDA” anything. CUDA is a parallel processing framework by Nvidia and for Nvidia’s cards.

        Also, those devices are only good for inferencing smaller models for things like object detection. They aren’t good for developing AI models (in the sense of training). And they can’t run LLMs. Maybe you can run a smaller model under 4B, but those aren’t exactly great for accuracy.

        At best you could hope for is to run a very small instruct model trained on very specific data (like robotic actions) that doesn’t need accuracy in the sense of “knowledge accuracy”.

        And completely forgot any kind of generative image stuff.

        • youmaynotknow@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          9 months ago

          Same reply. And you can add as many TPUs as you want to push it to whatever level you want. At 59 bucks a piece, they’ll blow any 4070 out of the water for the same or less cost. But to the OP, you don’t have to believe any of us. You’re in that field, I’m sure you can find the jnfo on if these would fit your needs or not.

          • CeeBee@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            9 months ago

            And you can add as many TPUs as you want to push it to whatever level you want

            No you can’t. You’re going to be limited by the number of PCI lanes. But putting that aside, those Coral TPUs don’t have any memory. Which means for each operation you need to shuffle the relevant data over the bus to the device for processing, and then back and forth again. You’re going to be doing this thousands of times per second (likely much more) and I can tell you from personal experience that running AI like is painfully slow (if you can get it to even work that way in the first place).

            You’re talking about the equivalent of buying hundreds of dollars of groceries, and then getting everything home 10km away by walking with whatever you can put in your pockets, and then doing multiple trips.

            What you’re suggesting can’t work.

            • youmaynotknow@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              9 months ago

              Let’s get this out of the way. Not a single consumer grade board has more than 16 lanes on 1 PCI slot. With the exception of 2 or 3 very expensive new boards out there, you’ll be hard pressed to find a board with 3 slots giving you a total mas of 28 lanes (16+8+4). So, regardless of TPU or GPU that’s going to be your limit. GPUs are designed as general purpose processors that have to support millions of different applications and software. So while a GPU can run multiple functions at once, in order to do so, it must access registers or shared memory to read and store the intermediate calculation results. And since the GPU performs tons of parallel calculations on its thousands of ALUs, it also expends large amounts of energy in order to access memory, which in turn increases the footprint of the GPU. TPUs are application-specific integrated circuits (ASIC) designed specifically to handle the computational demands of machine learning and accelerate AI calculations and algorithms. They are created as a domain-specific architecture. What that means is that instead of designing a general purpose processor like a GPU or CPU, they were designed as a matrix processor that was specialized for neural network work loads. Since the TPU is a matrix processor instead of a general purpose processor, it removes the memory access problem that slows down GPUs and CPUs and requires them to use more processing power. Get your facts straight and read more before you try to send others on wild goose chases. As I said, the OP already works this field, it shouldn’t be hard for him to find the information and make an educated decision.

              • CeeBee@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                9 months ago

                A lot of what you said is true.

                Since the TPU is a matrix processor instead of a general purpose processor, it removes the memory access problem that slows down GPUs and CPUs and requires them to use more processing power.

                Just no. Flat out no. Just so much wrong. How does the TPU process data? How does the data get there? It needs to be shuttled back and forth over the bus. Doing this for a 1080p image with of data several times a second is fine. An uncompressed 1080p image is about 8MB. Entirely manageable.

                Edit: it’s not even 1080p, because the image would get resized to the input size. So again, 300x300x3 for the past model I could find.

                /Edit

                Look at this repo. You need to convert the models using the TFLite framework (Tensorflow Lite) which is designed for resource constrained edge devices. The max resolution for input size is 224x224x3. I would imagine it can’t handle anything larger.

                https://github.com/jveitchmichaelis/edgetpu-yolo/tree/main/data

                Now look at the official model zoo on the Google Coral website.

                https://coral.ai/models/

                Not a single model is larger than 40MB. Whereas LLMs start at well over a big for even smaller (and inaccurate) models. The good ones start at about 4GB and I frequently run models at about 20GB. The size in parameters really makes a huge difference.

                You likely/technically could run an LLM on a Coral, but you’re going to wait on the order of double-digit minutes for a basic response, of not way longer.

                It’s just not going to happen.

                • youmaynotknow@lemmy.ml
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  9 months ago

                  OK mman, dont pop a vein over this. I’m a hobbyist, with some experience, but a hobbyist nonetheless. I’m speaking from personal experience, nothing else. You may well be right (and thanks for the links, they’re really good for me to learn even more).

                  I guess, at the end of the day, the OP will need to make an informed decision on what will work for him while adhering to his budget.

                  I’m glad to be here, because I can help people (at least some times) and learn at the same time.

                  I just hope the OP ends up with something that’ll fit his needs and budget. I will he adding a K80 to my rig soon, only because I can let go of 50 bucks and want to test it until it burns.

                  I wish you all a very nice weekend, and keep tweaking, its too Much fun.

      • Fubber Nuckin'@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        Hold on a second, how come every time i look for TPUs i get a bunch of not-for-sale nvidia and Google cards, but this just exists out there and i never heard of it?

        • youmaynotknow@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          I found out about those about 6 months ago only, and it was by chance while going over the UnRaid forum for Frigate, so I decided to do some research. It took me almost 4 months to finally get my paws on one. They were seriously scarce back then, but have been available for a couple of month now. I only got mine finally at the end of November. They seem to be in an availability trend similar to Raspberry Pis.

    • CosmicTurtle@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      I was really hoping to cannibalize the 32 GBs of DDR3 RAM but I couldn’t find a MoBo that supports it anymore. Then I saw DDR5 is the latest!

      I don’t really do any gaming. If I wasn’t going to tinker with AI, I’d just need a card for dual DisplayPort output. I can support HDMI but…I prefer DP

      • youmaynotknow@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        The 4070 TI will give you quite a few years out of it for sure. You could also completely forego the GPU and get a couple of CUDAs for a fraction of the cost. Just use the integrated graphics and you’re golden.

          • CeeBee@lemmy.world
            link
            fedilink
            English
            arrow-up
            4
            ·
            9 months ago

            Are CUDAs something that I can select within pcpartpicker?

            I’m not sure what they were trying to say, but there’s no such thing as “getting a couple of CUDA’s”.

            CUDA is a framework that runs on Nvidia hardware. It’s the hardware that will have “CUDA cores” which are large amounts of low power processing units. AMD calls them “stream processors”.

          • youmaynotknow@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            ·
            9 months ago

            I misspoke, and I apologize. I could not recall the term TPU, so I just went with the name of the protocol (CUDA). Nvidia has various TPU devices that use CUDA protocol (like the K80 for example). TPUs (Tensor Processing Units) are coprocessors designed to run some GPU intensive tasks without the expense of an actual GPU unit. They are not a one to one replacement, as they perform calculations in completely different ways.

            I believe you would be well served by researching a bit and then making an informed decision on what to get (TPU, GPU or both).

        • CeeBee@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          You could also completely forego the GPU and get a couple of CUDAs for a fraction of the cost.

          What is this sentence? How do you “get a couple of CUDA’s”?

          • youmaynotknow@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            5
            ·
            9 months ago

            Dude, you KNOW I’m talking about TPUs. The name escaped my mind at the moment. Sorry if my English is not to your royalty level. Are you really so hired that you have to make a party out of that? Ran out of credits on pornhub or something?

  • phrogpilot73@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    9 months ago

    AM5 sockets are now LGA like Intel. AM4 was the last PGA socket, so bent pins on the chip are a thing of the past. Make sure to leave the socket cover in place while installing the CPU. Now, the fear is bending a pin on the MoBo.

  • Fisch@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    9 months ago

    I’d defintely go with an M.2 SSD, you can get 1tb for 50€ and 2tb for 100€ now and they’re much faster, more reliable and take up way less space.

    For ML/AI stuff, you might be just fine using an AMD GPU. AMD GPUs are a lot easier to use on Linux and are also a good bit cheaper. I use Fedora with an AMD GPU and I just installed the packages for OpenCL and HIP and now I can run LLMs on my PC using my GPU. I’ve also used Stable Diffusion with that GPU on Linux before. If there’s something specific you want to do regarding that, I’d look up first if you need an Nvidia GPU for that but from my experience AMD GPUs work just fine.

    I’d take a look at AMD CPUs again. Last time I checked they were even cheaper (including mobo price) than Intel even though they’re also more efficient (faster and less power draw). Prices might have changed tho. You should probably use a Ryzen 5, a Ryzen 7 will only make sense if you use all cores because game performance is pretty much the same. A Ryzen 3 is more of a budget option tho, I wouldn’t use that. If it’s in your budget, you should also use the newest generation that uses the AM5 socket because you’ll be able to upgrade your CPU without needing a new mobo. I think it also only supports DDR5 RAM, which is more expensive than DDR4. If you use a Ryzen generation that uses the AM4 socket, it’s gonna be cheaper but if you want to upgrade you’ll need a new mobo with AM5 and new DDR5 RAM in addition to the new CPU.

    As for Linux distros, my recommendations are Linux Mint if you want something very easy, EndeavourOS if you want something Arch-based or Fedora if you want something that’s not quite as easy as Mint but more up-to-date. I personally use Fedora but I used EndeavourOS before. I detailed why I switched to Fedora in a reply here somewhere.