Software Archive
Read-only legacy content
17061 Discussions

How to determine #physical processors on x64 underVS2005

mangant
Beginner
1,307 Views
The WinCPUID method to determine the number of physical processors for IA32 architecture works great under Microsoft VS2003. VS2005 doesn't support inline assembly any more - so what is the recommended approach? Also, want to test against x64 processors since they also support HT.
tia
0 Kudos
10 Replies
mangant
Beginner
1,307 Views
By the way, the latest versoin of WinCPUID source sample seems to be a bad zip file. Latest sourcw posted at http://www.intel.com/cd/ids/developer/asmo-na/eng/dc/centrino/technologies/19110.htm a few days ago. Zip reports unknown compression method, using both MS native zip as well as third party tool to unzip. Other zip packages from intel site seem OK so it must be a bad upload.
0 Kudos
Intel_Software_Netw1
1,307 Views

We were able to open the 238957_238957.zipfile using WinZip* 9.0 SR1 and extract WinCPUID_BatteryMan_2003_20051012.exe without any errors. Please let us know if you're still experiencing this issue, and if so, with which program/version.

Regarding your original question, we will forward to our engineers and let you know how they respond.

Regards,

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

0 Kudos
Intel_Software_Netw1
1,307 Views

Our engineering contact responded that x32 still supports inline assembly; x64 doesnt. If you use the Intel C++ Compiler 9.x or above, then there should be no problem, since these versions support inline assembly.

If you have to compile using Microsoft* Visual Studio 2005, our engineer's suggestion is to create the CPUID-involved functions in assembly and put them in an assembly file. This way you can have one single-code base for both x32 and x64 platforms.

Regards,

Lexi S.

Intel Software Network Support

http://www.intel.com/software

Contact us

Message Edited by intel.software.network.support on 12-05-2005 12:25 PM

0 Kudos
mangant
Beginner
1,307 Views

Thanks. WinZip seems to understand that package, however, thereare files missing from the package?

The WinCPUIDLib project references WinCPUID_Int.c (which is not present in the package) and WinCPUID.c references WINCPUID_Int.h (also missing).

0 Kudos
Intel_Software_Netw1
1,307 Views
We're checking with the author and will let you know what we find out.
Regards,

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

0 Kudos
Eric_P_Intel
Employee
1,307 Views

The WinCPUID package has three build configurations "Debug", "Release", and "ReleaseGI". The only one that can be built with the posted package is "ReleaseGI". You can copy the ReleaseGI config to a new config (i.e. DebugGI) and modify the settings for a debug build if you need.

WinCPUIDlib will build in .Net 2005 for x64, but you would have to create a new 64-bit mode project including the files cpuid64.asm, cpuid64.c, and cpuid64.h. A full 32/64 .Net 2005 update is planned.

0 Kudos
mangant
Beginner
1,307 Views
Thank You!
0 Kudos
Eric_P_Intel
Employee
1,307 Views
Attached is an interim update that includes the VS .Net 2005 solution/project files to build both the 32-bit and 64-bit binaries.
To build the 64-bit version:
1. Open VS2005ProjWinCPUID_2005WinCPUID_2005.sln
2. Select build configuration "ReleaseGI"
3. Select build platform "x64"
4. Build
5. Use the binaries in the VS2005ProjWinCPUID_2005 tree.

Message Edited by elpalmer on 12-13-2005 03:57 PM

0 Kudos
Eric_P_Intel
Employee
1,307 Views
Use this attachment (ends in "-2.zip") instead of the one above. Evidently, there have been a number of changes in the ml64 .asm behavior since the Whidbey beta I first wrote the code for. This version should actually work.
0 Kudos
schmida
Beginner
1,307 Views
Is there a way to identify a Celeron D processor throug WinCPUID? I used the latest package posted and get "This processor does not support the brand identification feature".

Regards

Arno
0 Kudos
Reply