Newsgroups: comp.parallel.mpi
From: rdaoud@magnus.acs.ohio-state.edu (Raja B Daoud)
Subject: Re: How can you find the hardware interconnection network?
Organization: Ohio Supercomputer Center
Date: 12 Jan 1995 03:00:16 GMT
Message-ID: <3f2600$a81@charm.magnus.acs.ohio-state.edu>

(Tom Epperly) writes:
>I have a parallel branch-and-bound algorithm that can adapt to many
>different interconnection network types (e.g. ring, mesh, hypercube,
[...]
>so how can a portable MPI program find the interconnection network
>of the hardware on which it's running?

If you really want to know the h/w topology, I'd suggest you either
use #ifdef or separate hwconfig.$(ARCH).c files and let the user
installing the s/w pick the correct ARCH.  The machine-specific code
creates a communicator describing the topology and the rest of the
(portable) code reads it from there and adapts to it.

Out of curiosity, what machines do you intend to port your code to?
The # of MPP machines who have a topology to speak of is shrinking,
and vendors throw lots of h/w ($$$) into the interconnect and tell
users to assume O(1) communication.  Hey, don't worry, be happy! :-)
(I'm not condoning this, just observing it)

--Raja

-=-
Raja Daoud				raja@osc.edu
Ohio Supercomputer Center		http://www.osc.edu/lam.html

