运行DiFX
设置MPI和mpifxcorr
设置 mpifxcorr 现在比以前简单了许多,只需将 setup.bash 或 setup.csh 添加到登录脚本中。你可以在安装目录的顶层找到这些设置文件。假设你使用的是 bash,并运行 DiFX-2.2(现在已经较旧,最新版本为2.8.1),你需要的文件是 master_tags/DiFX-2.2/setup.bash。
你在安装 DiFX 时应该已经设置过这个文件。
要确保 MPI 准备好运行,输入 mpirun。它应该显示可用的选项列表。如果它抱怨环境没有准备好,可能需要运行 mpd。除此之外,咨询你所用 MPI 发行版的具体文档,这里有太多不同的 MPI 版本,无法进行详细的故障排除。
这个文件定义了一堆变量,例如$DIFXROOT,并将$DIFXROOT/bin/添加到路径中。
因此,编译的所有程序都应该可以正常运行。
输入which mpifxcorr - 您应该看到将要运行的mpifxcorr版本和路径。
为了确保MPI准备好运行,键入 mpirun 。 它应该给您提供它所采取的选项列表。 如果它抱怨环境还没有准备好,您可能需要运行’mpd’。
除此之外 - 请参阅您的发行版的特定MPI文档,有太多不同的MPI发行版,无法在此处进行详细的故障排除。
运行mpifxcorr
如果您已经下载了一些示例数据并且只想测试它,那么您可以立即开始,因为您不需要生成辅助文件。
但是,最好从一开始就遵循正常的设置相关性的路径,您只需使用vex文件即可生成所有mpifxcorr配置文件。
下面显示了一个相关处理方式的流程图:

如图所见,有两个步骤需要用户输入。
第一个是生成 .v2d 文件。 有关此文件的介绍,可以参考vex2difx文档,但它可以(并且通常是)非常简单。
另一个是机器文件和.threads文件。 这些描述了mpifxcorr将在哪台计算机上运行以及它将使用多少个计算线程。
这里显示了一个示例,具体可以参考difx-files。 如果您只是在一台机器上运行(比如自己的笔记本或者服务器),那么只需一遍又一遍地使用它的名称即可。
您至少需要N + 2个条目,其中N是望远镜的数量。
Before you start up the correlator, you should start up errormon2 to log
the messages which come out of the correlator. Just type errormon2, and
it will write a file called log (you can rename it later if you want).
在启动相关处理之前,您应该启动 errormon2 以记录相关处理输出的消息。 只需键入 errormon2 ,它将写入一个名为log的文件(如果需要,稍后可以将其重命名)。
一旦您拥有机器文件,并且errormon2正在运行,您就应该能够使用以下命令启动相关处理:
1 | $ mpirun -machinefile machines.list -np X mpifxcorr example.input |
将machines.list替换为您的机器文件名,将X替换为要使用的进程数,并将example.input替换为输入文件名。
目前,主要有以下几个工具可以运行:genmachines/startdifx、espresso 和 startcorr.pl。genmachines 适用于 Mark5 单元相关的相关性计算,espresso 用于基于文件的相关性计算,而 startcorr.pl 适用于 eVLBI。将来这些工具可能会统一。
辅助程序
如上所述,DiFX 提供了一系列辅助程序,帮助设置相关处理作业并将输出转换为导出格式。下面列出了这些程序及其简要说明的链接。
vex2difx
vex2difx在vex2difx有很好的文档。
calcif2
使用 calcif2 生成相关模型文件。它处理由 vex2difx 生成的 .calc 文件,并生成 .delay、.uvw、.rate 和 .im 文件。你应该在 vex2difx 之后运行 calcif2,在 mpifxcorr 之前运行。
difx2fits
difx2fits 用于生成 FITS 文件。要使用 difx2fits,需要将 .input 文件中的输出格式设置为 SWIN,并在相关性计算完成后使用 difx2fits。更多文档已记录在 这里。
difx2mark4
difx2mark4 用于生成类地测量的 Mark4 可见性数据集。它的运行方式与 difx2fits 类似。相关文档已记录在 这里。
参考指南
关于 mpifxcorr 及其支持软件的详细信息,可以在参考