What CPU, GPU, and RAM are recommended for efficient image processing in MATLAB?

  • MATLAB
  • Thread starter member 428835
  • Start date
  • Tags
    cpu
I doubt she needs that. There are those with 256GB RAM. Again, probably overkill. It's going to be a balance of cost and capability. With the limited information we have, I'd suggest a powerful desktop with an i7 (or i9) CPU, 32GB of RAM, and a decent GPU (GTX 1660 or better).In summary, the conversation revolved around the hardware specifications needed for image processing using MATLAB and possibly C. The suggestion was to err on the side of overdoing it and invest in a gaming laptop or desktop with a decent CPU, at least 16GB of RAM, and a GPU that is not at the bottom of the pile. Some specific component recommendations were also provided
  • #1
member 428835
Hi PF!

A friend of mine is starting her postdoc, where she will be using MATLAB for image processing (she might get into C too, unsure at the moment, as she just got the position a few days ago). Currently, each run uses about 2000 images, each at 2 MB.

Given this, what CPU, GPU, and amount of RAM do you think would do more than suffice. She wants to err on the side of overdoing it, since these images might get larger.
 
Physics news on Phys.org
  • #3
jedishrfu said:
These are always very subjective questions. The best we can do here is suggest a gaming laptop although a desktop machine may have more power at the expense of portability which I think she'd prefer:

https://www.pcmag.com/picks/the-best-gaming-laptops
I'm actually referring to the literal CPU. She wants to build a desktop. I did this a while ago and it was SO worth it.
 
  • #4
Literally any CPU that isn't the rock bottom of price and quality will probably work just fine. I do astronomical image processing on both my 2-year-old laptop ($600) and my desktop (much more capable than my laptop) and while my laptop takes a little while longer, it does the job all the same.

As for ram, 16 GB would probably work just fine, though you can go with 32 or 64 GB if you're willing to spend the money.

As for GPU, again, anything not at the bottom of the pile will probably work just fine. I don't know what software your friend will be using, but it may not even use the GPU at all.

Modern computers are extraordinarily capable devices. Even those in the low-mid tier in price can easily tackle almost everything except high quality gaming. I seriously doubt your friend will notice any major differences between spending $500-$1000 vs $2k+ when it comes to her image processing. And even if she would, it probably isn't worth the extra money spent.
 
  • Like
Likes Mark44 and member 428835
  • #5
I quickly put together a CPU, GPU, Memory combo on newegg. I didn't bother to 'optimize' the choices, so you might be able to pay a little less if you choose the same components from other companies.

Memory: G.SKILL Ripjaws V Series 32GB (2 x 16GB) 288-Pin DDR4 SDRAM
CPU: AMD RYZEN 5 2600X 6-Core 3.6 GHz (4.2 GHz Max Boost) Socket AM4 95W
GPU: Sapphire PULSE Radeon RX 580 8GB GDDR5 PCI-E Dual HDMI

Total price: $480.97 before tax.

This is 16GB more memory than my desktop has, a CPU that's slightly less powerful than mine, and a GPU that's practically identical to mine.

Note that unless the image processor software is optimized to use multi-cores, you're better off getting a higher frequency processor and sacrificing a core or two. But we're talking about a difference of perhaps 10-15% clock speed, so it's really not going to make a noticeable difference. Processors seem to be near an upper limit when it comes to clock speed. You just can't find many that go beyond 4.5 GHz, and those that do are only 4.6 or 4.7 GHz. Not much of an improvement for the price you may end up paying.
 
  • Like
Likes member 428835
  • #6
Drakkith said:
I quickly put together a CPU, GPU, Memory combo on newegg. I didn't bother to 'optimize' the choices, so you might be able to pay a little less if you choose the same components from other companies.

Memory: G.SKILL Ripjaws V Series 32GB (2 x 16GB) 288-Pin DDR4 SDRAM
CPU: AMD RYZEN 5 2600X 6-Core 3.6 GHz (4.2 GHz Max Boost) Socket AM4 95W
GPU: Sapphire PULSE Radeon RX 580 8GB GDDR5 PCI-E Dual HDMI

Total price: $480.97 before tax.

This is 16GB more memory than my desktop has, a CPU that's slightly less powerful than mine, and a GPU that's practically identical to mine.

Note that unless the image processor software is optimized to use multi-cores, you're better off getting a higher frequency processor and sacrificing a core or two. But we're talking about a difference of perhaps 10-15% clock speed, so it's really not going to make a noticeable difference. Processors seem to be near an upper limit when it comes to clock speed. You just can't find many that go beyond 4.5 GHz, and those that do are perhaps 4.6 or 4.7 GHz. Not much of an improvement for the price you may end up paying.
Thanks a lot for this, you've really helped me out! I just had zero clue what specs she would need, having built a computer for a completely different purpose.

So thank you very much!
 
  • #7
joshmccraney said:
Thanks a lot for this, you've really helped me out! I just had zero clue what specs she would need, having built a computer for a completely different purpose.

So thank you very much!

Just be aware that my goal was to put together a desktop that's comparable to mine, not to optimize it for any purpose. I seriously doubt it's worth it to break the bank if your friend is mostly interested in using her desktop for image processing, but she can upgrade or downgrade if she wants to.
 
  • #8
Also, since we're talking about building PC's here, I consider an SSD an absolute requirement. I don't care if she has to downgrade another component to get one. I cannot imagine having either a laptop or a desktop without an SSD now that I've been using one for a few years. A 500 GB SSD only costs around $60, which is amazingly cheap compared to when I bought my first SSD!

If she wants sheer storage space, buy an internal/external HDD in addition to the SSD. You can get a 2 TB hard drive for the same price as the 500 GB SSD. I'd get both and put the operating system on the SSD, as it's exactly what my desktop is doing. (256 GB SSD for OS, 500 GB SSD for gaming, 1 TB HDD for non-gaming)
 
  • #9
This is an optimization problem, one for which we don't have all the parameters and constraints. There's a 56-core/112-thread Xeon Platinum available only through custom-built servers, costing as much as a car. You might say that's too expensive, but that takes us down the rabbit hole of how much one is willing to pay for how much speed.

Is it worth $100 to do a run in 50 minutes rather than 60? 50 seconds rather than 60? $200? $500? We don't know any of these things.
 
  • Like
Likes undefined314 and fluidistic
  • #11
Appreciate all the help! And yes, absolutely SSD with HDD for backing up all the photos. I just wasn't sure about the CPU since I'm unfamiliar with many of them. But thank you all very much!

And yea, I realize there is a lot of info missing but I think I now have a good enough understanding to continue here. So thank you all for your helpful feedback (she really needs to get a PF account...).

And yea, I'm aware MATLAB can use the GPU but I've never tried it this way and not sure she has either.

Thank you all!
 
  • #12
joshmccraney said:
Appreciate all the help! And yes, absolutely SSD with HDD for backing up all the photos. I just wasn't sure about the CPU since I'm unfamiliar with many of them. But thank you all very much!

And yea, I realize there is a lot of info missing but I think I now have a good enough understanding to continue here.

There's definitely a lot more to figure out before deciding how to best allocate whatever budget she has. It will depend on the type of image processing being done. For example:
  • How well can the tasks be parallelized? (Not just in theory, but in her implementation)
    • Is it worth shelling out for a CPU with many cores? Some of Matlab's functions scale better with several cores than others.
    • Will she make use of a dedicated GPU? More than one? Many (but not all) image processing tasks can be done much faster with proper use of a capable GPU.
  • An SSD is a good general recommendation, but would it be worth shelling out for a good PCIe drive or would a budget SATA drive do the trick? Loading the images from disk is always a big concern, but the difference between a budget SATA SSD and a PCIe or NVMe drive could be negligible in comparison to how long manipulations take per image.
 
  • #13
joshmccraney said:
And yea, I'm aware MATLAB can use the GPU but I've never tried it this way and not sure she has either.

Using a GPU in Matlab is not hard at all, and for image processing it might be worth investigating. Note that you need need to an NVidia card (unless something has changed in the latest version, the last time I bought a GPU to use with Matlab was 4 years ago), the Radeon card suggested above is not supported(?) .
If I was building a new computer for image processing I would definitely spend some time looking into this.

That said, 2000 images at 2 MB is not very much at all for a modern computer.
"Might get larger" can mean many things. If there is possibility that she will need to process high-res images that are hundreds of MB or even ~GB in size the requirements will obviously be very different; but even in this case the speed of the HD and the amount of RAM will most likely have a bigger effect than the speed of the CPU if you are batching data.
 
  • #14
undefined314 said:
There's definitely a lot more to figure out before deciding how to best allocate whatever budget she has. It will depend on the type of image processing being done. For example:
  • How well can the tasks be parallelized? (Not just in theory, but in her implementation)
    • Is it worth shelling out for a CPU with many cores? Some of Matlab's functions scale better with several cores than others.
    • Will she make use of a dedicated GPU? More than one? Many (but not all) image processing tasks can be done much faster with proper use of a capable GPU.
  • An SSD is a good general recommendation, but would it be worth shelling out for a good PCIe drive or would a budget SATA drive do the trick? Loading the images from disk is always a big concern, but the difference between a budget SATA SSD and a PCIe or NVMe drive could be negligible in comparison to how long manipulations take per image.
Well said.
 

Related to What CPU, GPU, and RAM are recommended for efficient image processing in MATLAB?

1. What is a CPU and why is it important for image processing in MATLAB?

A CPU, or central processing unit, is the primary component of a computer responsible for carrying out instructions and performing calculations. It is important for image processing in MATLAB because it is responsible for running the software and carrying out the algorithms needed to process and manipulate images.

2. Do I need a specific type of CPU for efficient image processing in MATLAB?

While any modern CPU can run MATLAB and perform basic image processing tasks, a CPU with multiple cores and a high clock speed will provide better performance for more complex image processing tasks. It is recommended to have at least a quad-core CPU with a clock speed of 3.0 GHz or higher for efficient image processing in MATLAB.

3. What is a GPU and how does it impact image processing in MATLAB?

A GPU, or graphics processing unit, is a specialized processor designed to handle complex graphical and visual tasks. In MATLAB, a GPU can be used to accelerate image processing by offloading some of the calculations from the CPU to the GPU, resulting in faster processing times.

4. Is a dedicated GPU necessary for image processing in MATLAB?

A dedicated GPU is not necessary for basic image processing in MATLAB, but it can greatly improve performance for more complex tasks. MATLAB has built-in GPU support, so if your computer has a compatible GPU, it can be utilized for image processing. However, if you are working with large, high-resolution images or performing intensive image processing tasks, a dedicated GPU is recommended.

5. How much RAM do I need for efficient image processing in MATLAB?

The amount of RAM, or random access memory, required for efficient image processing in MATLAB depends on the size and complexity of the images being processed. As a general rule, it is recommended to have at least 8GB of RAM for basic image processing tasks, and 16GB or more for more complex tasks. Additionally, having more RAM can also improve overall system performance when working with large datasets.

Similar threads

Replies
10
Views
2K
  • STEM Career Guidance
Replies
4
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
7
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
7
Views
3K
  • General Discussion
Replies
17
Views
7K
  • Special and General Relativity
Replies
13
Views
2K
  • Sticky
  • Feedback and Announcements
Replies
2
Views
495K
Back
Top