Jump to content
Sign in to follow this  
Ascend4nt

Someone with Hyperthreading CPU please test

Recommended Posts

Ascend4nt

Can someone with 1 or more CPU's with Hyperthreading tell me what the MsgBox from the following program reports vs. what their actual #CPUs/cores are?

The functions the MsgBox relies on (besides the built-in EnvGet() were created by me, one of which drew its code from 'tip's _FasterCPUInfo() function)

The reason I'd like to know the results is whether all 3 values match up or not. Any OS from Win 2000 on up will work fine for this. Thank you!

I want you to report the *actual* hardware CPU and hyperthread count of your hardware to, for comparison.

Thx!

-Ascend4nt

*edit* reworded for better clarification (I hope?), code got garbled by site upgrades so removed

Edited by Ascend4nt

Share this post


Link to post
Share on other sites
Robjong

Hey,

Works fine here, 4 against 4.

Share this post


Link to post
Share on other sites
TerarinK

CPU Count Report

CPU Count from 3 sources

%NUMBER_OF_PROCESSORS% Environment Variable: 8

Registry CPU Count: 8

GetSystemInfo Reported CPU Count: 8

Should you be using like how many Core: and Threads:?


0x576520616C6C206469652C206C697665206C69666520617320696620796F75207765726520696E20746865206C617374207365636F6E642E

Share this post


Link to post
Share on other sites
Ascend4nt

Sorry, I should have been more clear..

I want to know both what the MsgBox reports and what your actual CPU and Hyperthreads counts are (from your own knowledge about the hardware)

Thanks!

Share this post


Link to post
Share on other sites
TerarinK

Okay, I have

Core: 4

Threading: 8

even though it says 8 everything on the message


0x576520616C6C206469652C206C697665206C69666520617320696620796F75207765726520696E20746865206C617374207365636F6E642E

Share this post


Link to post
Share on other sites
Ascend4nt

Okay, I have

Core: 4

Threading: 8

even though it says 8 everything on the message

Thanks Terrarink, that helps. err.. what O/S were you using? lol, I probably should have asked that in the initial post too. I know by reading online that Win 2000 will 'think' that every thread is an additional processor, and I'm guessing the reported processors on xp and vista are at least *reporting* extra processors even if internally it knows otherwise.. but I'm curious if my assumptions are right..

thx!

Share this post


Link to post
Share on other sites
AdmiralAlkex

Thanks Terrarink, that helps. err.. what O/S were you using? lol, I probably should have asked that in the initial post too. I know by reading online that Win 2000 will 'think' that every thread is an additional processor, and I'm guessing the reported processors on xp and vista are at least *reporting* extra processors even if internally it knows otherwise.. but I'm curious if my assumptions are right..

thx!

You could easely have confirmed that yourself. Simply look at this review where a dualcore cpu is identified as 4 in Vista.

Share this post


Link to post
Share on other sites
Ascend4nt

AdmiralAlkex, I meant reporting *internally* to apps, not externally via Task Manager and the sort. Vista does have an API function that reports the # of logical CPU's (hyperthreaded vs. real cores), so its entirely up to the programs how they interpret the data.. unfortunately that function isn't available on earlier OS's.

So unfortunately no, that website doesn't answer the question

Share this post


Link to post
Share on other sites
AdmiralAlkex

AdmiralAlkex, I meant reporting *internally* to apps, not externally via Task Manager and the sort. Vista does have an API function that reports the # of logical CPU's (hyperthreaded vs. real cores), so its entirely up to the programs how they interpret the data.. unfortunately that function isn't available on earlier OS's.

So unfortunately no, that website doesn't answer the question

OK then, maybe I missunderstood. Unless someone else can test it I can let my brother do it, he has an Xeon 2.8 running Windows XP. Will that be good for you? Unfortunately it will be about 12 hours until I can contact him.

Share this post


Link to post
Share on other sites
Ascend4nt

AdmiralAlkex, would be much appreciated, thanks! Sorry if I wasn't clear.. the 'external' bit could have been misleading, should have clarified that I meant using the techniques I presented. There's an Assembly language technique using 'CPUID' that can give you this information on all OS's, but the AutoIT development team would have to actually incorporate that in a new build to make it available to us. (assuming that all OS's - 2000 and up - are reporting hyperthreads as part of the processor count through these methods)

Share this post


Link to post
Share on other sites
AdmiralAlkex

Ok, here it is:

Posted Image

This screenshot is from a computer fitted with one Xeon 2.8 (singlecore, HT enabled) and as you see it is reported as two CPU's. OS is windows XP Pro SP2 or SP3.

Edited by AdmiralAlkex

Share this post


Link to post
Share on other sites
Ascend4nt

Awesome, thanks AdmiralAlkex.

Guess I'd just need confirmation from someone using Vista (using this script), then I can be a little more certain that nothing has changed. I wonder if someone's coded a DLL that could be used to find the 'true' cpu cores using CPUID.. hmm

Share this post


Link to post
Share on other sites
AdmiralAlkex

Awesome, thanks AdmiralAlkex.

Guess I'd just need confirmation from someone using Vista (using this script), then I can be a little more certain that nothing has changed. I wonder if someone's coded a DLL that could be used to find the 'true' cpu cores using CPUID.. hmm

You did say it was possible with assembly, couldn't you do that with the Assembly UDF or Embed DLLs in script and call functions from memory ?? I know nothing about assembly but they sound like the right thing.

Share this post


Link to post
Share on other sites
Ascend4nt

Awesome, an Assembly UDF! That's so cool, thanks for bringing that to light AdmiralAlkex!

I did know of the Embed DLL, thats why I was wondering if there was already a DLL out there (which I'd try to embed in the script)

But the idea of an Assembly UDF is pretty cool - I'm gonna definitely check it out. Thanks again :P

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×