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

Linux下编译ARPACK

本文记录Linux下编译ARPACK的流程。

零、环境

操作系统Ubuntu 22.04.4 LTS
VS Code1.92.1
Git2.34.1
GCC11.4.0
CMake3.22.1
oneAPI2024.2.1

一、依赖

1.1 安装oneAPI

参见:Get the Intel® oneAPI Base Toolkit , Get the Intel® oneAPI HPC Toolkit 

二、编译ARPACK

2.1 下载

git clone https://github.com/opencollab/arpack-ng.git
cd ./arpack-ng/
git checkout -b arpack-3.9.0 3.9.0

2.2 构建

按照下表配置CMake,或者使用附录中的CMakeUserPresets.json文件,

CMake VaraibleValue

CMAKE_C_COMPILER

/opt/intel/oneapi/compiler/latest/bin/icx

CMAKE_CXX_COMPILER

/opt/intel/oneapi/compiler/latest/bin/icpx

CMAKE_BUILD_TYPE

Debug
CMAKE_INSTALL_PREFIX/data/3rdparty/intel-dbg-zmo
INTERFACE64false
ICBtrue
MPItrue

2.3 编译

使用linux_intel presets,进行编译。

三、使用ARPACK

附录Ⅰ:   CMakeUserPresets.json

新建CMakeUserPresets.json文件,并添加以下内容,

{"version": 9,"cmakeMinimumRequired": {"major": 3,"minor": 20,"patch": 0},"configurePresets": [{"name": "default","hidden": true,"displayName": "Default Config","description": "Default build configuration","binaryDir": "${sourceDir}/out/build/${presetName}","cacheVariables": {"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}","CMAKE_BUILD_TYPE": "Debug"}},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","description": "This build is using Visual Studio 17 2022 generator","generator": "Visual Studio 17 2022","toolset": "host=x64","architecture": "x64","cacheVariables": {},"environment": {},"condition": {"type": "equals","lhs": "${hostSystemName}","rhs": "Windows"}},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","description": "This build is using MinGW generator","generator": "MinGW Makefiles","cacheVariables": {},"environment": {}},{"name": "cygwin64","hidden": false,"inherits": "default","displayName": "Cygwin64","description": "This build is using Unix Makefiles generator","generator": "Unix Makefiles","cacheVariables": {},"environment": {}},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","description": "Default build using Unix Makefiles generator","generator": "Unix Makefiles","cacheVariables": {"CMAKE_C_COMPILER": "/usr/bin/gcc","CMAKE_CXX_COMPILER": "/usr/bin/g++","CMAKE_INSTALL_PREFIX": "${sourceParentDir}/../gcc-dbg-zmo","CMAKE_BUILD_TYPE": "Debug","INTERFACE64": false,"ICB": true,"MPI": true            },"environment": {}},{"name": "linux_intel","hidden": false,"inherits": "default","displayName": "Linux Intel","description": "Intel(R) oneAPI DPC++/C++ Compiler","generator": "Unix Makefiles","cacheVariables": {"CMAKE_C_COMPILER": "/opt/intel/oneapi/compiler/latest/bin/icx","CMAKE_CXX_COMPILER": "/opt/intel/oneapi/compiler/latest/bin/icpx","CMAKE_INSTALL_PREFIX": "${sourceParentDir}/../intel-dbg-zmo","CMAKE_BUILD_TYPE": "Debug","INTERFACE64": false,"ICB": true,"MPI": true},"environment": {}}],"buildPresets": [{"name": "default","configurePreset": "default"},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022"},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64"},{"name": "cygwin64","hidden": false,"inherits": "default","displayName": "Cygwinw64","configurePreset": "cygwin64"},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc"},{"name": "linux_intel","hidden": false,"inherits": "default","displayName": "Linux Intel","configurePreset": "linux_intel"}],"testPresets": [{"name": "default","configurePreset": "default","output": {"outputOnFailure": true},"execution": {"noTestsAction": "error","stopOnFailure": true}},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022"},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64"},{"name": "cygwin64","hidden": false,"inherits": "default","displayName": "Cygwin64","configurePreset": "cygwin64"},{"name": "linux_gcc","displayName": "Linux GCC","configurePreset": "linux_gcc"},{"name": "linux_intel","displayName": "Linux Intel","configurePreset": "linux_intel"}],"packagePresets": [{"name": "default","configurePreset": "default","generators": ["TGZ"]},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022","generators": ["TGZ"]},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64","generators": ["TGZ"]},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc","generators": ["RPM"]},{"name": "linux_intel","hidden": false,"inherits": "default","displayName": "Linux Intel","configurePreset": "linux_intel","generators": ["RPM"]}],"workflowPresets": [{"name": "default","steps": [{"type": "configure","name": "default"},{"type": "build","name": "default"},{"type": "test","name": "default"},{"type": "package","name": "default"}]},{"name": "vs2022","displayName": "Visual Studio 17 2022","steps": [{"type": "configure","name": "vs2022"},{"type": "build","name": "vs2022"},{"type": "test","name": "vs2022"},{"type": "package","name": "vs2022"}]},{"name": "mingw64","displayName": "MinGW-w64","steps": [{"type": "configure","name": "mingw64"},{"type": "build","name": "mingw64"},{"type": "test","name": "mingw64"},{"type": "package","name": "mingw64"}]},{"name": "linux_gcc","displayName": "Linux GCC","steps": [{"type": "configure","name": "linux_gcc"},{"type": "build","name": "linux_gcc"},{"type": "test","name": "linux_gcc"},{"type": "package","name": "linux_gcc"}]},{"name": "linux_intel","displayName": "Linux Intel","steps": [{"type": "configure","name": "linux_intel"},{"type": "build","name": "linux_intel"},{"type": "test","name": "linux_intel"},{"type": "package","name": "linux_intel"}]}]
}

网络

ARPACK

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

相关文章:

  • 【Git Submodules 与微前端架构技术指南】
  • git仓库和分支的关系
  • 主从切换是怎么保证数据一致的?从库为什么会延迟
  • 理解JavaScript中的函数赋值和调用
  • AAA服务器技术
  • 算法训练营day55 图论⑤ 并查集理论基础、107. 寻找存在的路径
  • 谷歌为什么要将Android的页面大小(Page Size)从传统的4KB升级至16KB
  • 解决 UniApp 自定义弹框被图片或 Canvas 覆盖的 Bug
  • 云原生俱乐部-mysql知识点归纳(3)
  • 2 . 大纲
  • 常用植被物候提取方法 (TIMESATE/R语言/Python)-4.0
  • QChart智能坐标轴
  • 【3-3】流量控制与差错控制
  • Linux的ALSA音频框架学习笔记
  • 为单片机专门定制的Unicode字库和API接口
  • 18650锂电池自动化生产线:智能集成提升制造效能
  • Datawhale工作流自动化平台n8n入门教程(一):n8n简介与平台部署
  • 机器学习深度学习 所需数据的清洗实战案例 (结构清晰、万字解析、完整代码)包括机器学习方法预测缺失值的实践
  • 基于 PyTorch 模型训练优化、FastAPI 跨域配置与 Vue 响应式交互的手写数字识别
  • 【Qt】线程池与全局信号实现异步协作
  • 【qml-5】qml与c++交互(类型单例)
  • JVM垃圾收集器
  • Linux重置 root 密码:从原理到实操
  • 免费OCR工具支持哪些文档格式转换
  • 8.19打卡 DAY 46 通道注意力(SE注意力)
  • RPC高频问题与底层原理剖析
  • 在VSCode中进行Vue前端开发推荐的插件
  • 基于C语言基础对C++的进一步学习_知识补充、组合类、类中的静态成员与静态函数、类中的常对象和常成员函数、类中的this指针、类中的友元
  • Laya的适配模式选择
  • 使用 Ansys Discovery 探索外部空气动力学