MPI 创建的进程的共享内存访问控制机制

2023-12-09

我有一个由多个进程使用的共享内存,这些进程是使用创建的MPI.

现在我需要一种机制来控制这个共享内存的访问。

我知道named semaphore and flock可以使用机制来做到这一点,但只是想知道 MPI 是否为共享内存使用提供任何特殊的锁定机制?

我正在 Linux 下使用 C 语言。


MPI 现在确实提供了对共享内存的支持(从版本 3.0 开始)。您可以尝试查看“单方面沟通”一章(http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf)从 MPI_WIN_ALLOCATE_SHARED (11.2.3) 开始。要使用它,您必须确保您有支持它的实现。我知道最新版本的 MPICH 和 Open MPI 都可以工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MPI 创建的进程的共享内存访问控制机制 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 无法加载文件或程序集 HRESULT:0x80131515(将控制器添加到网络驱动器上具有程序集引用的 MVC 项目时)

    我见过这个 VSTS 2010 SGEN 错误 无法加载文件或程序集 HRESULT 异常 0x80131515 并且所有答案都不起作用 当我构建或执行任何操作时它也不会出现 我可以正常运行该项目 当我尝试添加实体框架模板化控制器时会发生这
  • 如何创建一个防止新头出现的水银钩?

    我有几个从 SVN 转换而来的存储库 并且我们希望确保当人们推送到存储库时他们无法创建额外的头 里面有几个钩子提示和技巧 wiki 页面如果有多个头 则可以防止推动 但是我如何构建一个防止推动的钩子new heads 似乎正确的方法是比较修
  • 如何为 Kubernetes 中托管的多个应用程序选择 Kafka 事务 ID?

    我有一个经典的微服务架构 所以 有不同的应用 每个应用程序可能有1 N实例 该系统部署到Kubernetes 所以 我们有很多不同PODs 可以随时启动和停止 我想实施读 处理 写模式 所以我需要 Kafka 事务 要配置交易 我需要设置一
  • 我在哪里对我的密码进行加盐和哈希处理?在客户端还是在主机?

    我认为直接在客户端计算机上对密码进行加盐和哈希处理会更明智 原因是 我实际上从来不想获取用户的密码 这个字符串应该对他保密 而不是对我们俩保密 现在有人争论说 你想对盐保密 所以你不能通过通道以明文形式发送它 显然 事实并非如此 所以现在我
  • 如何将行号投影到 Linq 查询结果中

    如何将行号投影到 linq 查询结果集上 而不是说 字段 1 字段 2 字段 3 字段 1 字段 2 字段 3 我想 1 字段1 字段2 字段3 2 字段1 字段2 字段3 这是我的尝试 public List
  • 如何在 Customer.create 之后解析 Stripe JSON 响应?

    我读过使用此版本 Stripe API 的其他线程 但实际解析嵌套 JSON 的问题从未得到解答 例如 创建信用卡后如何解析 Stripe JSON 响应 或标记为重复 例如 如何读取 stripe webhook 响应 通过 重复的起源
  • 事件句柄和可见

    好的 我正在为我的班级做一个项目 我必须将所有内容都放在一页上 并在顶部有一个菜单 菜单中应该有新建 打开 来自 Html 保存和退出 我已经完成了除了 From HTML 之外的所有操作 我有点困惑 当用户单击 来自 HTML 时 需要将
  • java和python之间传递数据

    如果我的问题很菜鸟 我很抱歉 我正在运行 Django 1 2 和 pgsql 8 4 我需要在获取用户的输入后运行 Java 程序 进行一些计算并将结果返回给用户 我可以知道在 Java 和 Python Django 之间传递数据的最佳
  • 如何通过 ingress 将服务暴露给外部 Kubernetes 集群?

    我正在努力将 AWS 集群中的服务公开给外部并通过浏览器访问它 自从我的上一个问题还没有得出任何答案 我决定从几个方面简化问题 首先 我创建了一个无需任何配置即可运行的部署 基于本文 I did kubectl create namespa
  • 将字符串值聚合到列表中

    我正在尝试使用一些非常简单的逻辑将未旋转的列转换为本质上相当于分组列表的内容 然而 在有效地做到这一点上遇到了困难 本质上 我有一个数据集 如下所示 CUST ID ORDER 1 Cake 1 Bread 2 Cake 3 Cake 3
  • 使用自动实现的属性或自己实现该属性

    在 C 中 我们可以创建一个自动实现的属性 如下所示 public string MyValue get set 然而 我们也可以像这样自己创建一个属性 private string myValue public string MyValu
  • 颜色条不适用 vmin 和 vmax

    我有以下奇怪的行为 当我限制图形的范围时 颜色图仍然显示它 import matplotlib pyplot as plt import numpy as np fig ax plt subplots x np linspace 0 1 1
  • 复选框标签的 jQuery 选择器

  • Kinect / Primesense (Xtion) ROS Ubuntu 通过虚拟机 (VMware)

    由于我花了相当长的时间才弄清楚如何让 Xtion Primesense 在 VMware 上工作 所以我想在这里与大家分享 使用 Kinect 时 即使 VMware 已成功连接该设备 我也无法让 ROS 查看该设备 roslaunch o
  • ARM:为什么立即数只有 12 位?

    这是什么意思 我只有 12 位用于立即常量 所以我只能表示从 0 到 2 12 4096 的立即常量吗 操作数 2 如果是寄存器 可以有 32 位 但为什么立即数只有 12 位 这个数字从哪里来 它由指令集定义 例如 这MOV指令编码为 3
  • 如何使用 dask/dask-cudf 将单个大型镶木地板文件读取到多个分区?

    我正在尝试阅读一个大的parquet文件 大小 gt gpu size 使用dask cudf dask但它目前正在将其读入单个分区 我猜测这是从文档字符串推断出的预期行为 dask dataframe read parquet path
  • java中骑行和使用equals方法遇到的问题

    我在尝试弄清楚如何比较 AM FM 和 XM 之间的 selectedRadio 时遇到问题 以便我可以确定它当前所在的位置 然后返回特定收音机的电台 我知道我需要 equals 方法 我只是不确定使用它来获得我正在寻找的结果的正确方法 p
  • 使用 Rails 2.3.18 在 [] (Gem::LoadError) 中找不到捆绑器 (>= 0)

    我有红宝石版本ruby 1 9 3 p547 x86 64 我正在用它导轨3 0 现在我有一个 Rails 版本的项目 2 3 18 当我通过命令提示符进入项目时 它要求安装rvm使用ree 1 8 7 2012 02 x86 64 当我运
  • VS2015没有TypeScript模板,不支持TypeScript

    我正在研究 Visual Studio 2015 专业版 我已经使用 npm 安装了 TypeScript 安装了 TypeScript 2 0 3 然后我尝试使用右键单击项目的 tsScript 文件夹添加 TypeScript 文件 g
  • MPI 创建的进程的共享内存访问控制机制

    我有一个由多个进程使用的共享内存 这些进程是使用创建的MPI 现在我需要一种机制来控制这个共享内存的访问 我知道named semaphore and flock可以使用机制来做到这一点 但只是想知道 MPI 是否为共享内存使用提供任何特殊