Re: MPICH-GM in kernel space?
Loic Prylli <[email protected]> Fri, 24 Jun 2005 03:44:16 -0400
| Newsgroups | gmane.network.myrinet.general |
|---|---|
| Message-ID | <[email protected]> |
Ashish Bijlani wrote: > Am I correct in assuming that there is in fact an mmap of the myricom > device's register set and the MPICH MPI implementation you speak of is > an user space library using these registers ? > Yes that's the case, part of the device is mmap'ed into the user-space process memory. There is some embedded memory on the Myricom device, as well as a small CPU running some firmware. And to be more accurate, rather than registers, it's part of that embedded device memory which is mapped in the user-space process, and is used by the user process to send requests to the firmware. Most of the registers and device memory are not visible to the user-space process for security reasons, all initialization is still done by the kernel. The kernel is bypassed only for communications requests, but not for setup. > > That sounds good, although I will need more information. What do folks > needing MPI on top of myricom cards use currrently ? A majority use MPICH-GM, altough we have recently released MX and MPICH-MX which are intended to progressively replace GM, so some people are also using MX. For people with MPI applications, only a recompilation should be needed to switch from one to another (or from or to any other MPI implementation for that matter). > Also, I read about > MX stuff on Myricom's homepage. It seems to be doing exactly what I > want. It has API in kernel space, true? For your purpose, you can consider MX and GM have the same overall design. Both uses kernel bypass. There is an MPI implementation for both. The MX kernel library is only intended for kernel programmers and in your case you should not use it. You should use the MX user-space library and MPICH-MX if you have a MPI application. > How does application at top of > MX Kernel-API access/call the required MX API function? If this > happens through system calls, then doesn't this design hit > performance? > Same as GM, part of the Myricom device is mapped in user-space. No system calls happen for small-sized communications. And in all cases the user-data is never copied to kernel buffers for communications, but goes directly from user-space to the device. Loic