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

AORSA编译指南

AORSA编译指南

编译环境:Ubuntu 20.04(Windows11,VMWare17 Pro 虚拟机 - 版本:17.0.2 build)

目录

  • AORSA编译指南
    • 〇、编译前准备
      • 依赖库补充下载
      • 下载 Paraview 以查看 vtk 文件
        • 指令下载 ParaView
    • 一、AORSA 下载(见 Github)
      • 1. 使用 git 指令
      • 2. 直接下载
    • 二、Makefile 文件
      • makeopts.ubuntu20.04
    • 三、案例运行

〇、编译前准备

见前文【GENRAY编译指南】;

依赖库补充下载

下为下载补充的依赖库的命令:

sudo apt-get install gfortran-10 libscalapack-openmpi-dev libopenmpi-dev pgplot5 libnetcdff-dev libpng-dev libblas-dev libx11-dev

下载 Paraview 以查看 vtk 文件

ParaView 是一个开源的多平台数据分析与可视化应用,基于 VTKVisualization Toolkit)构建,适用于各种规模的数据集。

  • 优点:
    • 用户友好的图形用户界面(GUI),易于上手。
    • 广泛的功能覆盖,从简单的数据探索到复杂的科学可视化。
    • 良好的社区支持和文档资料。
    • 强大的 Python 脚本支持,允许高度定制化的工作流程。
  • 缺点:
    • 在处理特别庞大的数据集时,性能可能不及 Visit(但这个并不太好下且磁盘占用还挺大)。
指令下载 ParaView

使用 Kitware 提供的 APT 仓库Kitware 提供了一个包含最新稳定版 ParaViewAPT 仓库,这可以让你获得比默认 Ubuntu 仓库更新的版本)

  1. 打开终端并添加 GPG 密钥:

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  2. 添加 KitwareAPT 仓库:

    • 对于 Ubuntu 22.04 (Jammy):

      sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main'
      
    • 对于 20.04 LTSfocal):

      sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
      
  3. 更新软件包列表并安装 ParaView

    sudo apt update
    sudo apt install paraview
    
  4. 点击左下角“显示应用程序”,点击启动或终端输入 paraview 即可:

    在这里插入图片描述

    在这里插入图片描述

一、AORSA 下载(见 Github)

1. 使用 git 指令

git clone https://github.com/ORNL-Fusion/aorsa.git
# or
git clone git@github.com:ORNL-Fusion/aorsa.git

克隆到本地文件夹(文件夹默认名aorsa)。不会 git 的可以这里速成。

2. 直接下载

在 https://github.com/ORNL-Fusion/aorsa 网址,点击 “Code” -> "Download ZIP"直接下载,并解压到本地。

在这里插入图片描述

二、Makefile 文件

​ Makefile 是 make 命令所读取的配置文件,包含了构建项目的规则。其主要作用是检查项目文件的依赖关系,自动执行必要的命令,从而更新目标文件。它通过定义规则和指令,自动化编译、链接等步骤,大大简化了开发者的工作。用于管理项目构建过程,广泛用于 C/C++ 等语言的编译。基础知识可见: Makefile入门 。

​ 一般来说,Makefile 的基本语法由规则(rule)组成,其格式如下:

target: dependenciescommand
  • 目标(target):需要生成的文件,例如可执行文件。
  • 依赖(dependencies):生成目标所依赖的文件或目标。
  • 命令(commands):构建目标时需要执行的命令,必须以 Tab 开头。

AORSA 中的Makefile

首先进入aorsa文件夹,右键"在终端打开":

在这里插入图片描述

在这里插入图片描述

make 时会发现很多 makefile ,这些文件通常是用于不同平台、编译器或配置的 makefile 配置选项文件,主要分以下几种:

  • makeopts.perlmutter.aocc/gnu:针对 perlmutter 超级计算机使用 AMD AOCC / GNU 编译器;

  • makeopts.cori.gnu/intel:针对 Cori 超级计算机使用 GNU / Intel 编译器;

  • makeopts.osx-mojave:针对 macOS-Mojave 系统;

  • makeopts.ubuntu*:针对 Ubuntu 操作系统。

下主要针对 Ubuntu20.04 操作系统举例说明。


makeopts.ubuntu20.04

  • ① 输入指令make ,发现报错:

    在这里插入图片描述

    报错在 makefile203 行,问题可能出现在 203 行及其之前,遂查看其代码:

    在这里插入图片描述

    看起来是依赖的问题,但是注意到上面的输出中,打印了 System identified as Ubuntu20.04 ,即

    在这里插入图片描述

    说明识别了系统信息,并在此之前 include 了 makeopts.ubuntu20.04

  • ② 打开 makeopts.ubuntu20.04 ,查看代码:

    在这里插入图片描述

    发现第 2 行出现了报错中的选项:-fallow-argument-mismatch ,那就按提示改成:Wno-argument-mismatch

  • ③ 再次 make ,等待一会,没有报错且生成了目标 xaorsa2d 文件:

    在这里插入图片描述

    在这里插入图片描述

成功!!

三、案例运行

cd 或直接进入 /examples/*(下以 DIIID-helicon 为例) ,运行 mpirun -n 1 ../../xaorsa2d1为使用的进程数,建议为 1 ,数据量小的情况下也不会很慢,当然也可按电脑性能酌情更改 hostfile 以设置)。

在这里插入图片描述

下为运行前的文件:

在这里插入图片描述

运行后的文件:

在这里插入图片描述


@Date: 2025.6.14
@Author: zkinglin
(完)

http://www.dtcms.com/a/250752.html

相关文章:

  • 智造奇点:AI超级工厂如何重塑制造业DNA
  • 从易用性出发的教育场景音量调节技术方案
  • 天邑TEWA-808AE高安版_S905L3B融合机破解TTL刷机包
  • uni-app项目实战笔记14--给全屏页面添加遮罩层
  • 【整数递增加法拆分】2022-4-11
  • adoc(asciidoc)转为markdown的方法,把.adoc文件转换为markdown格式
  • CentOS7报错:Cannot find a valid baseurl for repo: base/7/x86_64
  • Burgers方程初值问题解的有效区域
  • shell三剑客
  • 《开窍》读书笔记8
  • LangGraph基础知识( Multi-agent)(六)
  • 【医疗电子技术-7.2】血糖监测技术
  • 【构建】CMake 构建系统重点内容
  • volatile 对 int 和 long 修改的区别
  • 傅里叶级数从三角函数形式到复指数形式的完整推导步骤
  • Chapter10-XXE
  • C++ 内存泄露
  • 【机械视觉】Halcon—【十三、实例找各个区域面积和中心点】
  • Bambu Studio 中的“回抽“与“装填回抽“的区别
  • 数据赋能(256)——数据赋能业务——产品和服务变现
  • 山东大学软件学院创新项目实训开发日志——第十六周
  • sd调试记录(标准库 + keil + RL-FlashFS):
  • 芯片测试之 trim修调详解
  • 人工智能嵌入公共服务治理的风险挑战(三)
  • Kerberos快速入门之基本概念与认证基本原理
  • Java延时
  • 【Qt】QStateMachine状态机-实现播放按钮状态切换
  • Python Day51 学习(日志Day20复习)
  • AIGC 基础篇 Python基础(练习1)
  • Phthon3 学习记录-0613