Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ src/test/zboxloop.exe
src/test/test_mp
src/test/test_mp_pcg
src/test/test_mp_pcg_3d
src/test/test_csr_overlap
src/examples/ex[0-9]
src/examples/ex[0-9].exe
src/examples/ex1[0-8]
Expand Down
1 change: 1 addition & 0 deletions src/parcsr_mv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ set(REGULAR_SRCS
par_csr_communication.c
par_csr_filter.c
par_csr_matop.c
par_csr_overlap.c
par_csr_matrix.c
par_csr_matrix_stats.c
par_csr_matmat.c
Expand Down
2 changes: 2 additions & 0 deletions src/parcsr_mv/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ HEADERS =\
par_chord_matrix.h\
par_csr_communication.h\
par_csr_matrix.h\
par_csr_overlap.h\
par_vector.h

FILES =\
Expand All @@ -52,6 +53,7 @@ FILES =\
par_csr_matmat.c\
par_csr_matvec.c\
par_csr_matop_marked.c\
par_csr_overlap.c\
par_csr_triplemat.c\
par_make_system.c\
par_vector.c\
Expand Down
78 changes: 78 additions & 0 deletions src/parcsr_mv/_hypre_parcsr_mv.h
Original file line number Diff line number Diff line change
Expand Up @@ -535,6 +535,71 @@ typedef struct
* SPDX-License-Identifier: (Apache-2.0 OR MIT)
******************************************************************************/

/******************************************************************************
*
* Header info for overlapping domain decomposition
*
*****************************************************************************/

#ifndef hypre_PAR_CSR_OVERLAP_HEADER
#define hypre_PAR_CSR_OVERLAP_HEADER

/*--------------------------------------------------------------------------
* hypre_OverlapData
*
* Data structure for overlapping domain decomposition.
* Stores information about the extended subdomain for a processor.
*--------------------------------------------------------------------------*/

typedef struct hypre_OverlapData_struct
{
/* Overlap configuration */
HYPRE_Int overlap_order; /* Overlap order (delta >= 0) */

/* Original local partition info */
HYPRE_Int num_local_rows; /* Original local rows */
HYPRE_BigInt first_row_index; /* First row owned by this proc */
HYPRE_BigInt last_row_index; /* Last row owned by this proc */

/* Extended subdomain information */
HYPRE_Int num_extended_rows; /* Total rows in extended domain */
HYPRE_Int num_overlap_rows; /* External rows (from overlap) */
HYPRE_BigInt *extended_row_indices; /* Global indices of all extended rows */
HYPRE_Int *row_is_owned; /* 1 if row is owned, 0 if external */

/* Communication package for fetching overlap data */
hypre_ParCSRCommPkg *overlap_comm_pkg;

/* External CSR matrix (fetched from other procs) */
hypre_CSRMatrix *A_ext; /* CSR matrix of external rows */
HYPRE_BigInt *ext_map; /* Global row indices for external rows */

} hypre_OverlapData;

/*--------------------------------------------------------------------------
* Accessor macros for hypre_OverlapData
*--------------------------------------------------------------------------*/

#define hypre_OverlapDataOverlapOrder(data) ((data)->overlap_order)
#define hypre_OverlapDataNumLocalRows(data) ((data)->num_local_rows)
#define hypre_OverlapDataFirstRowIndex(data) ((data)->first_row_index)
#define hypre_OverlapDataLastRowIndex(data) ((data)->last_row_index)
#define hypre_OverlapDataNumExtendedRows(data) ((data)->num_extended_rows)
#define hypre_OverlapDataNumOverlapRows(data) ((data)->num_overlap_rows)
#define hypre_OverlapDataExtendedRowIndices(data) ((data)->extended_row_indices)
#define hypre_OverlapDataRowIsOwned(data) ((data)->row_is_owned)
#define hypre_OverlapDataOverlapCommPkg(data) ((data)->overlap_comm_pkg)
#define hypre_OverlapDataExternalMatrix(data) ((data)->A_ext)
#define hypre_OverlapDataExternalRowMap(data) ((data)->ext_map)

#endif /* hypre_PAR_CSR_OVERLAP_HEADER */
/******************************************************************************
* Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
* HYPRE Project Developers. See the top-level COPYRIGHT file for details.
*
* SPDX-License-Identifier: (Apache-2.0 OR MIT)
******************************************************************************/

/******************************************************************************
*
* Tree structure for keeping track of numbers (e.g. column numbers) -
Expand Down Expand Up @@ -1311,6 +1376,19 @@ HYPRE_Int hypre_ParVectorGetValuesDevice(hypre_ParVector *vector, HYPRE_Int num_
/* HYPRE_parcsr_vector.c */
HYPRE_Int hypre_ParVectorStridedCopy( hypre_ParVector *x, HYPRE_Int istride, HYPRE_Int ostride,
HYPRE_Int size, HYPRE_Complex *data );

/* par_csr_overlap.c */
hypre_OverlapData* hypre_OverlapDataCreate( void );
HYPRE_Int hypre_OverlapDataDestroy( hypre_OverlapData *overlap_data );
HYPRE_Int hypre_ParCSRMatrixComputeOverlap( hypre_ParCSRMatrix *A, HYPRE_Int overlap_order,
hypre_OverlapData **overlap_data_ptr );
HYPRE_Int hypre_ParCSRMatrixGetExternalMatrix( hypre_ParCSRMatrix *A,
hypre_OverlapData *overlap_data );
HYPRE_Int hypre_ParCSRMatrixCreateExtendedMatrix( hypre_ParCSRMatrix *A,
hypre_OverlapData *overlap_data,
hypre_CSRMatrix **A_local_ptr,
HYPRE_BigInt **col_map_ptr,
HYPRE_Int *num_cols_local_ptr );
/******************************************************************************
* Copyright (c) 1998 Lawrence Livermore National Security, LLC and other
* HYPRE Project Developers. See the top-level COPYRIGHT file for details.
Expand Down
35 changes: 35 additions & 0 deletions src/parcsr_mv/_hypre_parcsr_mv_mup.h
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,20 @@ hypre_NumbersQuery_dbl( hypre_NumbersNode *node, const HYPRE_Int n );
HYPRE_Int
hypre_NumbersQuery_long_dbl( hypre_NumbersNode *node, const HYPRE_Int n );

hypre_OverlapData*
hypre_OverlapDataCreate_flt( void );
hypre_OverlapData*
hypre_OverlapDataCreate_dbl( void );
hypre_OverlapData*
hypre_OverlapDataCreate_long_dbl( void );

HYPRE_Int
hypre_OverlapDataDestroy_flt( hypre_OverlapData *overlap_data );
HYPRE_Int
hypre_OverlapDataDestroy_dbl( hypre_OverlapData *overlap_data );
HYPRE_Int
hypre_OverlapDataDestroy_long_dbl( hypre_OverlapData *overlap_data );

void
hypre_ParAat_RowSizes_flt( HYPRE_Int **C_diag_i, HYPRE_Int **C_offd_i, HYPRE_Int *B_marker, HYPRE_Int *A_diag_i, HYPRE_Int *A_diag_j, HYPRE_Int *A_offd_i, HYPRE_Int *A_offd_j, HYPRE_BigInt *A_col_map_offd, HYPRE_Int *A_ext_i, HYPRE_BigInt *A_ext_j, HYPRE_BigInt *A_ext_row_map, HYPRE_Int *C_diag_size, HYPRE_Int *C_offd_size, HYPRE_Int num_rows_diag_A, HYPRE_Int num_cols_offd_A, HYPRE_Int num_rows_A_ext, HYPRE_BigInt first_col_diag_A, HYPRE_BigInt first_row_index_A );
void
Expand Down Expand Up @@ -587,6 +601,13 @@ hypre_ParCSRMatrixCompressOffdMap_dbl( hypre_ParCSRMatrix *A );
HYPRE_Int
hypre_ParCSRMatrixCompressOffdMap_long_dbl( hypre_ParCSRMatrix *A );

HYPRE_Int
hypre_ParCSRMatrixComputeOverlap_flt( hypre_ParCSRMatrix *A, HYPRE_Int overlap_order, hypre_OverlapData **overlap_data_ptr );
HYPRE_Int
hypre_ParCSRMatrixComputeOverlap_dbl( hypre_ParCSRMatrix *A, HYPRE_Int overlap_order, hypre_OverlapData **overlap_data_ptr );
HYPRE_Int
hypre_ParCSRMatrixComputeOverlap_long_dbl( hypre_ParCSRMatrix *A, HYPRE_Int overlap_order, hypre_OverlapData **overlap_data_ptr );

HYPRE_Int
hypre_ParCSRMatrixComputeScalingTagged_flt( hypre_ParCSRMatrix *A, HYPRE_Int type, HYPRE_MemoryLocation memloc_tags, HYPRE_Int num_tags, HYPRE_Int *tags, hypre_ParVector **scaling_ptr );
HYPRE_Int
Expand Down Expand Up @@ -636,6 +657,13 @@ hypre_ParCSRMatrixCreateAssumedPartition_dbl( hypre_ParCSRMatrix *matrix );
HYPRE_Int
hypre_ParCSRMatrixCreateAssumedPartition_long_dbl( hypre_ParCSRMatrix *matrix );

HYPRE_Int
hypre_ParCSRMatrixCreateExtendedMatrix_flt( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data, hypre_CSRMatrix **A_local_ptr, HYPRE_BigInt **col_map_ptr, HYPRE_Int *num_cols_local_ptr );
HYPRE_Int
hypre_ParCSRMatrixCreateExtendedMatrix_dbl( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data, hypre_CSRMatrix **A_local_ptr, HYPRE_BigInt **col_map_ptr, HYPRE_Int *num_cols_local_ptr );
HYPRE_Int
hypre_ParCSRMatrixCreateExtendedMatrix_long_dbl( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data, hypre_CSRMatrix **A_local_ptr, HYPRE_BigInt **col_map_ptr, HYPRE_Int *num_cols_local_ptr );

hypre_ParCSRMatrix*
hypre_ParCSRMatrixCreateFromDenseBlockMatrix_flt( MPI_Comm comm, HYPRE_BigInt global_num_rows, HYPRE_BigInt global_num_cols, HYPRE_BigInt *row_starts, HYPRE_BigInt *col_starts, hypre_DenseBlockMatrix *B );
hypre_ParCSRMatrix*
Expand Down Expand Up @@ -783,6 +811,13 @@ hypre_ParCSRMatrixGenerateFFFCHost_dbl( hypre_ParCSRMatrix *A, HYPRE_Int *CF_mar
HYPRE_Int
hypre_ParCSRMatrixGenerateFFFCHost_long_dbl( hypre_ParCSRMatrix *A, HYPRE_Int *CF_marker, HYPRE_BigInt *cpts_starts, hypre_ParCSRMatrix *S, hypre_ParCSRMatrix **A_FC_ptr, hypre_ParCSRMatrix **A_FF_ptr );

HYPRE_Int
hypre_ParCSRMatrixGetExternalMatrix_flt( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data );
HYPRE_Int
hypre_ParCSRMatrixGetExternalMatrix_dbl( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data );
HYPRE_Int
hypre_ParCSRMatrixGetExternalMatrix_long_dbl( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data );

HYPRE_Int
hypre_ParCSRMatrixGetLocalRange_flt( hypre_ParCSRMatrix *matrix, HYPRE_BigInt *row_start, HYPRE_BigInt *row_end, HYPRE_BigInt *col_start, HYPRE_BigInt *col_end );
HYPRE_Int
Expand Down
5 changes: 5 additions & 0 deletions src/parcsr_mv/_hypre_parcsr_mv_mup_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@
#define hypre_NumbersNEntered HYPRE_FIXEDPRECISION_FUNC ( hypre_NumbersNEntered )
#define hypre_NumbersNewNode HYPRE_FIXEDPRECISION_FUNC ( hypre_NumbersNewNode )
#define hypre_NumbersQuery HYPRE_FIXEDPRECISION_FUNC ( hypre_NumbersQuery )
#define hypre_OverlapDataCreate HYPRE_FIXEDPRECISION_FUNC ( hypre_OverlapDataCreate )
#define hypre_OverlapDataDestroy HYPRE_FIXEDPRECISION_FUNC ( hypre_OverlapDataDestroy )
#define hypre_ParAat_RowSizes HYPRE_FIXEDPRECISION_FUNC ( hypre_ParAat_RowSizes )
#define hypre_ParBooleanAAt HYPRE_FIXEDPRECISION_FUNC ( hypre_ParBooleanAAt )
#define hypre_ParBooleanMatmul HYPRE_FIXEDPRECISION_FUNC ( hypre_ParBooleanMatmul )
Expand Down Expand Up @@ -142,13 +144,15 @@
#define hypre_ParCSRMatrixColSum HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixColSum )
#define hypre_ParCSRMatrixColSumHost HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixColSumHost )
#define hypre_ParCSRMatrixCompressOffdMap HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCompressOffdMap )
#define hypre_ParCSRMatrixComputeOverlap HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixComputeOverlap )
#define hypre_ParCSRMatrixComputeScalingTagged HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixComputeScalingTagged )
#define hypre_ParCSRMatrixCopy HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCopy )
#define hypre_ParCSRMatrixCopyColMapOffdToDevice HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCopyColMapOffdToDevice )
#define hypre_ParCSRMatrixCopyColMapOffdToHost HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCopyColMapOffdToHost )
#define hypre_ParCSRMatrixCopy_C HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCopy_C )
#define hypre_ParCSRMatrixCreate HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCreate )
#define hypre_ParCSRMatrixCreateAssumedPartition HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCreateAssumedPartition )
#define hypre_ParCSRMatrixCreateExtendedMatrix HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCreateExtendedMatrix )
#define hypre_ParCSRMatrixCreateFromDenseBlockMatrix HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCreateFromDenseBlockMatrix )
#define hypre_ParCSRMatrixCreateFromParVector HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixCreateFromParVector )
#define hypre_ParCSRMatrixDestroy HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixDestroy )
Expand All @@ -171,6 +175,7 @@
#define hypre_ParCSRMatrixGenerateFFFC3 HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGenerateFFFC3 )
#define hypre_ParCSRMatrixGenerateFFFCD3 HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGenerateFFFCD3 )
#define hypre_ParCSRMatrixGenerateFFFCHost HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGenerateFFFCHost )
#define hypre_ParCSRMatrixGetExternalMatrix HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGetExternalMatrix )
#define hypre_ParCSRMatrixGetLocalRange HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGetLocalRange )
#define hypre_ParCSRMatrixGetRow HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGetRow )
#define hypre_ParCSRMatrixGetRowHost HYPRE_FIXEDPRECISION_FUNC ( hypre_ParCSRMatrixGetRowHost )
Expand Down
5 changes: 5 additions & 0 deletions src/parcsr_mv/_hypre_parcsr_mv_mup_undef.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@
#undef hypre_NumbersNEntered
#undef hypre_NumbersNewNode
#undef hypre_NumbersQuery
#undef hypre_OverlapDataCreate
#undef hypre_OverlapDataDestroy
#undef hypre_ParAat_RowSizes
#undef hypre_ParBooleanAAt
#undef hypre_ParBooleanMatmul
Expand Down Expand Up @@ -139,13 +141,15 @@
#undef hypre_ParCSRMatrixColSum
#undef hypre_ParCSRMatrixColSumHost
#undef hypre_ParCSRMatrixCompressOffdMap
#undef hypre_ParCSRMatrixComputeOverlap
#undef hypre_ParCSRMatrixComputeScalingTagged
#undef hypre_ParCSRMatrixCopy
#undef hypre_ParCSRMatrixCopyColMapOffdToDevice
#undef hypre_ParCSRMatrixCopyColMapOffdToHost
#undef hypre_ParCSRMatrixCopy_C
#undef hypre_ParCSRMatrixCreate
#undef hypre_ParCSRMatrixCreateAssumedPartition
#undef hypre_ParCSRMatrixCreateExtendedMatrix
#undef hypre_ParCSRMatrixCreateFromDenseBlockMatrix
#undef hypre_ParCSRMatrixCreateFromParVector
#undef hypre_ParCSRMatrixDestroy
Expand All @@ -168,6 +172,7 @@
#undef hypre_ParCSRMatrixGenerateFFFC3
#undef hypre_ParCSRMatrixGenerateFFFCD3
#undef hypre_ParCSRMatrixGenerateFFFCHost
#undef hypre_ParCSRMatrixGetExternalMatrix
#undef hypre_ParCSRMatrixGetLocalRange
#undef hypre_ParCSRMatrixGetRow
#undef hypre_ParCSRMatrixGetRowHost
Expand Down
1 change: 1 addition & 0 deletions src/parcsr_mv/headers
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ cat par_csr_assumed_part.h >> $INTERNAL_HEADER
cat new_commpkg.h >> $INTERNAL_HEADER
cat par_vector.h >> $INTERNAL_HEADER
cat par_csr_matrix.h >> $INTERNAL_HEADER
cat par_csr_overlap.h >> $INTERNAL_HEADER
cat numbers.h >> $INTERNAL_HEADER
cat par_chord_matrix.h >> $INTERNAL_HEADER
cat par_make_system.h >> $INTERNAL_HEADER
Expand Down
5 changes: 5 additions & 0 deletions src/parcsr_mv/mup.fixed
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ hypre_NumbersEnter
hypre_NumbersNEntered
hypre_NumbersNewNode
hypre_NumbersQuery
hypre_OverlapDataCreate
hypre_OverlapDataDestroy
hypre_ParAat_RowSizes
hypre_ParBooleanAAt
hypre_ParBooleanMatmul
Expand Down Expand Up @@ -84,13 +86,15 @@ hypre_ParCSRMatrixClone_v2
hypre_ParCSRMatrixColSum
hypre_ParCSRMatrixColSumHost
hypre_ParCSRMatrixCompressOffdMap
hypre_ParCSRMatrixComputeOverlap
hypre_ParCSRMatrixComputeScalingTagged
hypre_ParCSRMatrixCopy
hypre_ParCSRMatrixCopyColMapOffdToDevice
hypre_ParCSRMatrixCopyColMapOffdToHost
hypre_ParCSRMatrixCopy_C
hypre_ParCSRMatrixCreate
hypre_ParCSRMatrixCreateAssumedPartition
hypre_ParCSRMatrixCreateExtendedMatrix
hypre_ParCSRMatrixCreateFromDenseBlockMatrix
hypre_ParCSRMatrixCreateFromParVector
hypre_ParCSRMatrixDestroy
Expand All @@ -113,6 +117,7 @@ hypre_ParCSRMatrixGenerateFFFC
hypre_ParCSRMatrixGenerateFFFC3
hypre_ParCSRMatrixGenerateFFFCD3
hypre_ParCSRMatrixGenerateFFFCHost
hypre_ParCSRMatrixGetExternalMatrix
hypre_ParCSRMatrixGetLocalRange
hypre_ParCSRMatrixGetRow
hypre_ParCSRMatrixGetRowHost
Expand Down
40 changes: 40 additions & 0 deletions src/parcsr_mv/mup_fixed.c
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,22 @@ hypre_NumbersQuery( hypre_NumbersNode *node, const HYPRE_Int n )

/*--------------------------------------------------------------------------*/

hypre_OverlapData*
hypre_OverlapDataCreate( void )
{
return HYPRE_CURRENTPRECISION_FUNC(hypre_OverlapDataCreate)( );
}

/*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_OverlapDataDestroy( hypre_OverlapData *overlap_data )
{
return HYPRE_CURRENTPRECISION_FUNC(hypre_OverlapDataDestroy)( overlap_data );
}

/*--------------------------------------------------------------------------*/

void
hypre_ParAat_RowSizes( HYPRE_Int **C_diag_i, HYPRE_Int **C_offd_i, HYPRE_Int *B_marker, HYPRE_Int *A_diag_i, HYPRE_Int *A_diag_j, HYPRE_Int *A_offd_i, HYPRE_Int *A_offd_j, HYPRE_BigInt *A_col_map_offd, HYPRE_Int *A_ext_i, HYPRE_BigInt *A_ext_j, HYPRE_BigInt *A_ext_row_map, HYPRE_Int *C_diag_size, HYPRE_Int *C_offd_size, HYPRE_Int num_rows_diag_A, HYPRE_Int num_cols_offd_A, HYPRE_Int num_rows_A_ext, HYPRE_BigInt first_col_diag_A, HYPRE_BigInt first_row_index_A )
{
Expand Down Expand Up @@ -664,6 +680,14 @@ hypre_ParCSRMatrixCompressOffdMap( hypre_ParCSRMatrix *A )

/*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_ParCSRMatrixComputeOverlap( hypre_ParCSRMatrix *A, HYPRE_Int overlap_order, hypre_OverlapData **overlap_data_ptr )
{
return HYPRE_CURRENTPRECISION_FUNC(hypre_ParCSRMatrixComputeOverlap)( A, overlap_order, overlap_data_ptr );
}

/*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_ParCSRMatrixComputeScalingTagged( hypre_ParCSRMatrix *A, HYPRE_Int type, HYPRE_MemoryLocation memloc_tags, HYPRE_Int num_tags, HYPRE_Int *tags, hypre_ParVector **scaling_ptr )
{
Expand Down Expand Up @@ -720,6 +744,14 @@ hypre_ParCSRMatrixCreateAssumedPartition( hypre_ParCSRMatrix *matrix )

/*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_ParCSRMatrixCreateExtendedMatrix( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data, hypre_CSRMatrix **A_local_ptr, HYPRE_BigInt **col_map_ptr, HYPRE_Int *num_cols_local_ptr )
{
return HYPRE_CURRENTPRECISION_FUNC(hypre_ParCSRMatrixCreateExtendedMatrix)( A, overlap_data, A_local_ptr, col_map_ptr, num_cols_local_ptr );
}

/*--------------------------------------------------------------------------*/

hypre_ParCSRMatrix*
hypre_ParCSRMatrixCreateFromDenseBlockMatrix( MPI_Comm comm, HYPRE_BigInt global_num_rows, HYPRE_BigInt global_num_cols, HYPRE_BigInt *row_starts, HYPRE_BigInt *col_starts, hypre_DenseBlockMatrix *B )
{
Expand Down Expand Up @@ -888,6 +920,14 @@ hypre_ParCSRMatrixGenerateFFFCHost( hypre_ParCSRMatrix *A, HYPRE_Int *CF_marker,

/*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_ParCSRMatrixGetExternalMatrix( hypre_ParCSRMatrix *A, hypre_OverlapData *overlap_data )
{
return HYPRE_CURRENTPRECISION_FUNC(hypre_ParCSRMatrixGetExternalMatrix)( A, overlap_data );
}

/*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_ParCSRMatrixGetLocalRange( hypre_ParCSRMatrix *matrix, HYPRE_BigInt *row_start, HYPRE_BigInt *row_end, HYPRE_BigInt *col_start, HYPRE_BigInt *col_end )
{
Expand Down
4 changes: 2 additions & 2 deletions src/parcsr_mv/par_csr_matrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,7 @@ hypre_ParCSRMatrixPrintIJ( const hypre_ParCSRMatrix *matrix,

if ((file = fopen(new_filename, "w")) == NULL)
{
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Error: can't open output file %s\n");
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Error: can't open output file\n");
return hypre_error_flag;
}

Expand Down Expand Up @@ -1453,7 +1453,7 @@ hypre_ParCSRMatrixReadIJ( MPI_Comm comm,

if ((file = fopen(new_filename, "r")) == NULL)
{
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Error: can't open output file %s\n");
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Error: can't open output file\n");
return hypre_error_flag;
}

Expand Down
Loading