linux 系统安装isce2
由于isce2部分模块采用了linux系统调用,纯windows环境目前并不支持,所以后面将在linux系统中部署isce2环境
一、安装anaconda3
参考:教程
1.检索最新版本的Anaconda
从Web 浏览器中,转到Anaconda分发页面,可以从以下链接访问:
https://www.anaconda.com/distribution/
查找最新的Linux版本,并将链接复制到安装程序bash脚本。
2.下载Anaconda Bash 脚本
以sudo非root用户身份登录到Ubuntu18.04 服务器,进入目录并下载您从Anaconda网站复制的链接:/tmp curl
cd /tmp
curl -O https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
3.验证数据完整性
sha256sum Anaconda3-2021.05-Linux-x86_64.sh
输出38ce717758b95b3bd0b1797cc6ccfb76f29a90c25bdfa50ee45f11e583edfdbf Anaconda3-2021.05-Linux-x86_64.sh
4.运行Anaconda 脚本
bash Anaconda3-2021.05-Linux-x86_64.sh
您将收到以下输出,用于通过按直到末尾来查看许可协议。enter
当您到达许可证末尾时,键入然后按,只要同意许可证即可完成安装。 yes enter
同意许可证后,系统提示您选择安装位置。您可以按接受默认位置,也可以指定其他位置。enter
确认或更改安装位置
/home/serena/anaconda3
- 选择选项
安装完成后,您将收到以下输出:
建议您键入以使用该命令。 yes conda
5.激活安装
现在,您可以使用以下命令激活安装:
source ~/.bashrc
6.测试安装
使用以下命令测试安装和激活:conda
conda list
二、在anaconda3中创建python3环境
-
设置Anaconda 环境
您可以使用该命令创建Anaconda环境。例如,可以使用以下命令创建名为python 3 的环境:conda create
my_env
conda create --name my_env python=3
激活新环境,如下所示:
conda activate my_env
您的命令提示符前缀将更改,以反映您处于活动的 Anaconda 环境中,并且您现在已准备好开始处理项目。
三、isce2安装
1、创建isce专用环境
conda create --name isce2_env python=3.8
2、激活创建的环境
conda activate isce2_env
3.加入 .bashrc
#activate conda
export ANACONDA=/home/haohai/anaconda3
source activate isce2_env
4.给anaconda3权限 ,否则非root用户无法写入环境
chmod 777 -R '/home/haohai/anaconda3'
5.添加conda-forge下载频道并安装isce2(如果没做上步,这步先进入root模式)
conda config --add channels conda-forge
conda install isce2
此处运行conda install isce2
下载较慢,使用github文档查看
5.1 准备一个conda 或conda 虚拟环境
conda create -n isce2 python=3.8
conda activate isce2
以下步骤将安装isce2 在$CONDA_PREFIX。
echo $CONDA_PREFIX
5.2 安装所需的软件包
conda install -c conda-forge git cmake cython gdal h5py libgdal pytest numpy fftw scipy basemap opencv pybind11 shapely
要编译/安装mdx ,您还需要
conda install -c conda-forge openmotif openmotif-dev xorg-libx11 xorg-libxt xorg-libxmu xorg-libxft libiconv xorg-libxrender xorg-libxau xorg-libxdmcp
对于 GPU 支持,您将需要一个 CUDA 编译器,该编译器通常位于 或可由 加载。对于 PyCuAmpcor,建议使用 GDAL>=3.1,以便使用内存映射来加快文件 I/O。/usr/local/cuda``module load cuda
您还需要 C/C++/Fortran 编译器。您可以使用提供的系统GNU编译器,也可以使用conda附带的编译器,
conda install gcc_linux-64 gxx_linux-64 gfortran_linux-64
请注意,给定版本的 CUDA 仅支持某些版本的 GNU 编译器。例如,CUDA 10.1,请使用 GNU<=7.3。
conda install gcc_linux-64=7.3.0 gxx_linux-64=7.3.0 gfortran_linux-64=7.3.0
**注意:对于 Kamb(使用 Redhat 7):**使用 GNU GCC 4.8.5 系统。不要使用 CONDA 安装的 GNU 编译器。
5.3 下载源码包
mkdir -p $HOME/tools/src
cd $HOME/tools/src
git clone https://github.com/isce-framework/isce2.git
5.4 编译并安装 isce2
cd $HOME/tools/src/isce2
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DPYTHON_MODULE_DIR=lib/python3.8/site-packages -DCMAKE_CUDA_FLAGS="-arch=sm_60" -DCMAKE_PREFIX_PATH=${CONDA_PREFIX} -DCMAKE_BUILD_TYPE=Release
make -j 16 # to use multiple threads
make install
DCMAKE_INSTALL_PREFIX
是要安装包的位置。在这里,我们选择直接安装到 conda venv ($CONDA_PREFIX),以便像其他 conda 包一样自动设置 isce2 命令/脚本的路径。DPYTHON_MODULE_DIR
是用于安装 python 脚本的目录,相对于该目录进行定义。请检查您的 conda venv python3 版本,并相应地进行设置,例如 python3.7 而不是 python3.8。检查 python 版本的站点包目录的一种方法是运行命令DCMAKE_INSTALL_PREFIX
python3 -c 'import site; print(site.getsitepackages())'
-
DCMAKE_CUDA_FLAGS
针对特定 GPU 架构优化 GPU 代码,例如,P100 的sm_60、K40 的sm_35、V100 sm_70。 -
DCMAKE_PREFIX_PATH
用于依赖项的搜索路径,例如 gdal、fftw。由于我们通过 conda 安装了所有依赖项,因此我们使用 ${CONDA_PREFIX}。 -
DCMAKE_BUILD_TYPE=(None, Debug, Release)
.某些 isce2 模块(例如 PyCuAmpcor)具有调试功能,这些功能由 -DNDEBUG 编译标志打开/关闭。此标志未包含在调试生成类型中或未指定,即调试功能处于打开状态。它包含在"发布"生成类型中,因此调试功能处于关闭状态。对于最终用户,请使用发布生成类型。 -
如果 cmake 无法正确找到所需的编译器,则可以通过添加
-DCMAKE_C_COMPILER=/path/to/gcc -DCMAKE_CXX_COMPILER=/path/to/g++ -DCMAKE_Fortran_COMPILER=/path/to/gfortran
上面代码显示地址目录不存在
-
如果编译中出现问题,您想检查详细信息
make VERBOSE=1
5.5检查和测试
您可以通过以下方式检查 ISCE2 是否已正确安装
cd $CONDA_PREFIX/bin
ls -ltr
# you should see mdx, and other python apps are installed
cd ../lib/python3.x/site-packages
ls -ltr
# you should see isce2 and an additional link isce
您可以尝试运行
python3 -c 'import isce'
topsApp.py -h
...
下次,加载 isce2 需要做的就是
codna activate # if you install to the base
conda activate isce2 # if you install to an isce2 venv.
默认情况下,CUDA 模块在 GPU 设备 0 上运行(目前每个任务仅支持一个 GPU)。如果有多个任务或多个用户共享同一设备,程序将运行缓慢甚至崩溃。如果您安装了多个 GPU(运行以检查),则可以通过使用选择设备将任务分散到不同的 GPU,其中最多安装了 GPU 的数量。例如,要使用设备 2,nvidia-smi``CUDA_VISIBLE_DEVICES=n``n=0,1,...
export CUDA_VISIABLE_DEVICES=2
topsApp.py ...
# or one line
CUDA_VISIBLE_DEVICES=2 topsApp.py ...
四、利用conda命令导出/安装当前环境所有的依赖包及其对应的版本号
conda list
conda list -e > requirements.txt #导出当前环境所有依赖包及其对应的版本好
conda install --yes --file requirements.txt # 在新的环境中安装导出的包