1、ISCE2 https://github.com/isce-framework/isce2
2、ISCE2 installation guide https://github.com/lijun99/isce2-install
3、How to call a function from the interactive interpreter and pass arguments for argparse? https://stackoverflow.com/questions/55543747/how-to-call-a-function-from-the-interactive-interpreter-and-pass-arguments-for-a
(首发地址:学习日记 https://www.learndiary.com/2022/08/linux-conda-isce2/ ,2023年4月8日更新)
今天演示一下 Linux 上非 root 用户 Conda 编译安装 ISCE2(含 RelaxIV、GPU 加速等全部可选项)。本文的演示环境是 Nvidia A100 GPU 云服务器、Ubuntu 18.04 Linux、Miniconda3 版本 conda 23.3.1、ISCE2 2.6.1。分为 ISCE2 编译安装和简单测试两部分。
重要提示:isce2 这款软件对各组件的版本特别敏感,conda 默认会安装有效的最新版本,导致 isce2 安装失败。本文已于 2023年4月8日更新了 isce2 编译运行所需要的 Conda 环境安装方法,所以视频中的Conda 环境安装部分已经过时。本文的首发网址为:学习日记 https://www.learndiary.com/2022/08/linux-conda-isce2/ 。若有更新会第一时间发布在首发网址中。
视频演示地址:
提示:本演示视频分为“编译安装”和“简单测试”如下两部分:
一、安装方法概览
实际上,现在可以在 Conda 的 conda-forge 频道直接安装 isce2。用命令:conda create -n isce2 -c conda-forge isce2 即可。但是,仓库里的版本是没有 RelaxIV、GPU 加速等可选项的。因此,本文采用编译安装的方法,安装上 ISCE2 主页上列出的全部可选项,着重介绍 RelaxIV、GPU 加速编译安装的细节。
在当前(2022.08.06),在 ISCE2 的项目主页上( https://github.com/isce-framework/isce2 ),有 SCons、CMake 两种编译安装方法。这里使用 SCons。
本文的方法可以无需 root 权限,理论上适用于各种 Linux 发行版本。当然,Nvidia 的显卡私有驱动必须事先安装好。本文给出每一步的具体命令,并配合视频演示。
二、安装步骤
1、Miniconda 安装
2、创建 conda 环境并安装所有包
本文采用 conda 环境安装方法是直接从配置文件中导入安装,理论上固定了各软件包的版本。
首先从百度网盘下载 conda 环境配置文件 isce2261_gpu_env.yml : https://pan.baidu.com/s/1flWEWR8Ls8pOyl0ad5gQlw?pwd=me2s
然后,在下载的配置文件当前目录执行命令导入安装并激活环境,如需要创建的 conda 环境名称为 isce2 :
创建相关源码、安装、编译、配置文件夹:
下载 RelaxIV 源码:
创建 cython3 符号链接:
下载 isce2 2.6.1 源码:
(后面的内容暂无需更新,于2023年4月8日未更新)
复制需要的 RelaxIV 源码到 isce2 源码文件夹中并修改编译配置文件:
对比了相关的 CMakeList.txt ,修改了 src 下面的文件,去掉了 listFiles 中的 RelaxIV/Main.C,如下:
主要编译配置文件的内容:
从 “Your GPU Compute Capability”(https://developer.nvidia.com/cuda-gpus)处查出 NVIDIA A100 显卡的 “Compute Capability” 是 “8.0”,在 env['ENABLESHAREDNVCCFLAG'] 中添加 “-arch=sm_80”。这一步不是必要的,主要是优化 CUDA 代码编译。
设置编译时环境变量:
开始编译:
激活环境即自动设置环境变量的脚本:
三、退出并重新进入环境并简单测试
主要程序测试:
可选项 "unwrap 2 stage" 测试:
与 Conda 仓库中的 isce2 相比,自己编译的多了 unwcomp.so 这个文件。
cuda 相关检测:
与 Conda 仓库中的 isce2 相比,自己编译的多了 GPUgeo2rdr、GPUresampslc、GPUtopozero 三个 GPU 相关的文件夹。
关于 ISCE2 的编译安装就此完成。因为本人并非使用这种软件的专业人士,各位在安装、使用的过程中有任何问题欢迎交流、批评与指正。
四、参考网址
1、ISCE2 https://github.com/isce-framework/isce2
2、ISCE2 installation guide https://github.com/lijun99/isce2-install
3、How to call a function from the interactive interpreter and pass arguments for argparse? https://stackoverflow.com/questions/55543747/how-to-call-a-function-from-the-interactive-interpreter-and-pass-arguments-for-a