Best Deal for Matlab engineering setup?

yhelothar

Lifer
Dec 11, 2002
18,409
39
91
So I'm an engineering student now that has a lot of matlab work. My Q6600 @ 3.2GHz with 8GB ram is finally starting to feel tired out now.

I noticed task manager only shows about 50% utilization at any given time even though matlab would be hard at work for 5-30 seconds. So I'm not entirely sure if the CPU is the culprit here?

I'm looking at the 3770k deal at microcenter now.
It looks like that entire setup will cost about $400 with 16GB ram.
I might recoup about $120 for my setup.

Are there possibly any other better routes? What would you recommend for a motherboard?

I do plan to overclock everything to its limits.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,500
4,347
75
Sounds like you're not running in parallel very well. More cores, real or virtual, aren't going to help that.

Are you using parfor? Have you set the number of workers to four?

More importantly, are you properly vectorizing your data? If you're operating on one number at a time, that's extremely slow.
 

Sleepingforest

Platinum Member
Nov 18, 2012
2,375
0
76
Also, if you're doing important calculations, you're going to want a chipset capable of ECC RAM and you shouldn't overclock. Those things greatly increase the chance of error.
 

Torn Mind

Lifer
Nov 25, 2012
12,004
2,748
136
Also, if you're doing important calculations, you're going to want a chipset capable of ECC RAM and you shouldn't overclock. Those things greatly increase the chance of error.

ECC RAM is probably unnecessary. My university had Matlab running on Dell desktops with E8400s and I highly doubt the professors got special server computers despite their more demanding needs.

Matlab isn't quite automated like some calculation programs are. Essentially, it's a program that does math, and you need to program using it's pain-in-the-ass "language" it to do the math, such as defining the variables, doing vector calculations, etc. It's basically a souped up and extremely versatile calculator. I would think the Matlab would catch an error if there was one. Overclocking though, should be a tad conservative because you'll probably cause a program error or BSOD if you go too far.

It was a pain the ass and I never got comfortable with it while I had to use it in college for undergrad math. Debugging was a time-gobbler.
 

yhelothar

Lifer
Dec 11, 2002
18,409
39
91
Sounds like you're not running in parallel very well. More cores, real or virtual, aren't going to help that.

Are you using parfor? Have you set the number of workers to four?

More importantly, are you properly vectorizing your data? If you're operating on one number at a time, that's extremely slow.
Thanks I'll try this.

Also, if you're doing important calculations, you're going to want a chipset capable of ECC RAM and you shouldn't overclock. Those things greatly increase the chance of error.

I'm pretty sure if it passes a night of Prime95, it'll be fine. I'm not doing anything mission critical, just exercises for personal knowledge. Perhaps if I get a wrong answer on an assignment, I can blame it on overclocking to try to get a second chance. :p
 

mfenn

Elite Member
Jan 17, 2010
22,400
5
71
www.mfenn.com
Sounds like you're not running in parallel very well. More cores, real or virtual, aren't going to help that.

Are you using parfor? Have you set the number of workers to four?

More importantly, are you properly vectorizing your data? If you're operating on one number at a time, that's extremely slow.

I agree that optimizing the code to work on multiple processors is the best long-term way of solving performance problems.

Whether or not this is worth it in terms of programmer effort depends on how often the code will be run. If it's just a one-off for a homework assignment, I don't know that I'd bother. Faster cores will provide a "free" (in terms of programming effort) speedup. Each core on an i5 3570K is roughly twice as fast as each core on a Q6600.

OP, if you do go down the path of code optimization, Matlab has great profiling tools to help you figure out what part of the code is slow so that you can focus your efforts there.
 

yhelothar

Lifer
Dec 11, 2002
18,409
39
91
Thanks. I was solving a differential equation on a 36 element vector the other day that took several minutes. I had to greatly lower the precision so that the plot looked as curly as my pubes just to get it to run in a bearable amount of time.

I'll check out the profiling tools.