Re: [myrinet] GM_BOGUS_SEND_INTERRUPT

Patrick Geoffray <[email protected]>
Newsgroups gmane.network.myrinet.general
Organization Myricom Inc.
Message-ID <[email protected]>
"Davis, Harvey" wrote:
> 
> Patrick
> 
> Thanks for replying.
> 
> I am using gm-1.5pre4 and mpich-1.2..8
GM-1.5pre4 is fine. Use mpich-1.2.1..7 and your problem shoudl go away.

> --enable-new-features
> --enable-linux-modversions
> --enable-linux-smp
> --enable-linux-directcopy

BTW, you should not pass any flags to configure in GM-1.5: the
new-features 
is enabled by default, configure figure out by itself the smp and
modversions 
usage and the directcopy is not activated in the driver yet.

> MPICH over GM is configured using the options suggested from the README with
> the addition of those required for SMP to work correctly (I am not sure what
> they were or I would write them down!!)

Beware also that in mpich-1.2.1..7, you do not need to enable or not
shared 
memory at compile time. The shared memory is always compiled, and it's
enabled 
by using --gm-use-shmem at the mpirun.ch_gm command line. Shared memory
is 
not use by default (without  --gm-use-shmem) because it seems that more
code 
prefer to overlap than do shared memory, but it may be a big win for
some code.
 
> I am using threads but all thread creation is done BEFORE MPI_Init() is
> called and only one thread ever accesses the mpi routines. Condition
> variable and mutexs are used throughout though.

That's fine. MPICH is not thread safe, but locking the MPI calls is 
perfectly safe.
 
> I was wondering if perhaps the threads were causing EINTR or
> other interrupts that GM does not handle?????? I thought that mayby small
> data volumes would complete in a small enough time
> frame as to not be interrupted, where as the large ones take too long and
> get premepted????

No. 1.2.1..7 should do the work.
You may even try to play with the recv policy : look for
blocking/polling/hybrid 
in the README-GM.

> If I have to re-write is there any reason why forked processes communicating
> over shared memory would not work???? (So long as all forking was done
> before MPI_Init())

You can fork as much as you want before to call MPI_Init. The GM port is 
open in MPI_Init, and them the fork support is limited (only vfork() is 
safe, and used by system() and popen()).

Let me know if mpich-1.2.1..7 (in /pub/MPICH-GM on the FTP server) is 
better.

Patrick

---------------------------------------------------------
|   Patrick Geoffray, Ph.D.    [email protected]         |
|   Myricom, Inc.              http://www.myri.com      |
|   Cell: 865-389-8852         325 N. Santa Anita Ave.  |
|   Fax:  865-974-1950         Arcadia, CA 91006        |
---------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.