MPICH-GM and the Intel 7.0 F90 compiler

Susan Blackford <[email protected]> 10 Feb 2003 23:18:43 -0500
Newsgroups gmane.network.myrinet.general
Message-ID <1044937125.412.242.camel@idefix>
Dear Myrinet users,

Several customers have asked for details of why the Intel 7.0 F90 compiler
was not supported in MPICH-GM 1.2.4..8a and earlier.

Here are the specifics.

For various reasons, in MPICH-GM we must catch when memory pages are
given back to the kernel, via munmap() or sbrk(). We accomplished this by
providing our own malloc (actually the same code from the LibC but with
some stubs). It works fine and it's portable as long as
applications/libs/compilers use malloc/free.

The Intel 7.0 compiler implements the F90 statements "allocate" and
"deallocate" using mmap/munmap/sbrk directly instead of malloc/free. In
this case, registered pages may not be deregistered when given back to
the kernel and it may lead to (silent) memory mapping corruption.

Intel informed us that only mmap/munmap were used to manage memory
allocation, so catching the munmap system call on Linux is a safe
work-around. Intel 8.X will come back to a malloc/free implementation.

The latest release of MPICH-GM, MPICH-GM 1.2.5..9, supports the 
Intel 7.0 compilers.
  http://www.myri.com/scs/

Feel free to contact us at [email protected] if you have further questions.

Susan

-- 

------------------------------------------
Susan Blackford
Member of Technical Staff
Myricom Inc.
------------------------------------------