当前位置: 首页 > ai >正文

MPI,Pthreads和OpenMP等并行实验环境配置

(假设你已按照文档前面的步骤正确安装了 VMware 和 Ubuntu 20.04)

第一部分:安装 C++/OpenMP/Pthreads 环境(修正后)

  1. 打开终端: 在 Ubuntu 中启动终端应用程序。

  2. 更新软件包列表:

          sudo apt update

    (提示时输入你的用户密码

  3. 安装编译工具: 这会安装 gcc, g++, make 以及必要的开发库,其中包含了对 OpenMP 和 Pthreads 的基础支持。

          sudo apt install build-essential

  4. 验证 GCC 安装(可选):

          gcc --version

    • 关于 OpenMP: GCC 自带 OpenMP 支持。要编译使用 OpenMP 的代码,必须在编译和链接时添加 -fopenmp 标志。例如:gcc -fopenmp my_openmp_code.c -o my_openmp_program

    • 关于 Pthreads: Pthreads 库 (libpthread) 是 build-essential 提供的标准 C 库 (glibc) 的一部分。要编译使用 Pthreads 的代码,添加 -pthread 标志。例如:gcc my_pthread_code.c -o my_pthread_program -pthread

第二部分:安装 MPI 环境(MPICH 4.3.0 - 修正后)

  1. 下载 MPICH:

    • 访问 MPICH 官方下载页面:https://www.mpich.org/downloads/

    • 找到最新稳定版本的链接(例如 mpich-4.3.0.tar.gz)。

    • 打开终端,切换到你想要下载文件的目录(例如,下载文件夹:cd ~/Downloads),然后使用 wget 下载:

            # 如果有更新的稳定版本,请替换下面的 URL
      wget https://www.mpich.org/static/downloads/4.3.0/mpich-4.3.0.tar.gz

  2. 解压压缩包:无需 sudo

          tar -zxvf mpich-4.3.0.tar.gz

  3. 进入源码目录:

          cd mpich-4.3.0

  4. 配置构建过程: (以普通用户身份运行,无需 sudo

    • 选择一个安装目录。推荐安装在你的主目录下,这样安装时就不需要 sudo。例如:$HOME/mpi/mpich-4.3.0。

    • 运行配置脚本,指定安装前缀 (--prefix) 并禁用 Fortran(除非你需要它并且已经安装了 gfortran)。

            mkdir -p $HOME/mpi
      ./configure --prefix=$HOME/mpi/mpich-4.3.0 --disable-fortran

    • (等待配置过程完成。它会详细检查你的系统环境。)

  5. 编译 MPICH: (以普通用户身份运行,无需 sudo

    • -j N 标志可以通过使用 N 个并行任务来加速编译。将 N 替换为你分配给虚拟机的 CPU 核心数(例如,按文档是 4)。

            make -j4
    • (这一步会花费一些时间。)

  6. 安装 MPICH: (以普通用户身份运行,无需 sudo,因为安装目录在你的主目录下)

          make install

  7. 配置环境变量:

    • 打开你的 .bashrc 文件进行编辑(无需 sudo):

            gedit ~/.bashrc

    • 滚动到文件末尾,添加以下行(如果你选择了不同的安装前缀,请相应修改 MPI_ROOT 的路径):

            # MPICH Environment Settings
      export MPI_ROOT=$HOME/mpi/mpich-4.3.0
      export PATH=$MPI_ROOT/bin:$PATH
      export LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH
      export MANPATH=$MPI_ROOT/man:$MANPATH
    • 保存文件并关闭 gedit。

  8. 应用环境变量更改: 让刚才的修改在当前终端会话中生效:

          source ~/.bashrc

    (或者,关闭当前终端,然后重新打开一个新的终端。)

  9. 验证安装: 检查系统是否能找到 MPICH 的命令和库:

          which mpicc
    which mpiexec
    mpicc --version

    • 你应该能看到指向你安装目录的路径(例如 /home/你的用户名/mpi/mpich-4.3.0/bin/mpicc)以及版本信息。

  10. 运行示例进行测试:

    • 切换到你之前解压的 MPICH 源代码 目录下的 examples 文件夹:

            # 假设你还在 ~/Downloads/mpich-4.3.0 目录下,或者切换回去
      cd examples

    • 使用 4 个进程运行 cpi(计算 Pi)示例:

            mpiexec -n 4 ./cpi

    • 你应该会看到类似以下的输出:

            Process 0 of 4 is on 你的主机名
      Process 1 of 4 is on 你的主机名
      Process 2 of 4 is on 你的主机名
      Process 3 of 4 is on 你的主机名
      pi is approximately 3.1415926544231239, Error is 0.0000000008333307
      wall clock time = 0.xxxxxx

这样就完成了在你的 Ubuntu 虚拟机上针对 C++, OpenMP, Pthreads, 以及 MPICH 4.3.0 的环境配置。

http://www.xdnf.cn/news/3788.html

相关文章:

  • 【第三十四周】多模态大模型调研
  • Uni-app 组件使用
  • 什么是Linux中的systemd?
  • leetcode 59. 螺旋矩阵 II
  • 小土堆pytorch--tensorboard的使用
  • 【c++深入系列】:万字详解vector(附模拟实现的vector源码)
  • Spring MVC的工作流程, DispatcherServlet 的工作流程
  • 25.1linux中外置RTC芯片的PCF8563实验(知识)_csdn
  • 嵌入式GPIO 实验(流水灯程序,八段数码管显示程序)
  • Kubernetes 安装 kubectl
  • Qt实现 hello world + 内存泄漏(5)
  • C++学习:六个月从基础到就业——C++11/14:lambda表达式
  • MATLAB实现二氧化硅和硅光纤的单模光波特性与仿真
  • 打印Excel表格时单元格文字内容被下一行遮盖的解决方法
  • CPU 的指令集存放在什么地方?
  • 深度解析ZFNet:微调优化与可视化创新
  • 【现代深度学习技术】现代循环神经网络06:编码器-解码器架构
  • WPF中Behaviors
  • JSON Web Token 默认密钥 身份验证安全性分析 dubbo-admin JWT硬编码身份验证绕过
  • Python速成系列二
  • 多段线和二维多段线的区别及顶点遍历
  • Linux54 源码包的安装、修改环境变量解决 axel命令找不到;getfacl;测试
  • OpenHarmony平台驱动开发(一),ADC
  • 大模型实践:图文解锁Ollama在个人笔记本上部署llm
  • 一格一格“翻地毯”找单词——用深度优先搜索搞定单词搜索
  • [硬件电路-12]:LD激光器与DFB激光器功能概述、管脚定义、功能比较
  • 基于STM32的温湿度光照强度仿真设计(Proteus仿真+程序设计+设计报告+讲解视频)
  • 使用Scrapy构建高效网络爬虫:从入门到数据导出全流程
  • 互联网与无线广播:数字时代与模拟时代的通讯双轨制-优雅草卓伊凡
  • 【iOS】 分类 拓展 关联对象