Matlab and Hyperthreading/Dual cores

  • MATLAB
  • Thread starter 600burger
  • Start date
  • #1
64
0
I recently noticed while crunching some CFD numbers in Matlab that only 50% of my HT processor is being used. I understand basicly that HT is an early imitation of dual core. I assume if i turn off HT i will regain my lost cycles.

My question is regarding an invedible upgrade to my rig, which in this day and age most likely means dual core. Does matlab take the same "hit" from dual core?

-Thanks!
 

Answers and Replies

  • #2
1,997
5
I recently noticed while crunching some CFD numbers in Matlab that only 50% of my HT processor is being used. I understand basicly that HT is an early imitation of dual core. I assume if i turn off HT i will regain my lost cycles.
No cycles are lost. A dual core processor and hyperthreading are two different things.

My question is regarding an invedible upgrade to my rig, which in this day and age most likely means dual core. Does matlab take the same "hit" from dual core?
Matlab was not designed as a multi/threaded application, which I think is rather embarrasing. Version R2007a seems to allow some multiple threads but I am not sure if this was some kind of a hack or an elegant redesign. Note that just because an application is called multi threaded that does not mean it´s throughput increases linearly with multiple cores. Every application can be made multi threaded with tons of synchronization locks which in the end can even make it slower instead of faster.

I found a document that gives a summary http://www.mathworks.com/support/solutions/data/1-372IPG.html?1-372IPG" [Broken]
 
Last edited by a moderator:
  • #3
chroot
Staff Emeritus
Science Advisor
Gold Member
10,226
36
A hyperthreaded processor has two execution contexts (i.e. it appears to the outside world to have "two processors") yet has only one processor's worth of function units. In other words, when one context is using part of the chip -- say, an adder -- the other context cannot.

In certain kinds of situations, when you're running two programs which do very different things, there may not be much competition for function units, and your programs may well run much faster.

On the other hand, when you're running a single thread on a single context, or running two programs which need the same function units, you will not see any improvement at all.

- Warren
 

Related Threads on Matlab and Hyperthreading/Dual cores

  • Last Post
Replies
3
Views
1K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
1
Views
4K
  • Last Post
Replies
0
Views
5K
  • Last Post
Replies
3
Views
11K
  • Last Post
Replies
10
Views
2K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
3
Views
4K
  • Last Post
Replies
3
Views
18K
Top