Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';MPI\u Win\u attach可以附加多少内存,这是一个实际的限制?_Mpi_Mpi Rma - Fatal编程技术网

什么';MPI\u Win\u attach可以附加多少内存,这是一个实际的限制?

什么';MPI\u Win\u attach可以附加多少内存,这是一个实际的限制?,mpi,mpi-rma,Mpi,Mpi Rma,我注意到MPI 3.1标准中有以下内容: 给用户的建议。将内存附加到窗口可能需要使用稀缺资源;因此,在便携式程序中不建议附加大内存区域 给实现者的建议。一个高质量的实现将尝试提供尽可能多的内存用于连接 我已经查看了各种实现(即MPICH、Cray MPICH、OpenMPI、SGI MPT和Intel MPI)的MPI_Win_attach手册页,并且没有看到这些实现对内存量的任何限制。我是否应该对这里给出的“给用户的建议”不太担心?我想,由于内存将是RDMA访问的目标,它可能/将需要“固定”或

我注意到MPI 3.1标准中有以下内容:

给用户的建议。将内存附加到窗口可能需要使用稀缺资源;因此,在便携式程序中不建议附加大内存区域

给实现者的建议。一个高质量的实现将尝试提供尽可能多的内存用于连接


我已经查看了各种实现(即MPICH、Cray MPICH、OpenMPI、SGI MPT和Intel MPI)的MPI_Win_attach手册页,并且没有看到这些实现对内存量的任何限制。我是否应该对这里给出的“给用户的建议”不太担心?

我想,由于内存将是RDMA访问的目标,它可能/将需要“固定”或“锁定”内存。这种不可交换的内存通常是整个内存的有限子集。因此,我们必须尽量少用它来避免麻烦。然而,固定或锁定的内存量通常是可调的(在启动时),所以这也不是什么大问题。@Gilles:不过,我似乎不清楚为什么这会对MPI_Win_attach产生特别的影响。顺便说一句,我认为有限的固定内存池或其他“特殊”内存池将主要是MPI_Alloc_mem的一个问题(扩展而言,任何被动RMA仅限于使用MPI_Alloc_mem分配的缓冲区)。是什么让MPI_Win_attach如此特别?我想,由于内存将成为RDMA访问的目标,它可能/将需要“固定”或“锁定”内存。这种不可交换的内存通常是整个内存的有限子集。因此,我们必须尽量少用它来避免麻烦。然而,固定或锁定的内存量通常是可调的(在启动时),所以这也不是什么大问题。@Gilles:不过,我似乎不清楚为什么这会对MPI_Win_attach产生特别的影响。顺便说一句,我认为有限的固定内存池或其他“特殊”内存池将主要是MPI_Alloc_mem的一个问题(扩展而言,任何被动RMA仅限于使用MPI_Alloc_mem分配的缓冲区)。是什么让MPI_赢得了所有这些特别的东西?