【问题标题】:MPI + Function Pointers?MPI + 函数指针?
【发布时间】:2011-11-12 05:55:50
【问题描述】:

如果我在 MPI 配置中 Beowulf 集群的多个节点上运行相同的二进制文件(这意味着相同的架构),通过 MPI 传递函数指针作为告诉另一个节点调用函数的方式是否安全?在什么情况下(如果有的话)同一个二进制文件中的同一个函数在不同的机器或不同的实例上可以有不同的虚拟地址?

【问题讨论】:

    标签: pointers parallel-processing distributed mpi virtual-address-space


    【解决方案1】:

    将除每个集合 MPI_FILE_OPEN(MPI 维护的)一个共享文件指针之外的任何类型的指针传递给其他进程都是没有意义的。单独的地址空间意味着指针值在生成它的进程之外的任何进程中都是无用的。

    另一方面,您可以传递有关希望每个进程调用哪个函数的信息,或者让每个进程单独决定。当然,这取决于您的代码在做什么。

    【讨论】:

    • This answer 建议通过禁用 ASLR 来发送函数指针。
    【解决方案2】:

    只需创建一个以已知顺序填充的函数数组并传递函数的 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 1970-01-01
      相关资源
      最近更新 更多