[comp.sys.sgi] how do I tell how many processors there are?

figuei@arakis.rutgers.edu (Francisco Figueirido) (02/12/91)

Hi! We have a 4D/210 which my boss says it has two processors (the
original came with only one). But neither osview nor hinv show two
processors, they only show one. I was wondering if there is a nice
(i.e., software) way of really telling how many processors there are.
I could try running many copies of one job and see how the time scales
with the number of jobs (or open the box and check the boards!), but I
would prefer something more elegant, like having a program with a loop
which I can control which processor will execute, or something like
that. Any help will be highly appreciated!

	Francisco Figueirido
	e-mail: figuei@lutece.rutgers.edu

micah@flobb4.csd.sgi.com (Micah Altman) (02/12/91)

In <Feb.11.13.25.37.1991.500@arakis.rutgers.edu> figuei@arakis.rutgers.edu (Francisco Figueirido) writes:


>processors, they only show one. I was wondering if there is a nice
>(i.e., software) way of really telling how many processors there are.

From the shell line you can use:
	hinv(1M)

Inside a program use:
	sysmp(2) with the argument MP_NPROCS

This will tell you how many processors are physically configured. 

It is also possible that you have cpu two boards but they aren't recognized by
the kernel at boot-up. I've seen this happen occasionally, it usually disappears
for me if I reboot.

Hope this helps.

--
	"Entia non sunt multiplicanda sine necessitate." - William of Ockham
	Micah Altman, "Computational Juggler"	   	   micah@csd.sgi.com
	Phone (415) 335-1866				   FAX (415) 965-2309
	Disclaimer: 	Everything in this document is a lie.	

c60244@ccfiris.aedc (Kenny McDonald) (02/12/91)

>>>Hi! We have a 4D/210 which my boss says it has two processors (the
>>>original came with only one). But neither osview nor hinv show two
>>>processors, they only show one. I was wondering if there is a nice
>>>(i.e., software) way of really telling how many processors there are.
>>>I could try running many copies of one job and see how the time scales
>>>with the number of jobs (or open the box and check the boards!), but I
>>>would prefer something more elegant, like having a program with a loop
>>>which I can control which processor will execute, or something like
>>>that. Any help will be highly appreciated!


Try (hinv) to see you hardware inventory.  The first line should tell you
how many processors there are on your machine.  In order to run a process on
a particular processor try the (runon) command.


  vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
  | Kenneth M. McDonald * OAO Corp * Arnold Engineering Development Center |
  |          MS 120 * Arnold AFS, TN 37389-9998 * (615) 454-3413           |
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  INTERNET:                                               OO   AA   OO
  @aedc-vax.af.mil:c60244@ccfiris.aedc                   O  O A  A O  O
                                                         O  O AAAA O  O
  LOCAL:                                                 O  O A  A O  O
  c60244@ccfiris                                          OO  A  A  OO
                                                        ________________
                                                                       /

ciemo@bananapc.wpd.sgi.com (Dave Ciemiewicz) (02/13/91)

In article <9102121402.AA10390@ccfiris.aedc>, c60244@ccfiris.aedc (Kenny McDonald) writes:
|> >>>Hi! We have a 4D/210 which my boss says it has two processors (the
|> >>>original came with only one). But neither osview nor hinv show two
|> >>>processors, they only show one. I was wondering if there is a nice
|> >>>(i.e., software) way of really telling how many processors there are.
|> >>>I could try running many copies of one job and see how the time scales
|> >>>with the number of jobs (or open the box and check the boards!), but I
|> >>>would prefer something more elegant, like having a program with a loop
|> >>>which I can control which processor will execute, or something like
|> >>>that. Any help will be highly appreciated!
|> 
|> 
|> Try (hinv) to see you hardware inventory.  The first line should tell you
|> how many processors there are on your machine.  In order to run a process on
|> a particular processor try the (runon) command.

The other way to tell is by the machine designation number:

	4D/cp0	c = system processor "class"
		p = # of processors

Following this designation scheme you have:

	4D/210	1 processor
	4D/220	2 processors
	4D/240	4 processors

	4D/310	1 processor
	4D/320	2 processor
	4D/340	4 processor
	4D/380	8 processor

If your system had an upgrade to two processors, the label might say 4D/210
but hinv, osview, and gr_osview should all indicate two processors.  hinv
should report:

	2 25 MHZ IP7 Processors