如何在PARPACK中运行MPI示例

时间:2015-10-15 02:50:09

标签: mpi arpack

我能够编译ARPACK/PARPACK/EXAMPLE/MPI,这是mpirun -np 4 a.out文件夹中的一个示例。但是,当我使用命令[.th:9951] *** An error occurred in MPI_Allreduce [.th:9951] *** on communicator MPI_COMM_WORLD [.th:9951] *** MPI_ERR_OP: invalid reduce operation [.th:9951] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort -------------------------------------------------------------------------- mpirun has exited due to process rank 0 with PID 9951 on node superinfra.ku.ac.th exiting improperly. There are two reasons this could oc cur: 1. this process did not call "init" before exiting, but others in the job did. This can cause a job to hang indefinitely while it waits for all processes to call "init". By rule, if one process calls "init", then ALL processes must call "init" prior to termination. 2. this process called "init", but exited without calling "finalize". By rule, all processes that call "init" MUST call "finalize" prior to exiting or it will be considered an "abnormal termination" This may have caused other processes in the application to be terminated by signals sent by mpirun (as reported here). -------------------------------------------------------------------------- [.th:09950] 3 more processes have sent help message help-mpi-err ors.txt / mpi_errors_are_fatal [.th:09950] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages 运行程序时,出现以下错误。

SET @start_res = 20150301;
SET @finish_res= 20150501;
SET @finish_check= 20150801;
SET @start_check= 20150301;
SET @daily_hos= 3;

SELECT* from
   ( SELECT COUNT(DAY_IN) AS arr FROM t_hospital WHERE DAY_IN between  @start_check and @finish_check and RES_DATE between @start_res and @finish_res  and ID_daily_hos =@daily_hos group by DAY_IN  )e,
     (SELECT COUNT(PAT_STATUS) AS ONG1 FROM t_hospital WHERE PAT_STATUS  like '%ong%' and  DAY_IN between @start_check and @finish_check and RES_DATE between @start_res and @finish_res  and ID_daily_hos =@daily_hos group by DAY_IN ) a,
        (SELECT COUNT(PAT_STATUS) AS RTED FROM t_hospital WHERE PAT_STATUS  like '%rtde%'and  DAY_IN between  @start_check and @finish_check and RES_DATE between @start_res and @finish_res  and ID_daily_hos =@daily_hos group by DAY_IN  )b,
           (SELECT COUNT(PAT_STATUS) AS POLI FROM t_hospital WHERE PAT_STATUS  like '%pol%'and DAY_IN between @start_check and @finish_check and RES_DATE between @start_res and @finish_res  and ID_daily_hos =@daily_hos group by DAY_IN   )c,
              (SELECT COUNT(PAT_STATUS) AS para FROM t_hospital WHERE PAT_STATUS  like '%para%' and  DAY_IN between @start_check and @finish_check and RES_DATE between @start_res and @finish_res  and ID_daily_hos =@daily_hos group by DAY_IN  )d

我正在使用摇滚群集。请帮忙。

1 个答案:

答案 0 :(得分:0)

我实际上今天遇到了一个完全相同的问题,并设法解决了。我想分享困扰我的事情,以防任何人陷入同一个陷阱。我用来编译的mpi库与PARPACK软件包中包含的“ mpif.h”文件不匹配。

根据我的观察,PARPACK软件包中有3个mpif.h文件。我的解决方案是用我的mpi库的“ mpif.h”填充替换PARPACK目录树中的所有“ mpif.h”文件。