SETI@home:同时使用 Multibeam 和 Astropulse 的优化程序

来自中国分布式计算总站
跳转至: 导航搜索
小贴士: 目前版本的 SETI@home:优化程序 已可提供安装向导完成这一过程,本页面仅供参考。

SETI@home 项目目前在运行的两个子项目名称分别为 MultibeamAstropulse,且第三方计算团体已分别针对两个子项目发布了各自的优化程序,但直接使用任何一种优化的结果是只能下载到某个子项目的计算任务,如果您希望同时下载到两个子项目的计算任务并且都能用各自的优化程序去处理,这将需要您手动对两个子项目的优化程序进行合并处理,而这也就是本文所要介绍的内容。

本站论坛中两个子项目的优化程序介绍主题:

首先,根据自己的处理器及操作系统类型选择各个子项目相应的优化程序,具体的选择说明见各个优化程序介绍主题中的说明。以 T5600 处理器(最高支持的指令集为 SSSE3)和 Windows XP 操作系统(32 位版本)为例,Multibeam 子项目应选择 AK8 系列中 AK_v8.0_Win32_SSSE3x.zip,而 Astropulse 子项目应选择 ap_4.35rev24b54_SSE3.7z(本系列优化最高只有支持 SSE3 的版本)。

小贴士: 较新的优化程序一般提供 .aistub 为后缀的 app_info 片段模板,并提供 aimerge*.cmd 帮助合并。

然后,合并两个优化程序中附带的 app_info.xml 配置文件,继续上面的例子,两个优化程序中的配置文件内容分别如下:

 <app_info>
   <app>
       <name>setiathome_enhanced</name>
   </app>
   <file_info>
       <name>AK_v8_win_SSSE3x.exe</name>
       <executable/>
   </file_info>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>527</version_num>
       <file_ref>
          <file_name>AK_v8_win_SSSE3x.exe</file_name>
           <main_program/>
       </file_ref>
   </app_version>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>528</version_num>
       <file_ref>
          <file_name>AK_v8_win_SSSE3x.exe</file_name>
           <main_program/>
       </file_ref>
   </app_version>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>603</version_num>
       <file_ref>
           <file_name>AK_v8_win_SSSE3x.exe</file_name>
           <main_program/>
       </file_ref>
   </app_version>
 </app_info>

简单来看,除去最外层的 app_info 标记,可以分为几大段:app 标记说明计算程序种类,而 setiathome_enhanced 所指的就是 Multibeam 子项目;file_info 标记说明优化程序内包含的执行文件名称;app_version 标记可能有多段,主要说明本优化程序对应的官方计算程序版本,上面的例子说明该优化程序兼容于 5.27/5.28/6.03 三个版本的官方计算程序。

 <app_info>
   <app>
     <name>astropulse</name>
   </app>
   <file_info>
     <name>ap_4.35rev24b54_SSE3.exe</name>
     <executable/>
   </file_info>
   <file_info>
     <name>libfftw3f-3-1-1a_upx.dll</name>
     <executable/>
   </file_info>
   <app_version>
     <app_name>astropulse</app_name>
     <version_num>435</version_num>
     <file_ref>
       <file_name>ap_4.35rev24b54_SSE3.exe</file_name>
       <main_program/>
     </file_ref>
     <file_ref>
       <file_name>libfftw3f-3-1-1a_upx.dll</file_name>
     </file_ref>
   </app_version>
    <app_version>
     <app_name>astropulse</app_name>
     <version_num>436</version_num>
     <file_ref>
       <file_name>ap_4.35rev24b54_SSE3.exe</file_name>
       <main_program/>
     </file_ref>
     <file_ref>
       <file_name>libfftw3f-3-1-1a_upx.dll</file_name>
     </file_ref>
   </app_version>
 </app_info>

和前面一个配置文件类似,也是依次为 app 标记段,file_info 标记段和 app_version 标记段,该优化程序兼容的官方计算程序版本为 4.35 和 4.36。

然后,我们只需要小心地将两个文件中的内容合并起来就可以了,最终文件如下:

 <app_info>
   <app>
       <name>astropulse</name>
   </app>
   <file_info>
       <name>ap_4.35rev24b54_SSE3.exe</name>
       <executable/>
   </file_info>
   <file_info>
       <name>libfftw3f-3-1-1a_upx.dll</name>
       <executable/>
   </file_info>
   <app_version>
       <app_name>astropulse</app_name>
       <version_num>435</version_num>
       <file_ref>
           <file_name>ap_4.35rev24b54_SSE3.exe</file_name>
           <main_program/>
       </file_ref>
       <file_ref>
           <file_name>libfftw3f-3-1-1a_upx.dll</file_name>
       </file_ref>
   </app_version>
   <app_version>
       <app_name>astropulse</app_name>
       <version_num>436</version_num>
       <file_ref>
           <file_name>ap_4.35rev24b54_SSE3.exe</file_name>
           <main_program/>
       </file_ref>
       <file_ref>
           <file_name>libfftw3f-3-1-1a_upx.dll</file_name>
       </file_ref>
   </app_version>
   <app>
       <name>setiathome_enhanced</name>
   </app>
   <file_info>
       <name>AK_v8_win_SSSE3x.exe</name>
       <executable/>
   </file_info>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>527</version_num>
       <file_ref>
          <file_name>AK_v8_win_SSSE3x.exe</file_name>
           <main_program/>
       </file_ref>
   </app_version>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>528</version_num>
       <file_ref>
          <file_name>AK_v8_win_SSSE3x.exe</file_name>
           <main_program/>
       </file_ref>
   </app_version>
   <app_version>
       <app_name>setiathome_enhanced</app_name>
       <version_num>603</version_num>
       <file_ref>
          <file_name>AK_v8_win_SSSE3x.exe</file_name>
           <main_program/>
       </file_ref>
   </app_version>
 </app_info>

看懂前面两个配置文件后,再看这个就容易多了,除了最外层的 app_info 标记,先后分别是两个配置文件中的内容,而且互不影响!或者也可以这样操作:直接把任何一个 app_info.xml 的内容复制到另外一个 app_info.xml 文件的最后,然后把文件中间多余的两行给删除掉就可以了:)

</app_info>
<app_info>


配置文件修改好后,不要忘记原来各个优化程序包内的执行文件(*.exe,*.dll 等,可能并没有在配置文件中进行说明),一并放到 SETI@home 的项目文件夹(projects\setiathome.berkeley.edu\)下,重新启动整个 BOINC 客户端,搞定!