Tech Support > Microsoft Windows > Development Resources > Hyperthreading
Hyperthreading
Posted by socialism001@yahoo.com on May 4th, 2005


Can any application take advantage of Hyperthreading or does the
software program have to support Hyperthreading to use it. I'm
wondering if I'll notice a difference between a 2.8mhz vs 2.8mhz w/
hyperthreading when editing videos

Thanks,
Chris

Posted by Jakob Bieling on May 4th, 2005


<socialism001@yahoo.com> wrote in message
news:1115215937.620467.88470@o13g2000cwo.googlegro ups.com
http://www.planetsourcecode.com/vb/s...=8654&lngWId=3

Some hopefully useful reading
--
jb

(reply address in rot13, unscramble first)



Posted by socialism001@yahoo.com on May 4th, 2005


application to use another processor ?


Posted by Jakob Bieling on May 4th, 2005


<socialism001@yahoo.com> wrote in message
news:1115232012.103976.187760@f14g2000cwb.googlegr oups.com
Use Get/SetProcessAffinityMask. I you have the thread ID you should
even be able to tell a sperate /thread/ of the other application to use
a different processor.
But I guess making a thread use another virtual CPU only makes
sense, when you know what the code does. Only then can you make sure,
that there is as little competition between threads for the same
resources, ie. two threads using a lot of SSE2 functions. BTW, I am sort
of rephrasing a document from Intel here. It is called 'Preparing for
Hyper-Threading Technology and Dual-Core Technology' by Jeff Andrews.
You might want to try to get a hold of that as well. It will be of much
greater help than I am If you cannot find it, I can email it (200kb)
to you, as I do not have the link myself anymore.

hth
--
jb

(reply address in rot13, unscramble first)



Posted by Chris Thomasson on May 5th, 2005


The software simply has to be highly tuned for SMP systems in order to
really show off the benefits of HyperThreading; Preparing for SMP is
basically the same as tuning for HyperThreading. The software also needs
have proper and efficient synchronization schemes, or else HyperThread will
slow thing down due to extra contention. HyperThreading will expose
false-sharing, race-conditions, sync bottlenecks, ect... Plus, some
HyperThread processors have a stupid aliasing problem so the thread stacks
can be falsely shared with each other! However, there are ways around it.




Depends on the video editing software. I would bet you would not see that
much of a difference, and you might even slow down a bit; Sadly, most
commercial software out there is not designed to be SMP friendly. If you can
follow and completely understand the advise contained in the following
documents, you are ready to create efficient SMP ready software:


http://www.intel.com/cd/ids/develope...ning/43813.htm

http://www.intel.com/cd/ids/develope...ning/43837.htm

http://www.intel.com/cd/ids/develope...ning/43849.htm

http://www.intel.com/cd/ids/develope.../eng/20461.htm

http://www.intel.com/cd/ids/develope...ning/43807.htm

http://www.intel.com/cd/ids/develope...tion/52684.htm

http://www.intel.com/cd/ids/develope...ding/43893.htm


If you are having trouble understanding "any" of the described methods, you
need to do a lot more studying in order to be able top create top-notch SMP
friendly software...




Also please check out this article that deals with synchronization issues
( fairly advanced ):

http://www.intel.com/cd/ids/develope...ing/151201.htm

The Intel article actually mentions my name and references my own AppCore
Library and website on page 4. Pretty cool!




--
http://appcore.home.comcast.net/
(portable lock-free data-structures)




Similar Posts