Building a Desktop PC for Machine Learning

This is really just due to organisational inertia. Both Intel and AMD offer essentially the same product - an x86_64 CPU, but the AMD ones IMO just offer better value for money. ML isn't really CPU-bound though so really whatever works for you.)

I do think a GPU makes the most sense for most ML applications (cases where super-fast predictions are required, can’t go to the GPU although training obviously can still be GPU side), but as far as CPUs are concerned, Intel offers 2x the Flops per core.

Also, I don’t know why you think it’s not CPU bound? Do you mean when there’s a GPU? (In which case I agree).
 
I do think a GPU makes the most sense for most ML applications (cases where super-fast predictions are required, can’t go to the GPU although training obviously can still be GPU side), but as far as CPUs are concerned, Intel offers 2x the Flops per core.

Also, I don’t know why you think it’s not CPU bound? Do you mean when there’s a GPU? (In which case I agree).
Yes that's what I meant - if you're doing GPU stuff then the CPU makes not too much difference.

Sure, Intel CPUs are sometimes faster in single-threaded workloads but not double the FLOPS per core surely?

But even so, there's the factor to consider that you get six cores in the AMD processors where most Intel ones are only four, and the AMD ones are cheaper to boot. My logic is, save money on the CPU where it won't make a big difference in the application, and spend it on the GPU where it will.
 
Yes that's what I meant - if you're doing GPU stuff then the CPU makes not too much difference.

Sure, Intel CPUs are sometimes faster in single-threaded workloads but not double the FLOPS per core surely?

But even so, there's the factor to consider that you get six cores in the AMD processors where most Intel ones are only four, and the AMD ones are cheaper to boot. My logic is, save money on the CPU where it won't make a big difference in the application, and spend it on the GPU where it will.

Most of the larger core count Intel dies have 2x512 bit ALUs, while AMD only had 2x256bit ALUs, so it is exactly 2x the FLOPS for the same core count and clocks. If one isn’t seeing 2x, the issue is likely that the particular application is limited by memory bandwidth or that the developer hasn’t optimized for AVX512, or the code is inherently scalar.

If you’re talking low end count dies (that don’t support AVX512 at all), it’s roughly the same.

Personally, the variable latency on AMD CPUs and smaller L2+L3 Cache (versus the bigger Intel cores) and slower caches makes it very finicky to write fast code for. This is one of the primary reasons Intel is still leading the professional market by a mile.
 
Asrock Taichi is an expensive board. Are you sure you need it? I have a Master Sli one which is somewhat cheaper.

Not sure about your workloads but perhaps more RAM would be beneficial. When I did my build I used the slightly cheaper motherboard and I got two 16GB RAM modules, bringing it up to 32GB.

If it were me I'd also go for a 500GB SSD instead of the 1TB one, and use the money to save to get a 4TB HDD. They're with very well-priced on Takealot at the moment.

As to the case and power supply - I went with a Phanteks Eclipse P350X which is cool and fairly quiet, and about half the price of the one you've recommended. If you've got strong reasoning for that one then it's okay. Make sure how many fans it comes with, you may want to add one or two more. And shell out the extra R100 for quiet fans, totally worth it.

The PSU you've got there is a bronze one. I'd suggest to look for either a gold or platinum one, otherwise your efficiency is quite low, you'll pay more for electricity than what you need to, especially while the computer is idling.

Thanks for your feedback!
  • I am happy with the case and motherboard - I'm investing more money in them to future-proof as much as possible.
  • Regarding RAM, I've chosen 3466MHz RAM and have chosen the motherboard with 64GB RAM support, so I'd like to fill up the RAM in future. So I'm only starting with 16GB, but will hopefully soon add more.
  • I also plan to add a 6TB HDD later on, but for now I'd like to invest in a 1TB SSD to ensure ample storage space for software and perhaps syncing cloud storage.
  • The case I have in my list has three included AF140L fans - 2 front and 1 rear. This should be enough?
  • Thanks for the heads-up about the PSU - a decent gold one isn't that much more expensive. I now have added the following PSU to the components:
Another question as I am new to PC building - will the ASRock X470 Taichi motherboard support my 3466MHz RAM without any modification? The motherboard specs says "AMD Ryzen series CPUs (Pinnacle Ridge) support DDR4 3466 (OC) / 3200(OC) / 2933/2667/2400/2133 ECC & non-ECC, un-buffered memory*". I'm just worried by that "(OC)" in brackets. As far as I understand that is short for overclock, but my question is - will it work if I simply plug it in?
 
What type of machine learning do you want to do?
So my masters project is about identifying the spread of Prosopis (an invasive alien tree) in the Northern Cape province over the past ten years. I am going to use satellite imagery in conjunction with self-collected field data. I'd like to use Random Forest (RF) or some Convolution Neural Network (CNN) to train (using the field data) and classify the species for the entire Northern Cape on the satellite imagery.
 
Thanks for your feedback!
  • I am happy with the case and motherboard - I'm investing more money in them to future-proof as much as possible.
  • Regarding RAM, I've chosen 3466MHz RAM and have chosen the motherboard with 64GB RAM support, so I'd like to fill up the RAM in future. So I'm only starting with 16GB, but will hopefully soon add more.
  • I also plan to add a 6TB HDD later on, but for now I'd like to invest in a 1TB SSD to ensure ample storage space for software and perhaps syncing cloud storage.
  • The case I have in my list has three included AF140L fans - 2 front and 1 rear. This should be enough?
  • Thanks for the heads-up about the PSU - a decent gold one isn't that much more expensive. I now have added the following PSU to the components:
Another question as I am new to PC building - will the ASRock X470 Taichi motherboard support my 3466MHz RAM without any modification? The motherboard specs says "AMD Ryzen series CPUs (Pinnacle Ridge) support DDR4 3466 (OC) / 3200(OC) / 2933/2667/2400/2133 ECC & non-ECC, un-buffered memory*". I'm just worried by that "(OC)" in brackets. As far as I understand that is short for overclock, but my question is - will it work if I simply plug it in?

Should just need to enable xmp/amp memory profile.
 
As mentioned, you will need to get into the BIOS of the motherboard to enable the xmp/amp memory profile to allow the DDR-4 to be "overclocked", its natural frequency is 2400 MHz. It was easy enough to do with my Asrock board so it should be more or less the same with this one.

I'm yet to be convinced that higher-speed memory makes much of a difference. I'm sure it would techincally do so but if it does it'll be too small to notice IMO. Same with the motherboard - once you go above a certain level then spending more money doesn't get you much. I went with the Master-Sli version because it has 4 RAM slots, 2 M.2 slots and enough space for me to expand, even to accept two graphics cards if I should one day figure out I need that. The Taichi offers main benefit if you plan to overclock the stuffing out of your CPU and install water-cooling and things like that. So while I don't think you'll regret the purchase, it's a kick-ass board, but I'd personally spend the money on extra RAM right up front.

Still, your money your choice. That's just what I would do.
 
So my masters project is about identifying the spread of Prosopis (an invasive alien tree) in the Northern Cape province over the past ten years. I am going to use satellite imagery in conjunction with self-collected field data. I'd like to use Random Forest (RF) or some Convolution Neural Network (CNN) to train (using the field data) and classify the species for the entire Northern Cape on the satellite imagery.

Well, Random Forest sounds appropriate. :p

Actually, CNNs would likely be better. Do you have target data, where the images have already been manually classified? (for supervised learning)
 
You're buying a really expensive MB with zero benefit over a cheaper version, you could use cheaper 3200mhz ram with no negligible performance impact. You could cut the cost of the case by more than halve. you could get the same gpu for cheaper at one of the other vendors you're buying from. You could probably save enough money to buy 32gb ram if you don't do what you want to do.

lastly you're ordering stuff from evetech...
 
For machine learning on a budget I'd recommend Intel's Neural compute stick usb
https://www.amazon.com/Intel-NCSM2450-DK1-Movidius-Neural-Compute/dp/B076751BN8

This is an example build based on Carbonite & Wootware parts that would more than sate you needs.

CPU: Ryzen 7 1700 -> R2418
Motherboard: MSI B450M Pro-VDH -> R1529
Memory: G.Skill F4-2400C15D-16GFX 16GB -> R1729
SSD: Mushkin MKNSSDPL500GB-D8 Pilot 500GB -> R1399
HDD: WD WD40EZRZ Blue 4TB -> R1879
Case: CM MasterBox E500L -> R713
GPU: Palit GeForce RTX 2060 -> R5999
PSU: Cooler Master MPW-5502-ACABW MWE 550W 80 Plus -> R699

Total: R16371

For inclusion of Monitor/Mouse/Keyboard/Headphones
Redragon S101-BA-1 Headset + Keyboard + Mouse + Mousepad RGB Gaming Combo -> R699
Dell SE2717H 27" -> R2899

Extended Total: R19969

Dirt cheap option : Ditch the HDD till later, 500GB SSD should be more than enough to get you started and this shaves another 2k off the price.

Cheapest RTX card from Palit (They are a good brand, don't think just because it's cheap it's crap), this will get you access to that sweet machine learning hardware along with an extremely capable GPU for any and all video editing tasks, another boon for the RTX range of cards is they have better NVENC capture over the previous generations.
Ryzen 7 1700 for highest thread count at lowest cost, that's almost R150 per thread, unbeatable value.
Get the cheapest motherboard that has 4 DIMM slots.
For memory on AMD Ryzen I recommend FlareX ram for G.Skill, they can easilly overclock to 2800Mhz and are Ryzen optimized so they will work very well with the Ryzen 7 1700.
M.2 SSD for OS drive gives you plenty of blazing fast working storage for your projects and for long term storage of files there is the WD Blue 4TB, look to expand to a second for RAID protection of data.

PS more expensive motherboards are completely unnecessary and for the most part a waste of money, the cheaper motherboards will do exactly the same job, exactly as good as the more expensive ones, more expensive motherboard does not future proof you at all, you pay a premium for features you will never make use of.

Oh and for OS if you want Windows then get an copy off ebay for dirt cheap, or go for ubuntu for free.

Goodluck and hope this helped :)
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X