[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave 3.6.0 on Windows XP plot fails.

From: Michael Goffioul
Subject: Re: Octave 3.6.0 on Windows XP plot fails.
Date: Wed, 29 Feb 2012 15:01:57 +0000

On Wed, Feb 29, 2012 at 2:28 PM, Martin Helm <address@hidden> wrote:
> Am 29.02.2012 14:45, schrieb Xianyi Zhang:
>> Hi,
>> The matrix multiplication cannot obtain the performance from
>> hyperthreading.
>> Thanks
>> Xianyi
> Why not? Is this a limitation of the mingw compiler, the windows
> environment or the BLAS library in question?

No, I think it's because of the principle of hyperthreading. HT does
not mean you magically have 4 independent cores out of 2. You still
have only 2 physical cores, but some parts of each core are duplicated
such that they can appear as 4 instead of 2 at the OS level. However,
the processing unit is not duplicated: so within a single physical
core, each logical CPU will have to wait its turn on the processing

So roughly, if you have 4 operations that you can perform in parallel,
only 2 will be done really simultaneously.

HT can increase performances when you have 2 threads, one of which is
stuck for some reason (waiting for data for instance). Then the other
thread can use the processing unit while the first one is waiting. But
if the 2 threads need the processing unit at the same time, you won't
gain anything.

So I think that what  Xianyi Zhang means is that matrix multiplication
is this kind of operations that cannot really benefit from HT. For the
record, I've tried a 2-threaded ATLAS on a P4-HT (1 physical CPU, 2
logical CPUs) and the performances were lower than a single-threaded


reply via email to

[Prev in Thread] Current Thread [Next in Thread]