首页 > 其他分享 >PRESTO的配置(高算版)

PRESTO的配置(高算版)

时间:2024-09-26 17:50:32浏览次数:1  
标签:Files PRESTO 配置 pgplot Program export 高算版 HOME PATH

作者为:левский Уильямс

一、准备工作

在配置安装的时候,没有load任何的Module
如果在此之前有导入过任何的模块(用module list查看已导入的模块),请全部卸载

保证gcc是4.8.5版本的。

需要下载如下的工具:

  1. fftw-3.3.9 (点击下载)
  2. pgplot5.2 (点击下载,有点慢)
  3. tempo (点击下载)
  4. cfitsio-4.0.0 (点击下载) (注意其大小只有4M左右,如果不是4M左右肯定是下错了)
  5. presto (点击下载)

数据集下载如下:

GBT_Lband_PSR.fil

注:如果想自己下载,可以参考下面的链接

fftw-3.3.9

wget http://www.fftw.org/fftw-3.3.9.tar.gz


pgplot:
``` sh

wget ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz


tempo:
``` sh

git clone git://git.code.sf.net/p/tempo/tempo

cfitsio
``` sh

wget http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.0.0.tar.gz

presto

git clone git://github.com/scottransom/presto

网络方面的问题请自己想办法(ง •_•)ง

需要会的基本命令与操作

二、正式安装

再强调一遍,在配置安装的时候,没有load任何的Module
如果在此之前有导入过任何的模块(用module list查看已导入的模块),请全部卸载

在正式安装之前,我建议把源码目录和安装目录分开,像下面这样的一个文件树是比较推荐的。

之后所有的指令都是基于下面这个文件结构来的。

~ # 用户根目录
├── Data # 数据集存放目录
│   └── GBT_Lband_PSR.fil
├── Downloads # 源码目录
│   ├── cfitsio
│   ├── fftw
│   ├── pgplot
│   ├── presto
│   └── tempo
└── Program_Files # 安装目录
    ├── cfitsio
    ├── fftw
    ├── pgplot
    ├── presto
    └── tempo

也就是说,需要在用户根目录下(~)新建3个文件夹:DataDownloadsProgram_Files相。
新建完之后,需要在安装目录里(Program_Files)新建5个文件夹。

在上面这个文件目录下,需要添加的环境变量如下:(如果看不懂没关系,那就先跳到下面正式安装部分)

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Program_Files/fftw/lib/" # 这里${HOME}是你用户的根目录
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/fftw/lib/pkgconfig"
export PATH="$PATH:${HOME}/Program_Files/fftw/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:${HOME}/Program_Files/fftw/include"
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:${HOME}/Program_Files/fftw/include"

export PGPLOT_DIR="${HOME}/Program_Files/pgplot/" 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Program_Files/pgplot/"   # 注意:没有lib的子文件夹
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/pgplot/lib/pkgconfig"

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/tempo/lib/pkgconfig" 
export TEMPO="${HOME}/Program_Files/tempo" 

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/cfitsio/lib/pkgconfig"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Program_Files/cfitsio/lib"

export PRESTO="${HOME}/Downloads/presto/" 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Downloads/presto/lib" 

export PATH="$PATH:${HOME}/Downloads/presto/bin" # 注意,这条是在源码目录下!!!
export C_INCLUDE_PATH="$C_INCLUDE_PATH:${HOME}/Program_Files/presto/include"
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:${HOME}/Program_Files/presto/include"

注: 直接加在~/.bashrc里有风险,可以参考: {% post_link bashrc-risks bashrc改不改? %}

1.fftw安装

fftw.第1步:安装

进入fftw的源码根目录,然后依次执行如下命令:(如果不知道源码根目录在哪里,看看上面。)

./configure --enable-shared --enable-single --prefix="${HOME}/Program_Files/fftw"
make 
make install

通常来说,第1个安装包的安装都是顺利的。

有几点需要说明:

  1. 此处用make -j4可能会报错。如果执行make报错,就执行一下make clean,清理掉编译错误的文件之后再执行make

fftw.第2步:添加环境变量

加入环境变量
直接在终端里执行下面的指令,仅当前shell有效,退出或者重连之后就失效。
而我们需要环境变量一直存在,因此把下面的指令追加到~/.bashrc文件末尾 [1]

然后再重新载入.bashrc(重新载入需要在终端里执行source ~/.bashrc

具体来说,就是:

# 第1步,打开.bashrc
vim ~/.bashrc   
# 第2步,把如下行加到.bashrc的末尾
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Program_Files/fftw/lib/" # 这里${HOME}是你用户的根目录
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/fftw/lib/pkgconfig"
export PATH="$PATH:${HOME}/Program_Files/fftw/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:${HOME}/Program_Files/fftw/include"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:${HOME}/Program_Files/presto/include"
# 如果写在~/.bashrc里,记得source ~/.bashrc
# 第3步,重新载入.bashrc
source ~/.bashrc   

2.pgplot的安装

pgplot.第1步:移动1个文件到安装目录

现在请切换到pgplot的源码根目录(~/Downloads/pgplot)

执行下面的命令以备份相关文件

##### 如果想直接复制粘贴,请确保你当前的目录是pgplot的源码的根目录!
cp drivers.list ~/Program_Files/pgplot/drivers.list

pgplot.第2步:修改3个文件

用vim打开安装目录下~/Program_Files/pgplot下面的drivers.list文件,也就是执行vim drivers.list,然后把下面这几行前面的!去掉

# 去掉这几行前面的感叹号

   GIDRIV 1 /GIF GIF-format file, landscape                            # line 19
  GIDRIV 2 /VGIF GIF-format file, portrait                            # line 20
  NUDRIV 0 /NULL Null device (no output) Std F77                      # line 38
  PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77     # line 44
  PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77     # line 45
  PSDRIV 3 /CPS PostScript printers, color, landscape Std F77         # line 46
  PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77         # line 47
  XWDRIV 1 /XWINDOW Workstations running X Window System C            # line 71
  XWDRIV 2 /XSERVE Persistent window on X Window System C             # line 72

然后保存并退出——:wq

用vim打开~/Downloads/pgplot/src/grpckg1.inc文件,然后对第29行作如下修改

# Replace " PARAMETER (GRIMAX = 8) " in line 29
#    by   " PARAMETER (GRIMAX = 32) "

然后保存并退出——:wq

用vim打开~/Downloads/pgplot/src/pgplot.inc文件,然后对第7行作如下修改

# Replace " PARAMETER (PGMAXD=8) " in line 7
#    by   " PARAMETER (PGMAXD=32) "

然后保存并退出——:wq

pgplot.第3步:安装前的配置

现在请切换到pgplot的安装目录(~/Program_Files/pgplot)

在安装目录运行位于源码目录里的makemake,并执行2遍。

# 目录结构见本文开头
~/Downloads/pgplot/makemake ~/Downloads/pgplot linux g77_gcc
~/Downloads/pgplot/makemake ~/Downloads/pgplot linux g77_gcc

注:

上面的命令是可以正常执行的。不要看见makemake前面有一堆路径就觉得这个写的有问题。
只需要把对应文件的路径换成你自己的路径。

如果报错说Permission denied,说明你的makemake没有可执行权限。执行下面的指令以加上:

chmod +x ~/Downloads/pgplot/makemake

如遇其它文件没有权限,类似处理。

执行完毕之后安装目录下会出现如下的文件:(如果你安装文件夹和我开头写的是一样的结构的话)

drivers.list   grexec.f   grpckg1.inc   makefile   pgplot.inc   rgb.txt

然后更改makefile文件的第25和第26行

# Replace "FCOMPL=g77"       in line 25 
#   by    "FCOMPL=gfortran" 
# 
# Replace "FFLAGC=-u -Wall -fPIC -O" in line 26
#   by    "FFLAGC=-ffixed-form -ffixed-line-length-none -u -Wall -fPIC -O"

pgplot.第4步,安装

# 在安装目录下执行
make
make cpg

如果make报错,make clean之后再运行一次试试。

注: 如果需要编译pgplot.html,需要更改~/Downloads/pgplot/makehtml文件。只需要把第1行替换为这个:

!/usr/bin/perl

然后:
``` bash

在安装目录下执行

make pgplot.html

pgplot.第5步,添加环境变量

export PGPLOT_DIR="${HOME}/Program_Files/pgplot/" # 记得替换USER为自己的用户名
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Program_Files/pgplot/"   # 注意:没有lib的子文件夹
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/pgplot/lib/pkgconfig"

# 如果写在~/.bashrc里,记得source ~/.bashrc

注:

pgplot有一些demo可以运行。只需要切换到安装目录,运行./pgdemo1,弹出如下信息可说明pgplot正常安装

Graphcs device/type (? to see list, default /Xserve):
# 或 Graphcs device/type (? to see list, default /NULL):

3.Tempo安装

tempo.第1步:安装前的准备

现在请切换到Tempo的源码根目录(~/Downloads/tempo)

可以尝试运行源码根目录下的prepare,像这样:

./prepare   # 一般无法正常运行

如果可以正常工作,就跳到下一步,否则就别执行那个prepare了,改成执行如下的操作:

autoreconf --install

另外需要把./src/get_version_id.sh加上执行权限,并把它的file format改成Unix。(用下面的dos2unix,服务器上自带)

chmod +x ./src/get_version_id.sh
dos2unix ./src/get_version_id.sh
dos2unix ./configure.ac

tempo.第2步:正式安装

./configure --prefix="${HOME}/Program_Files/tempo"
make 
make install

注:

如果之间那步没有把configure.ac转换成unix格式,configure之后会报错,此时重新运行configure是没有用的,需要按如下方法运行

dos2unux ./configure.ac
aclocal
autoconf
automake -a
./configure --prefix="${HOME}/Program_Files/tempo"

之后再继续makemake install即可

tempo.第3步:添加环境

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/tempo/lib/pkgconfig" 
export TEMPO="${HOME}/Program_Files/tempo" 
# 如果写在~/.bashrc里,记得source ~/.bashrc

4.cfitsio安装

cfitsio.第1步:安装

现在请切换到cfitsio的源码根目录(~/Downloads/cfitsio)

./configure --prefix="${HOME}/Program_Files/cfitsio" 
make 
make install

cfitsio.第2步:添加环境变量


export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${HOME}/Program_Files/cfitsio/lib/pkgconfig"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Program_Files/cfitsio/lib"
# 如果写在~/.bashrc里,记得source ~/.bashrc

5.安装PRESTO

presto.第1步:添加安装用的环境变量

export PRESTO="${HOME}/Downloads/presto/" # 把USER替换为你的用户名
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${HOME}/Downloads/presto/lib" 
# 如果写在~/.bashrc里,记得source ~/.bashrc

presto.第2步:修改1个文件

现在请切换到presto下的src目录(~/Downloads/presto/src)

打开./realfft.c,编辑第70行,

# 改前
...
for (int fi = 0 ; fi < numfiles ; fi++) {
...



# 改后
...
int fi;
for (fi = 0 ; fi < numfiles ; fi++) {
...

presto.第3步:安装

保持在presto下的src目录(~/Downloads/presto/src)

make makewisdom
make prep
make    # 目前只能安装在源码目录下

# 下面这两行本来也是安装的步骤,但服务器没网就算了,不影响
cd $PRESTO
pip install .

presto.第4步:添加环境变量

export PATH="$PATH:${HOME}/Downloads/presto/bin" # 注意,这条是在源码目录下!!!
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:${HOME}/Program_Files/fftw/include"
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:${HOME}/Program_Files/presto/include"
# 如果写在~/.bashrc里,记得source ~/.bashrc

到目前为止,你应该正确安装了presto。下面我们进行一些验证。输入readfile --help,应该有如下的输出

readfile: unknown option `--help'

   [-page] [-byte] [-b] [-float] [-f] [-double] [-d] [-fcomplex] [-fc] [-dcomplex] [-dc] [-short] [-s] [-int] [-i] [-long] [-l] [-rzwcand] [-rzw] [-bincand] [-bin] [-position] [-pos] [-pkmb] [-bcpm] [-wapp] [-spigot] [-filterbank] [-psrfits] [-fortran] [-index [index]] [-nph nph] [--] file
      Reads raw data from a binary file and displays it on stdout.
          -page: Paginate the output like 'more'
          -byte: Raw data in byte format
             -b: Raw data in byte format
         -float: Raw data in floating point format
             -f: Raw data in floating point format
        -double: Raw data in double precision format
             -d: Raw data in double precision format
      -fcomplex: Raw data in float-complex format
            -fc: Raw data in float-complex format
      -dcomplex: Raw data in double-complex format
            -dc: Raw data in double-complex format
         -short: Raw data in short format
             -s: Raw data in short format
           -int: Raw data in integer format
             -i: Raw data in integer format
          -long: Raw data in long format
             -l: Raw data in long format
       -rzwcand: Raw data in rzw search candidate format
           -rzw: Raw data in rzw search candidate format
       -bincand: Raw data in bin search candidate format
           -bin: Raw data in bin search candidate format
      -position: Raw data in position struct format
           -pos: Raw data in position struct format
          -pkmb: Raw data in Parkes Multibeam format
          -bcpm: Raw data in BCPM format
          -wapp: Raw data in WAPP format
        -spigot: Raw data in Spigot Card format
    -filterbank: Raw data in SIGPROC filterbank format
       -psrfits: Raw data in PSRFITS format
       -fortran: Raw data was written by a fortran program
         -index: The range of objects to display
                 0...2 int values between -1 and oo
                 default: `0' ` -1'
           -nph: 0th FFT bin amplitude (for 'RZW' data)
                 1 double value
                 default: `1.0'
           file: Input data file name.
                 1 value
  version: 12Mar10

如果有这些输出,就说明是成功安装了

三、跑数据集

跑数据集的第1步:预处理

在数据目录(~/Data/)下执行如下指令

readfile ~/Data/GBT_Lband_PSR.fil
rfifind -time 1.0 -o Lband ~/Data/GBT_Lband_PSR.fil
prepdata -nobary -o ~/Data/Lband_topo_DM0.00 -dm 0.0 -mask ~/Data/Lband_rfifind.mask ~/Data/GBT_Lband_PSR.fil

跑数据集的第2步:写脚本

编写如下的脚本,注意保存的后缀需要是*.slurm(可以取名为run.slurm):

#!/bin/bash
#SBATCH -J presto
#SBATCH -p cpu-low
#SBATCH -N 2
#SBATCH -n 16
#SBATCH --ntasks-per-node=8
#SBATCH -t 5:00
#SBATCH -o run.out
#SBATCH -e run.err

module load intel/18.0.3.222

cd $PRESTO/tests/
mpirun -np 2 accelsearch -numharm 4 -zmax 0 "${HOME}/Data/Lband_topo_DM0.00.dat" -ncpus 8

然后,我们可以先在本地试试脚本能不能正常运行。在终端里输入如下:

bash ./run.slurm 1>run.out 2>run.err # 假设你保存的脚本叫run.slurm

如果run.err大小为0b0K,说明没有问题,那么就放心提交作业吧!

注:命令含义解释

1>run.out表示把脚本的执行的正常输出写到run.out文件,尖括号左右不要有空格

2>run.err表示把脚本的执行的错误输出写到run.err文件,尖括号左右不要有空格

跑数据集的第3步:提交

如果在上面你脚本里Lband_topo_DM0.00.dat用的是绝对路径,那么在这一步你的slurm脚本就可以随便放。

在你放脚本的地方执行如下指令:

sbatch run.slurm # 提交作业脚本

如果正常提交,会有如下的结果:

[para_xxxxxxxx@ln04 ~]$ sbatch run.slurm
Submitted batch job xxxxxxxx        # 仅表示成功提交

至于运行的结果,则需要在run.outrun.err里面看了。(对应你slurm脚本的#SBATCH -o run.out#SBATCH -e run.err

至于其它的问题,请自己解决吧,因为我也没有解决(笑

参考文献

CentOS 7 安装 pgplot

PRESTO指导手册中文版

脉冲星PRESTO部署文档


  1. 直接加在~/.bashrc里有风险,可以参考 {% post_link bashrc-risks bashrc改不改? %} ↩︎

标签:Files,PRESTO,配置,pgplot,Program,export,高算版,HOME,PATH
From: https://www.cnblogs.com/mitnick/p/18433982

相关文章

  • Windows Server 2019 Web服务器之IIS的安装与基本配置
    准备工作:选择一台服务器作为WEB-IIS服务器在WindowsServer2019系统中,IIS角色是可选组件,默认情况下是没有安装的。1.在windows服务器中安装IIS1)打开【服务器管理器】,单击【添加角色和功能】。2)默认选择【基于角色或基于功能的安装】,点击【下一步】。3)默认选项,继续下一步。......
  • Linux服务器运维管理面板1Panel快速安装及安全配置
    1Panel是一个现代化、开源的Linux服务器运维管理面板,旨在帮助运维人员简化服务器管理任务。它提供了直观的界面和强大的功能,使用户可以通过图形化操作界面对服务器进行管理,减少了对命令行的依赖。1Panel支持多种操作系统,适用于Linux服务器,提供了如网站管理、数据库管理、安......
  • uniapp 安卓原生隐私政策,首次进入APP弹窗配置
    1.找到并打开manifest.json文件,点击”App启动界面配置”,找到”Android启动界面样式”,然后勾选”使用原生隐私政策提示框” 2.勾选完“使用原生隐私政策提示框”后,manifest.json文件同级会出现androidPrivacy.json文件,点击此文件后出现配置页面:{"version":"1","pr......
  • FICO:常规配置
    FICO后台常规配置定义mySAP系统中的国家:Tcode:OY01SAP系统中的国家已经提前定义好了,无需自行配置,此处只做查看演示 检查货币代码Tcode:OY03SAP系统中的常规的货币代码也已经提前定义好了,一般不做更改此处只做查看演示为货币设置小数位数:Tcode:OY04SAP系统中......
  • Windows 允许用户自定义和安装网络协议。以下是一些方法和步骤,帮助您在 Windows 中进
    Windows允许用户自定义和安装网络协议。以下是一些方法和步骤,帮助您在Windows中进行此操作。1.使用设备管理器安装协议您可以通过设备管理器来安装特定的网络协议:打开设备管理器:右键点击“开始”菜单,选择“设备管理器”。找到网络适配器:展开“网络适配器”部分。......
  • 一款高性价比4g工业路由器,配置简单,网络覆盖强
    ​各位老铁,今天给大家介绍一下SR600这款工业级4G路由器。这玩意儿是专门为工业环境设计的,比如说化工厂、矿场这种恶劣环境,普通路由器根本扛不住。先说说SR600的硬件配置:处理器:工业级CPU,厂家没透露具体型号,但性能够用内存:128MB,满足工业控制需求存储:16MBFl......
  • Abp 使用app.UseStaticFiles配置静态文件中间件以达到创建虚拟路径
    若访问项目文件wwwroot以外的其他静态文件使用如下方式访问1.配置文件中配置路径(appsetting)"App":{"ServerRootAddress":"https://localhost:44301/","ClientRootAddress":"https://localhost:4200/","CorsOrigins":"......
  • setup配置;ref与reactive
    setup配置Vue3中的setup函数接收两个参数,分别是props和context。1、props:值为对象,包含:组件外部传递过来。切组件内部声明接收了的属性。需要注意的是,Vue3中的props是只读的,即在setup函数中不能修改props的值。如果需要修改传递过来的数据,可以使用响应式对象或ref。2、......
  • Linux服务器运维管理面板1Panel快速安装及安全配置
    1Panel是一个现代化、开源的Linux服务器运维管理面板,旨在帮助运维人员简化服务器管理任务。它提供了直观的界面和强大的功能,使用户可以通过图形化操作界面对服务器进行管理,减少了对命令行的依赖。1Panel支持多种操作系统,适用于Linux服务器,提供了如网站管理、数据库管......
  • 常见抓包工具配置抓取HTTPS
    一、wireshark抓取https1.配置SSLKEYLOGFILE环境变量2.关闭Chrome浏览器后重新打开,确认sslkey.log文件已经添加3.配置wireshark  编辑–首选项–protocols–TLS4.开启wireshark抓包 二、Fiddler抓取https 1.Fiddler配置点击Tools>Options>HTTPS,勾选DecryptHTTPSTraff......