Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Accurate cpu count.

curmudge0n
Beginner
380 Views
Not sure if this is the right place to ask this, but I have a cross-platform app that needs to know the number of processors for licensing purposes.

In linux, I've developed a semi-reliable way of determining the count by grepping /cpu/procinfo and looking for the ht flag.

Anyway, does someone know a method for getting an accurate cpu count in windows? Is using the registry the best bet, or will hyperthreading make that count unreliable too?

Cheers.
0 Kudos
4 Replies
ClayB
New Contributor I
379 Views

Yes, this is an appropriate place to ask the question. I thoughtit had come up before, but looking through some of the old threads, I'm not sure if this question has been satisfactorily answered. Take a look at theURL posted in the second message of the following Forum thread:

http://softwareforums.intel.com/ids/board/message?board.id=42&message.id=152

There was another thread that dealt with charging time spent accurately forHyper-Threading systems and being able to distinguish between physical CPU and logical CPU time.

Anyone else have adefinitive answer to this query? Maybe we need tostart up a FAQ with this andother questions as they are seen more than once.

--clay

0 Kudos
ClayB
New Contributor I
379 Views

Another resource I found would be this article within the Threading Knowledgebase of IDS.

http://www.intel.com/cd/ids/developer/asmo-na/eng/technologies/threading/knowledgebase/43838.htm

-- clay
0 Kudos
curmudge0n
Beginner
379 Views

Thank you. That looks quite helpful. I was unable to get the first link you suggested working (link off the second message in the thread you posted previously), but I think I should beOK now.

Cheers.

0 Kudos
Eric_P_Intel
Employee
379 Views

The link suggested by Clay is old and has been superseded by the link below. This is especially important if you need to distinguish between physical packages, cores, and logical processors.

http://www3.intel.com/cd/ids/developer/asmo-na/eng/275339.htm

- Eric

0 Kudos
Reply