Newsgroups: comp.parallel.pvm
From: starks@EMBL-Heidelberg.DE (David Starks-Browning)
Reply-To: David.Starks-Browning@EMBL-Heidelberg.DE
Subject: Re: IRIX 6.2.
Organization: European Molecular Biology Laboratory, Heidelberg
Date: 2 Oct 1996 15:20:01 GMT
Message-ID: <52u171$8a9@lion.embl-heidelberg.de>

In article <52d9st$6v6@muller.loria.fr>, coulaud@loria.fr (Olivier Coulaud) writes:
> I have exactly the same problem to buid pvm on an indigo R4000. But if you are not
>  interested to have a 64-bits application you can modify the sgi64.def file as
>  follows
> 
>  just put -n32 instead of -64 in ARCHCFLAGS.

I believe that a better solution is to fix pvmgetarch to work properly in
IRIX 6.2.  pvmgetarch was written when IRIX 6 meant a 64-bit architecture,
which is no longer always the case.

Currently, pvmgetarch returns the following:

	uname -a	uname -r	PVM_ARCH
	--------	--------	--------
	IRIX		pre 5.*		SGI
	IRIX		5.*		SGI5
	IRIX		6.*		SGI64
	IRIX64		6.*		SGI64

And additionally, if environment variable SGIMP is "ON" and there are
multiple processors, SGI5 becomes SGIMP, and SGI64 becomes SGIMP64.

The compiler options set in sgi64.def really only make sense for IRIX64,
that is, IRIX 6.* running on R8000 and R10000 processors.  (And even they
may be out of date with respect to the latest compilers.  Unfortunately,
we are very late in updating our own Power Challenge, so I cannot check
this.)

I think it's time to rethink this table.  It is very easy to modify
pvmgetarch to return this table instead:

	uname -a	uname -r	PVM_ARCH
	--------	--------	--------
	IRIX		pre 5.*		SGI
	IRIX		5.*, 6.*	SGI5
	IRIX64		6.*		SGI64

again with modifications for MP.  Here is a simple patch which does that:

================================================
*** pvmgetarch.orig     Sat May 18 00:05:19 1996
--- pvmgetarch  Wed Oct  2 16:16:39 1996
***************
*** 45,50 ****
--- 45,51 ----
        *HP*,9000/[2345]* )     ARCH=HP300 ;;
        *HP*,9000/[78]* )       ARCH=HPPA ;;
        IRIX,* )                ARCH=SGI ;;
+       IRIX64,* )              ARCH=SGI64 ;;
        *,alpha )               ARCH=ALPHA ;;
        CRSOS,smp )             ARCH=CRAYSMP ;;
        *,paragon )             ARCH=PGON ;;
***************
*** 160,167 ****
  if [ "$ARCH" = SGI ]; then
        rel="`/bin/uname -r`"
        case "$rel" in
!       5.* )   ARCH=SGI5 ;;
!       6.* )   ARCH=SGI64 ;;
        esac
  fi
  if [ "$ARCH" = SGI64 ]; then
--- 161,167 ----
  if [ "$ARCH" = SGI ]; then
        rel="`/bin/uname -r`"
        case "$rel" in
!       [56].* )   ARCH=SGI5 ;;
        esac
  fi
  if [ "$ARCH" = SGI64 ]; then
================================================

(Careful, this patch is untested!)

But is that what we want?  Or do we need to distinguish between 32-bit
versions of IRIX 5.* and IRIX 6.*?  I don't know.  And if so, what should
the 32-bit IRIX 6.2 machine be called?  SGI6?

Is the pvm-team aware of this issue?  Have you received any guidance from
SGI?

Regards,
David

=========================================================================
David Starks-Browning                         | starks@EMBL-Heidelberg.DE
Parallel Programming Consultant               |
Supercomputing Resource for Molecular Biology |
European Molecular Biology Laboratory         |
Meyerhofstrasse 1                             | tel: +49(0)6221-387 279
D-69117 Heidelberg, Germany                   | fax: +49(0)6221-387 306
=========================================================================

