- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于长期从事该领域的人来说,我的问题可能看起来很愚蠢,但我感谢您耐心地为我详细阐述。
当他们说 MPICH 是 MPI 的“实现”时,这是什么意思?
下面的类比是否正确(?):如果我们将 MPI 视为 FORTRAN 编译器的一组标准,那么 MPICH 和 OPENMPI 就是 FORTRAN 编译器的不同版本,如 Intel.Fortran、Compaq.Fortran、GNU.Fortran 等。
最佳答案
MPI 是一个标准:它概述了分布式系统中消息传递的特定模型。然而,它只是给出了一系列的要求:它实际上并不包含任何代码,也没有具体说明这些要求究竟需要如何实现。例如,看一下官方 MPI 2.2 规范(截至今天)的摘录:
A valid MPI implementation guarantees certain general properties of point-to-point communication, which are described in this section.
Order Messages are non-overtaking: If a sender sends two messages in succession to the same destination, and both match the same receive, then this operation cannot receive the second message if the first one is still pending.
然后它继续解释此要求背后的基本原理并提供示例,但没有更多地说明要求本身。
MPI 实现是一个库,它满足 MPI 规范中的所有要求(如上述要求)。但是,该标准绝对不包含关于可以/不能/应该使用什么语言构造、操作系统调用、第 3 方库等的要求。偶尔,它会向实现者提供建议,如下所示:
Advice to implementors. The implementation may keep a reference count of active communications that use the datatype, in order to decide when to free it. Also, one may implement constructors of derived datatypes so that they keep pointers to their datatype arguments, rather then copying them. In this case, one needs to keep track of active datatype definition references in order to know when a datatype object can be freed. (End of advice to implementors.)
然而,这些仍然含糊不清,与语言无关,而且只是建议:实现可以忽略这些建议中的每一个,但仍然符合标准。
所以是的,本质上它类似于编译器的各种实现。如果一个程序采用一种语言的有效源代码,并生成二进制代码来执行语言规范规定的所有原始源代码应该做的事情,那么它就是该语言的符合标准的编译器。同样,如果您可以使用一个库以不违反 MPI 规范任何规则的方式传递消息,那么这就是一个有效的 MPI 实现。
关于mpi - MPI、MPICH 和 OPENMPI 究竟是什么? "implementation"在这种情况下是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301388/
我经常在 C 标准文档中看到“实现定义”的说法,并且非常将其作为答案。 然后我在 C99 标准中搜索它,并且: ISO/IEC 9899/1999 (C99) 中第 §3.12 条规定: 3.12 I
“依赖于实现”中的“实现”是什么意思? “依赖于实现”和“依赖于机器”之间有什么区别? 我使用C,所以你可以用C解释它。 最佳答案 当 C 标准讨论实现时,它指的是 C 语言的实现。因此,C 的实现就
我刚刚在 Android-studio 中导入了我的项目,并试图在其中创建一个新的 Activity。但我无法在 android-studio 中创建 Activity 。我指的是here我看不到将目
我想知道您对为什么会发生此错误的意见。在陆上生产环境中,我们使用 CDH4。在我们的本地测试环境中,我们只使用 Apache Hadoop v2.2.0。当我运行在 CDH4 上编译的同一个 jar
我正在尝试集成第三方 SDK (DeepAR)。但是当我构建它时,它会显示一个错误。我试图修复它。如果我创建一个简单的新项目,它就可以正常工作。但是我现有的应用程序我使用相机和 ndk。请帮我找出错误
我很好奇为什么我们有 @Overrides 注释,但接口(interface)没有类似的习惯用法(例如 @Implements 或 @Implementation)。这似乎是一个有用的功能,因为您可能
我对 DAODatabase(适用于 Oracle 11 xe)的 CRUD 方法的实现感到困惑。问题是,在通常存储到 Map 集合的情况下,“U”方法(更新)会插入新元素或更新它(像 ID:Abst
Java-API 告诉我特定类实现了哪些接口(interface)。但有两种不同类型的信息,我不太确定这意味着什么。例如,对于“TreeSet”类:https://docs.oracle.com/en
我有一个接口(interface) MLService,它具有与机器学习算法的训练和交叉验证相关的基本方法,我必须添加两个接口(interface)分类和预测,它们将实现 MLService 并包含根
我一直想知道如何最好地为所有实现相同接口(interface)的类系列实现 equals()(并且客户端应该只使用所述接口(interface)并且永远不知道实现类)。 我还没有编写自己的具体示例,但
我有一个接口(interface)及其 2 个或更多实现, public interface IProcessor { default void method1() { //logic
我有同一个应用程序的免费版和高级版(几乎相同的代码,相同的类,到处都是“if”, list 中的不同包, list 中的进程名称相同)。主要 Activity 使用 IMPLICIT Intent 调
这是我为我的应用程序中的错误部分编写的代码 - (id)initWithData:(NSData *)data <-------- options:(NSUInteger)opti
请查找随附的代码片段。我正在使用此代码将文件从 hdfs 下载到我的本地文件系统 - Configuration conf = new Configuration(); FileSys
我想在 MongoDB 中使用 Grails2.5 中的“ElasticSearch”插件。我的“BuildConfig.groovy”文件是: grails.servlet.version = "3
我收到一条错误消息: fatal error: init(coder:) has not been implemented 对于我的自定义 UITableViewCell。该单元格未注册,在 Stor
得到这个错误 kotlin.NotImplementedError: An operation is not implemented: not implemented 我正在实现一个 ImageBut
typedef int Element; typedef struct { Element *stack; int max_size; int top; } Stack; //
Playground 代码 here 例子: interface IFoo { bar: number; foo?: () => void; } abstract class Abst
我想知道如何抑制警告: Category is implementing a method which will also be implemented by its primary class. 我
我是一名优秀的程序员,十分优秀!