Amesos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
amesos_paraklete_error.c
Go to the documentation of this file.
1 /* ========================================================================== */
2 /* === paraklete_error ====================================================== */
3 /* ========================================================================== */
4 
6 
7 /* Error handling for PARAKLETE. Currently, this function aborts the entire
8  * set of MPI processes. It does this because coordinating a clean exit among
9  * the processes for all possible failure modes is very difficult. Future work:
10  * remove the call to MPI_Abort from this function, and handle the errors more
11  * gracefully without terminating the user's parallel application.
12  *
13  * PARAKLETE version 0.3: parallel sparse LU factorization. Nov 13, 2007
14  * Copyright (C) 2007, Univ. of Florida. Author: Timothy A. Davis
15  * See License.txt for the Version 2.1 of the GNU Lesser General Public License
16  * http://www.cise.ufl.edu/research/sparse
17  */
18 
19 void amesos_paraklete_error (Int status, char *filename, Int line, char *message,
20  paraklete_common *Common)
21 {
22  Common->status = status ;
23  printf ("Error in proc "ID", status "ID" in file %s, line "ID" : %s\n",
24  Common->myid, status, filename, line, message) ;
25  CHOLMOD (error) ((int) status, filename, (int) line, message,
26  &(Common->cm)) ;
27  MPI (MPI_Abort (MPI_COMM_WORLD, status)) ;
28  /* in case this version is not compiled with MPI */
29  abort ( ) ;
30 }
#define Int
#define CHOLMOD(name)
#define ID
int CHOLMOD() error(int status, char *file, int line, char *message, cholmod_common *Common)
#define MPI(statement)
void amesos_paraklete_error(Int status, char *filename, Int line, char *message, paraklete_common *Common)