Amesos Package Browser (Single Doxygen Collection) Development
amesos_paraklete_error.c
Go to the documentation of this file.
00001 /* ========================================================================== */
00002 /* === paraklete_error ====================================================== */
00003 /* ========================================================================== */
00004 
00005 #include "amesos_paraklete_decl.h"
00006 
00007 /* Error handling for PARAKLETE.  Currently, this function aborts the entire
00008  * set of MPI processes.  It does this because coordinating a clean exit among
00009  * the processes for all possible failure modes is very difficult.  Future work:
00010  * remove the call to MPI_Abort from this function, and handle the errors more
00011  * gracefully without terminating the user's parallel application.
00012  *
00013  * PARAKLETE version 0.3: parallel sparse LU factorization.  Nov 13, 2007
00014  * Copyright (C) 2007, Univ. of Florida.  Author: Timothy A. Davis
00015  * See License.txt for the Version 2.1 of the GNU Lesser General Public License
00016  * http://www.cise.ufl.edu/research/sparse
00017  */
00018 
00019 void amesos_paraklete_error (Int status, char *filename, Int line, char *message,
00020     paraklete_common *Common)
00021 {
00022     Common->status = status ;
00023     printf ("Error in proc "ID", status "ID" in file %s, line "ID" : %s\n",
00024         Common->myid, status, filename, line, message) ;
00025     CHOLMOD (error) ((int) status, filename, (int) line, message,
00026         &(Common->cm)) ;
00027     MPI (MPI_Abort (MPI_COMM_WORLD, status)) ;
00028     /* in case this version is not compiled with MPI */
00029     abort ( ) ;
00030 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines