安装mpi4py与dlio_profiler_py的总结

安装mpi4py

mpi4py是一个Python库,它提供了与MPI(Message Passing Interface)兼容的接口,使得Python程序能够利用MPI实现并行计算。mpi4py 的核心是基于MPI标准的C/C++实现,它能够在高性能计算环境下进行高效的并行处理。mpi4py的主要特点:

  • 兼容性强:mpi4py 兼容 MPI-1 和 MPI-2 标准,支持广泛的 MPI 实现,包括 MPICH、Open MPI 等。
  • 简单易用:mpi4py 提供了直观的 API,用户可以通过简单的函数调用实现复杂的并行计算。
  • 高性能:由于 mpi4py 底层使用 C 语言实现,能够充分利用 MPI 的性能优势。

安装mpi4py需要mpi支持,编译安装mpich或者openmpi以提供支持,个人更倾向于mpich。

apt-get install mpich
yum install mpich 

源码安装mpich:https://fakerth.blog.csdn.net/article/details/135157375。如下所示,安装mpi4py失败的原因基本都是因为系统环境中没有mpi。

 gcc -pthread -B /root/archiconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/root/archiconda3/include/python3.7m -c _configtest.c -o _configtest.o
    _configtest.c:2:10: fatal error: mpi.h: No such file or directory
     #include <mpi.h>
              ^~~~~~~
    compilation terminated.
    failure.
    removing: _configtest.c _configtest.o
    error: Cannot compile MPI programs. Check your configuration!!!

安装mpich:

tar -zvxf mpich-4.1.2.tar.gz
cd mpich-4.1.2
./configure
make -j 10
sudo make install

安装成功后直接安装mpi4py即可。
如果没有root权限:

tar -zvxf mpich-4.1.2.tar.gz
cd mpich-4.1.2
./configure --prefix=/home/mpich-install
make -j 10
sudo make install

安装mpi4py时添加mpi的环境变量:

export PATH=/home/mpich-install/bin/:$PATH
export LD_LIBRARY_PATH=/home/mpich-install/lib/:$LD_LIBRARY_PATH
export CPATH=/home/mpich-install/include/:$CPATH
fakerth@fakerth-IdeaCentre-GeekPro-17IRB:~$ pip install mpi4py
Defaulting to user installation because normal site-packages is not writeable
Collecting mpi4py
  Downloading mpi4py-3.1.6.tar.gz (2.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 1.7 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: mpi4py
  Building wheel for mpi4py (pyproject.toml) ... done
  Created wheel for mpi4py: filename=mpi4py-3.1.6-cp310-cp310-linux_x86_64.whl size=2751721 sha256=4e979b26a6f6d72cf358fbb12a3b4c7baee2d33e1abcba7df12c2f04bcbf21f9
  Stored in directory: /home/fakerth/.cache/pip/wheels/4c/ca/89/8fc1fb1c620afca13bb41c630b1f948bbf446e0aaa4b762e10
Successfully built mpi4py
Installing collected packages: mpi4py
Successfully installed mpi4py-3.1.6

一个简单的mpi程序测试:

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3141221a253b44a198a577e88cadf5d5.png)
from mpi4py import MPI

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()

if rank == 0:
    data = {'key1': [1, 2, 3], 'key2': ('a', 'b', 'c')}
    comm.send(data, dest=1, tag=11)
    print(f"Process {rank} sent data: {data}")
elif rank == 1:
    data = comm.recv(source=0, tag=11)
    print(f"Process {rank} received data: {data}")
mpirun -n 2 python3 testmpi4py.py

在这里插入图片描述

安装dlio_profiler_py

DLIO Profiler for Python(dlio_profiler_py)是一个用于分析深度学习 I/O 工作负载的 Python 包。当前的 I/O 分析器(例如 Darshan 和 Recorder)不允许执行应用程序级和 I/O 级分析,这使得分析 AI 和工作流等工作负载变得困难。它提供了分析诸如 TensorFlow 和 PyTorch 等深度学习框架的 I/O 模式的实用工具。该分析器有助于理解这些框架的 I/O 行为,这对于优化性能特别重要,特别是在大规模分布式训练场景中。

pip install dlio_profiler_py

在ubuntu上是可以直接安装成功的,在redhat上却需要安装hwloc。hwloc下载:https://github.com/open-mpi/hwloc

编译安装:

autoreconf
./configure --prefix=/home/hwloc-install
make && make install

添加环境变量:

export PATH=/home/hwloc-install/bin/:$PATH
export LD_LIBRARY_PATH=/home/hwloc-install/lib/:$LD_LIBRARY_PATH

fatal error: hwloc.h: No such file or directory

解决方法:

export CPATH=/home/hwloc-install/include/:$CPATH

note:/usr/bin/ld: cannot find -lhwloc

解决方法:

export LIBRARY_PATH=/home/hwloc-install/lib/:$LIBRARY_PATH

$LIBRARY_PATH 是一个环境变量,用于指定编译器在链接阶段查找库文件(如 .so 或 .a 文件)的目录路径。设置这个环境变量可以告诉编译器在哪里找到你需要链接的库文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网页版收银系统比安装板收银系统的四大优势

在当今竞争激烈的零售市场中&#xff0c;高效的收银系统对于连锁实体店的管理至关重要。随着科技的不断发展&#xff0c;网页版收银系统成为越来越多零售企业的首选。网页版收银系统以其灵活性、可定制性和便利性&#xff0c;成为现代零售业的利器。本文将探讨网页版收银系统相…

pycharm 关闭项目卡死

PyCharm2023.3.4 关闭一直卡在 closing projects 解决办法&#xff1a; 打开PyCharm&#xff0c; 选择 Help -> Find Action -> 输入 Registry -> 禁用ide.await.scope.completion

MYSQL 集群

1.集群目的:负载均衡 解决高并发 高可用HA 服务可用性 远程灾备 数据有效性 类型:M M-S M-S-S M-M M-M-S-S 原理:在主库把数据更改(DDL DML DCL&#xff09;记录到二进制日志中。 备库I/O线程将主库上的日志复制到自己的中继日志中。 备库SQL线程读取中继日志…

51cto已购买的视频怎么下载到电脑上?

在数字学习的浪潮中&#xff0c;51CTO已成为众多专业人士和爱好者的知识宝库。但购买了视频课程后&#xff0c;如何将其下载到电脑上以便离线学习呢&#xff1f;这不仅是技术问题&#xff0c;更是时间管理和学习效率的关键。本文将为您揭示简单而高效的步骤&#xff0c;无论您使…

前端面试项目细节重难点(已工作|做分享)

面试官提问&#xff1a;需求场景&#xff1a;页面上有一个单选框&#xff0c;有是否两个选项&#xff1a;当用户选择是&#xff0c;出现一个输入框&#xff0c;用户可以输入内容&#xff0c;给后端的保存接口传入参数radio和content这两个字段&#xff0c;值分别是用户选项和输…

西门子WINCC8.0VBS脚本学习讲解

WinCC VBS脚本置位/复位/取反 二进制变量 "TAG1_BOOL1" 进行置位复位取反操作 步骤&#xff1a;按钮-->对象属性-->事件-->单击鼠标VBS动作填入代码如下: 对二进制变量进行复位 对二进制变量进行置位 对二进制变量进行取反 VBS脚本数学运算/读写批处理 …

百度智能云参与信通院多项边缘计算标准编制,「大模型时代下云边端协同 AI 发展研讨会」成功召开

1 中国信通院联合业界制定、发布多项标准化成果&#xff0c;推动产业发展 大模型开启了 AI 原生时代&#xff0c;云边端协同 AI 构建了「集中式大规模训练」、「边缘分布式协同推理」新范式&#xff0c;有效降低推理时延和成本&#xff0c;提升数据安全和隐私性&#xff0c;也…

安卓App封装全攻略:利用小猪APP分发提升应用发布效率

在快速迭代的移动应用市场&#xff0c;高效且安全地分发安卓应用程序是开发者面临的一大挑战。安卓App封装技术&#xff0c;作为这一挑战的解决方案之一&#xff0c;不仅能够提升应用的安全性&#xff0c;还能简化分发流程。本文将深入探讨安卓App封装的核心概念&#xff0c;以…

小型发电机不发电原因和解决方法

小型发电机不发电可能由多种原因造成&#xff0c;以下是一些常见原因及其解决方法&#xff1a; 1.电池电量不足&#xff1a;小型发电机通常需要电池来启动。如果电池电量不足&#xff0c;可能导致发电机无法启动。此时&#xff0c;您可以使用充电设备对电池进行充电&#xff0…

2025秋招深度学习基础面试题(一)

01. 卷积和BN如何融合提升推理速度 Conv和BN的融合:在网络的推理阶段,可以将BN层的运算融合到Conv层中,减少运算量,加速推理。本质上是修改了卷积核的参数,在不增加Conv层计算量的同时,略去了BN层的计算量。def fuse_conv_bn(conv, bn):std = (bn.running_var + bn.eps).…

深入解读TuGraph计算引擎模型推理系统

作者&#xff1a;李文凯 TuGraph计算引擎模型推理系统将基于迭代计算的图计算框架与模型推理系统相结合&#xff0c;推理系统可自定义推理依赖环境&#xff0c;图迭代计算与推理链路实现隔离。基于共享内存的跨进程通信方式&#xff0c;提高了推理数据交换效率&#xff0c;满足…

VUE3好看的酒网站模板源码

文章目录 1.设计来源1.1 首页界面1.2 十大名酒界面1.3 名酒新闻界面1.4 联系我们界面1.5 在线留言界面 2.效果和结构2.1 动态效果2.2 代码结构 3.VUE框架系列源码4.源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/detai…

2024/5/22 学习杂记

为什么功率放大电路在模电中经常提到&#xff1f; 模拟信号&#xff1a;它是连续变化的电信号&#xff0c;它在时间上和幅度上都是连续的&#xff0c;能够代表信息的连续变化。大多数物理量为模拟信号&#xff0c;如&#xff1a;温度、压力、流量… 非电物理量通过传感器变换成…

Nginx - 健康检查终极指南:探索Upstream Check模块

文章目录 概述upstream_check_module模块安装和配置指南模块安装步骤基本配置示例详细配置说明检查类型和参数常见问题及解决方案 SSL检查和DNS解析功能SSL检查配置示例和说明配置示例 DNS解析配置示例和说明配置示例 结合实际应用场景的高级配置示例综合SSL检查与DNS解析 总结…

Discourse 中可能使用的 HMAC 算法 Java 实现

在 DiscourseConnect 中&#xff0c;对数据的签名使用的是 HMAC 算法。 实际使用的算法为 HmacSHA256。 Java 生成签名的方法很简单。 String hmac new HmacUtils(HmacAlgorithms.HMAC_SHA_256, "55619458534897682511405307018226").hmacHex(ssoPayload);HmacUti…

robosuite导入自定义机器人

目录 目的&#xff1a;案例一&#xff1a;成果展示具体步骤&#xff1a;URDF文件准备xml文件生成xml修改机器人构建 目的&#xff1a; 实现其他标准/非标准机器人的构建 案例一&#xff1a; 成果展示 添加机器人JAKA ZU 7 这个模型 具体步骤&#xff1a; URDF文件准备 从…

在深度学习中常见的初始化操作

目录 截断正态分布来初始化张量 逐行代码解释 相关理论解释 截断正态分布函数 截断正态分布的定义 截断正态分布的作用 计算截断点的作用 具体步骤 正态分布的累积分布函数&#xff08;CDF&#xff09; 正态分布的累积分布函数与误差函数的关系 示例计算 误差函数 应…

切换分支报错:Untracked Files Prevent Checkout

切换分支报错&#xff1a;Untracked Files Prevent Checkout 分支切换 Untracked Files Prevent Checkout 新起的项目在切换master分支到工作分支时&#xff0c;出现下图的问题&#xff1a; Untracked Files Prevent Checkout Move or commit them before checkout 网上的解决…

pip(包管理器) for Python

pip是什么 pip是Python的包安装程序&#xff0c;即python包管理器。您可以使用 pip 从Python包索引和其他索引安装包。 1. pip 安装 python 包 pip install 包名 例如&#xff1a;pip install pymssql &#xff1a; 使用pip安装数据库驱动包 pymssql 2.pip 卸载 python 包 pi…