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. ------------------------------------------