Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Multiprecision Build #1132

Draft
wants to merge 91 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 88 commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
a3c13ee
Initial commit.
oseikuffuor1 Feb 8, 2023
2a6497f
Updated configure script.
oseikuffuor1 Feb 8, 2023
a4840a0
Merge branch 'master' into mp-build-all
oseikuffuor1 Feb 14, 2023
f477288
Added multiprecision header file containing multiprecision preprocess…
oseikuffuor1 Feb 14, 2023
6eeaa41
Enabled multiprecision build of blas directory.
oseikuffuor1 Feb 14, 2023
6e8fc9d
Minor cleanup
oseikuffuor1 Feb 14, 2023
7c8d10f
Added multiprecision build support for internal lapack functions.
oseikuffuor1 Feb 14, 2023
4a7f791
Added multiprecision build support for utilities folder.
oseikuffuor1 Mar 9, 2023
8147a8c
Merge branch 'master' into mp-build-all
oseikuffuor1 Mar 9, 2023
0cecb9b
Added build system options for multiprecision build.
oseikuffuor1 Mar 10, 2023
f641c64
Added multiprecision.h file to help with code transformation.
oseikuffuor1 Mar 10, 2023
1d5786b
Updated blas directory to support multiprecision build.
oseikuffuor1 Mar 10, 2023
1493d93
Update lapack directory to support multiprecision build.
oseikuffuor1 Mar 10, 2023
047c2b3
Updated utilities directory to support multiprecision build (on CPU).
oseikuffuor1 Mar 10, 2023
9532f7b
Use correct version of autoconf to generate configure.
oseikuffuor1 Mar 14, 2023
eab756c
Add missing header file to include directory.
oseikuffuor1 Mar 14, 2023
02f4b14
Updates to fix some compile issues with --enable-mixed-precision.
oseikuffuor1 Mar 16, 2023
69a2e5b
Minor updates to include multiprecision.h header instead of HYPRE_uti…
oseikuffuor1 Mar 17, 2023
30cfbd1
Added scripts to generate multiprecision function list and write copy…
oseikuffuor1 Mar 17, 2023
953499c
Update multivector folder to support multiprecision build.
oseikuffuor1 Mar 17, 2023
9a8990d
Merge branch 'master' into mp-build-all
oseikuffuor1 Mar 20, 2023
d9763f5
Merge branch 'hypre-mp-pr' into mp-build-all
oseikuffuor1 Mar 20, 2023
fec8b10
Refactor lobpcg to separate user-interface code from developer code.
oseikuffuor1 Mar 20, 2023
45c464a
Updated krylov directory to support multiprecision build.
oseikuffuor1 Mar 20, 2023
61a93dd
Add krylov multiprecision header file to include files
oseikuffuor1 Mar 20, 2023
0625c56
Include lobpcg.h to access developer-level functions in test files.
oseikuffuor1 Mar 20, 2023
cc2e4bc
Updated seq_mv folder to support multiprecision build.
oseikuffuor1 Mar 21, 2023
a082693
Updated parcsr_mv to support multiprecision build.
oseikuffuor1 Mar 21, 2023
d883410
Updated parcsr_block_mv to support multiprecision build.
oseikuffuor1 Mar 22, 2023
ee8885a
Updated distributed_matrix directory to support multiprecision build.
oseikuffuor1 Mar 22, 2023
303b40a
Updated IJ_mv to support multiprecision build.
oseikuffuor1 Mar 22, 2023
2777bd0
Updated Euclid, ParaSails and pilut to support multiprecision build.
oseikuffuor1 Mar 22, 2023
51ec13b
Updated parcsr_ls to support multiprecision build.
oseikuffuor1 Mar 22, 2023
c747c7b
Updated struct_mv to support multiprecision build
oseikuffuor1 Mar 23, 2023
41827e1
Updated sstruct_mv to support multiprecision build.
oseikuffuor1 Mar 23, 2023
7605b16
Updated struct_ls to support multiprecision build.
oseikuffuor1 Mar 23, 2023
f0d7f79
Updated sstruct_ls to support multiprecision build.
oseikuffuor1 Mar 23, 2023
2511582
Adding a few more scripts
oseikuffuor1 May 15, 2023
526c78f
Merge branch 'master' into mp-build-all
oseikuffuor1 May 15, 2023
333ffd7
Updated utilities folder after merge from master.
oseikuffuor1 May 21, 2023
a9b9389
Updated parcsr_ls folder after merge from master.
oseikuffuor1 May 21, 2023
af1d704
Added script for checking multiprecision build.
oseikuffuor1 May 21, 2023
45fcd3f
Some minor updates to saved files after merge from master.
oseikuffuor1 May 21, 2023
859a72d
Merge branch 'master' into mp-build-all
oseikuffuor1 Jun 6, 2023
faeb430
Updates after merge from master
oseikuffuor1 Jun 6, 2023
fa080b8
Merge branch 'master' into mp-build-all
oseikuffuor1 Jul 4, 2023
1106535
Update multiprecision build after merge from master.
oseikuffuor1 Jul 4, 2023
bbc9e93
Minor updates after merge from master. Updates for mixed-precision su…
oseikuffuor1 Jul 5, 2023
261da96
Added capabilities for mixed-precision code development for CSR matri…
oseikuffuor1 Jul 7, 2023
6ddeba0
Merge branch 'master' into mp-build-all
oseikuffuor1 Aug 10, 2023
a5c055a
Fix to declare global variables only once for multiprecision build.
oseikuffuor1 Sep 11, 2023
1f050fc
Updated protos.h.
oseikuffuor1 Sep 11, 2023
13b04a5
Updated matrix_matrix directory to support multiprecision build.
oseikuffuor1 Sep 11, 2023
5464af7
Fixes for linker warnings and error. Also a minor bug fix in mixed p…
oseikuffuor1 Sep 12, 2023
33d92e5
Added header file of multiprecision function protos needed for mixed-…
oseikuffuor1 Sep 12, 2023
765a103
Added script to generate header file of multiprecision function protos.
oseikuffuor1 Sep 12, 2023
0e7ccf4
Add a mixed-precision test example.
oseikuffuor1 Sep 12, 2023
057621c
Fixes to address linker warnings for mixed-precision functions.
oseikuffuor1 Sep 13, 2023
674e6db
Multiple updates to support mixed-precision pcg and some code cleanup.
oseikuffuor1 Sep 14, 2023
6317ebe
Added test for mixed-precision PCG.
oseikuffuor1 Sep 14, 2023
1947ca7
Minor change to print timings.
oseikuffuor1 Sep 14, 2023
b565fba
Minor bug fixes to support gcc 11.
oseikuffuor1 Sep 18, 2023
b341d72
Added a 3D driver for AMG-PCG
Sep 20, 2023
dc70d12
Merge branch 'mp-build-all' of https://github.com/hypre-space/hypre i…
Sep 20, 2023
a326aa9
new mixed precision driver
Oct 16, 2023
956e46f
updated Makefile
Oct 16, 2023
65ead7d
added GMRES to ij_mp driver
Oct 17, 2023
a329bb5
added some missing definitions. It's still not working.
Oct 17, 2023
91201f3
fixed compilation problem
Oct 18, 2023
8a46d75
fixed bugs in GMRES
Oct 18, 2023
d09a080
added BiCGSTAB
Oct 18, 2023
85dba1a
Update saved file of multiprecision function list and some minor reor…
oseikuffuor1 Oct 25, 2023
918f68b
Merge branch 'master' into mp-build-all
oseikuffuor1 Oct 25, 2023
bbf0758
Fix some compiler warning from missing preprocessor guards.
oseikuffuor1 Oct 25, 2023
7ffb3a9
Merge new updates from master branch into mp-build-all
oseikuffuor1 Oct 25, 2023
42a87d3
fixed order in loop
Oct 25, 2023
e83484e
Added a few missing functions
Oct 26, 2023
b5bfda4
Minor edits to fix linker issues non-multiprecision build.
oseikuffuor1 Oct 31, 2023
ba4ff5c
Merge branch 'mp-build-all' of github.com:hypre-space/hypre into mp-b…
oseikuffuor1 Oct 31, 2023
1d31a2b
Merge branch 'master' into mp-build-all and update multiprecision build.
oseikuffuor1 Dec 7, 2023
e9ba7c7
added some missing functions.
Dec 19, 2023
c8bef9a
Corrected updates to multiprecision header files.
oseikuffuor1 Dec 20, 2023
a4ee9f2
Merge branch 'master' into mp-build-all
oseikuffuor1 Feb 29, 2024
7d8eeb8
Complete merge from master with updates and cleanup.
oseikuffuor1 Feb 29, 2024
0e63715
Cleanup repeated entry
oseikuffuor1 Feb 29, 2024
b6727c1
Merge branch 'master' into mp-build-all
oseikuffuor1 Sep 3, 2024
623926c
Updates to cleanup and refactor headers and makefiles.
oseikuffuor1 Sep 16, 2024
8869166
Fix missing argument bug.
oseikuffuor1 Sep 17, 2024
219d8bf
Fixed issues with warnings/ compile failures on mac.
oseikuffuor1 Oct 28, 2024
a438575
Added comments on how to use scripts.
oseikuffuor1 Nov 7, 2024
df0a9a2
Fixed minor issue in header file to allow a clean build.
oseikuffuor1 Nov 7, 2024
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
4 changes: 4 additions & 0 deletions src/IJ_mv/HYPRE_IJ_mv.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
#include "HYPRE_config.h"
#include "HYPRE_utilities.h"

#ifdef HYPRE_MIXED_PRECISION
#include "IJ_mv_mup_func.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif
Expand Down
41 changes: 41 additions & 0 deletions src/IJ_mv/IJ_mv_func_header
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/sh
# 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)

# generate header file for transforming multiprecision function names

MUP_HEADER=IJ_mv_mup_func.h

cat > $MUP_HEADER <<@
/*** DO NOT EDIT THIS FILE DIRECTLY (use 'IJ_mv_func_header' to generate) ***/
@
# Generate copyright header
../config/writeHeader.sh $MUP_HEADER

cat >> $MUP_HEADER <<@

/******************************************************************************
* Header file for transforming multiprecision functions names
*****************************************************************************/

#ifndef IJ_MV_MUP_FUNC_HEADER
#define IJ_MV_MUP_FUNC_HEADER

#include "multiprecision.h"

@

FIN=IJ_mv_functions.saved
cat>> $MUP_HEADER <<@
$(
cat "$FIN" | while read -r func_name
do
# print dressed-up function
echo "#define $func_name HYPRE_MULTIPRECISION_FUNC ( $func_name )"
done
)

#endif
@
142 changes: 142 additions & 0 deletions src/IJ_mv/IJ_mv_functions.saved
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
hypre_AuxParCSRMatrixCreate
hypre_AuxParCSRMatrixDestroy
hypre_AuxParCSRMatrixInitialize
hypre_AuxParCSRMatrixInitialize_v2
hypre_AuxParCSRMatrixSetRownnz
hypre_AuxParVectorCreate
hypre_AuxParVectorDestroy
hypre_AuxParVectorInitialize_v2
hypre_ijmatrixaddtovalues
hypre_ijmatrixassemble
hypre_ijmatrixcreate
hypre_ijmatrixdestroy
hypre_ijmatrixgetlocalrange
hypre_ijmatrixgetobject
hypre_ijmatrixgetobjecttype
hypre_ijmatrixgetrowcounts
hypre_ijmatrixgetvalues
hypre_ijmatrixinitialize
hypre_ijmatrixprint
hypre_ijmatrixread
hypre_ijmatrixsetconstantvalues
hypre_ijmatrixsetdiagoffdsizes
hypre_ijmatrixsetmaxoffprocelmt
hypre_ijmatrixsetobjecttype
hypre_ijmatrixsetrowsizes
hypre_ijmatrixsetvalues
hypre_ijvectoraddtovalues
hypre_ijvectorassemble
hypre_ijvectorcreate
hypre_ijvectordestroy
hypre_ijvectorgetlocalrange
hypre_ijvectorgetobject
hypre_ijvectorgetobjecttype
hypre_ijvectorgetvalues
hypre_ijvectorinitialize
hypre_ijvectorprint
hypre_ijvectorread
hypre_ijvectorsetmaxoffprocelmt
hypre_ijvectorsetobjecttype
hypre_ijvectorsetvalues
hypre_ijmatrixsetobject
HYPRE_IJMatrixAdd
HYPRE_IJMatrixAddToValues
HYPRE_IJMatrixAddToValues2
HYPRE_IJMatrixAssemble
HYPRE_IJMatrixCreate
HYPRE_IJMatrixDestroy
HYPRE_IJMatrixGetLocalRange
HYPRE_IJMatrixGetObject
HYPRE_IJMatrixGetObjectType
HYPRE_IJMatrixGetRowCounts
HYPRE_IJMatrixGetValues
HYPRE_IJMatrixGetValues2
HYPRE_IJMatrixGetValuesAndZeroOut
HYPRE_IJMatrixInitialize
HYPRE_IJMatrixInitialize_v2
HYPRE_IJMatrixNorm
HYPRE_IJMatrixPartialClone
HYPRE_IJMatrixPrint
HYPRE_IJMatrixPrintBinary
HYPRE_IJMatrixRead
HYPRE_IJMatrixReadBinary
HYPRE_IJMatrixReadMM
HYPRE_IJMatrixSetConstantValues
HYPRE_IJMatrixSetDiagOffdSizes
HYPRE_IJMatrixSetMaxOffProcElmts
HYPRE_IJMatrixSetObjectType
HYPRE_IJMatrixSetOMPFlag
HYPRE_IJMatrixSetPrintLevel
HYPRE_IJMatrixSetRowSizes
HYPRE_IJMatrixSetValues
HYPRE_IJMatrixSetValues2
HYPRE_IJMatrixTranspose
hypre_PrefixSumInt
HYPRE_IJVectorAddToValues
HYPRE_IJVectorAssemble
HYPRE_IJVectorCreate
HYPRE_IJVectorDestroy
HYPRE_IJVectorGetLocalRange
HYPRE_IJVectorGetObject
HYPRE_IJVectorGetObjectType
HYPRE_IJVectorGetValues
HYPRE_IJVectorInitialize
HYPRE_IJVectorInitialize_v2
HYPRE_IJVectorInnerProd
HYPRE_IJVectorPrint
HYPRE_IJVectorPrintBinary
HYPRE_IJVectorRead
HYPRE_IJVectorReadBinary
HYPRE_IJVectorSetComponent
HYPRE_IJVectorSetMaxOffProcElmts
HYPRE_IJVectorSetNumComponents
HYPRE_IJVectorSetObjectType
HYPRE_IJVectorSetPrintLevel
HYPRE_IJVectorSetValues
HYPRE_IJVectorUpdateValues
hypre_IJMatrixCreateAssumedPartition
hypre_IJVectorCreateAssumedPartition
hypre_IJMatrixGetColPartitioning
hypre_IJMatrixGetRowPartitioning
hypre_IJMatrixRead
hypre_IJMatrixReadBinary
hypre_IJMatrixSetObject
hypre_FillResponseIJOffProcVals
hypre_FindProc
hypre_IJMatrixAddParCSR
hypre_IJMatrixAddToValuesOMPParCSR
hypre_IJMatrixAddToValuesParCSR
hypre_IJMatrixAssembleOffProcValsParCSR
hypre_IJMatrixAssembleParCSR
hypre_IJMatrixCreateParCSR
hypre_IJMatrixDestroyParCSR
hypre_IJMatrixGetRowCountsParCSR
hypre_IJMatrixGetValuesParCSR
hypre_IJMatrixInitializeParCSR
hypre_IJMatrixInitializeParCSR_v2
hypre_IJMatrixNormParCSR
hypre_IJMatrixSetConstantValuesParCSR
hypre_IJMatrixSetConstantValuesParCSRHost
hypre_IJMatrixSetDiagOffdSizesParCSR
hypre_IJMatrixSetMaxOffProcElmtsParCSR
hypre_IJMatrixSetMaxOnProcElmtsParCSR
hypre_IJMatrixSetRowSizesParCSR
hypre_IJMatrixSetValuesOMPParCSR
hypre_IJMatrixSetValuesParCSR
hypre_IJMatrixTransposeParCSR
hypre_IJVectorDistribute
hypre_IJVectorReadBinary
hypre_IJVectorZeroValues
hypre_IJVectorAddToValuesPar
hypre_IJVectorAssembleOffProcValsPar
hypre_IJVectorAssemblePar
hypre_IJVectorCreatePar
hypre_IJVectorDestroyPar
hypre_IJVectorDistributePar
hypre_IJVectorGetValuesPar
hypre_IJVectorInitializePar
hypre_IJVectorInitializePar_v2
hypre_IJVectorSetComponentPar
hypre_IJVectorSetMaxOffProcElmtsPar
hypre_IJVectorSetValuesPar
hypre_IJVectorZeroValuesPar
162 changes: 162 additions & 0 deletions src/IJ_mv/IJ_mv_mup_func.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
/*** DO NOT EDIT THIS FILE DIRECTLY (use 'IJ_mv_func_header' to generate) ***/

/******************************************************************************
* 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)
******************************************************************************/

/******************************************************************************
* Header file for transforming multiprecision functions names
*****************************************************************************/

#ifndef IJ_MV_MUP_FUNC_HEADER
#define IJ_MV_MUP_FUNC_HEADER

#include "multiprecision.h"

#define hypre_AuxParCSRMatrixCreate HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParCSRMatrixCreate )
#define hypre_AuxParCSRMatrixDestroy HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParCSRMatrixDestroy )
#define hypre_AuxParCSRMatrixInitialize HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParCSRMatrixInitialize )
#define hypre_AuxParCSRMatrixInitialize_v2 HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParCSRMatrixInitialize_v2 )
#define hypre_AuxParCSRMatrixSetRownnz HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParCSRMatrixSetRownnz )
#define hypre_AuxParVectorCreate HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParVectorCreate )
#define hypre_AuxParVectorDestroy HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParVectorDestroy )
#define hypre_AuxParVectorInitialize_v2 HYPRE_MULTIPRECISION_FUNC ( hypre_AuxParVectorInitialize_v2 )
#define hypre_ijmatrixaddtovalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixaddtovalues )
#define hypre_ijmatrixassemble HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixassemble )
#define hypre_ijmatrixcreate HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixcreate )
#define hypre_ijmatrixdestroy HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixdestroy )
#define hypre_ijmatrixgetlocalrange HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixgetlocalrange )
#define hypre_ijmatrixgetobject HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixgetobject )
#define hypre_ijmatrixgetobjecttype HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixgetobjecttype )
#define hypre_ijmatrixgetrowcounts HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixgetrowcounts )
#define hypre_ijmatrixgetvalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixgetvalues )
#define hypre_ijmatrixinitialize HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixinitialize )
#define hypre_ijmatrixprint HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixprint )
#define hypre_ijmatrixread HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixread )
#define hypre_ijmatrixsetconstantvalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetconstantvalues )
#define hypre_ijmatrixsetdiagoffdsizes HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetdiagoffdsizes )
#define hypre_ijmatrixsetmaxoffprocelmt HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetmaxoffprocelmt )
#define hypre_ijmatrixsetobjecttype HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetobjecttype )
#define hypre_ijmatrixsetrowsizes HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetrowsizes )
#define hypre_ijmatrixsetvalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetvalues )
#define hypre_ijvectoraddtovalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectoraddtovalues )
#define hypre_ijvectorassemble HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorassemble )
#define hypre_ijvectorcreate HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorcreate )
#define hypre_ijvectordestroy HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectordestroy )
#define hypre_ijvectorgetlocalrange HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorgetlocalrange )
#define hypre_ijvectorgetobject HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorgetobject )
#define hypre_ijvectorgetobjecttype HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorgetobjecttype )
#define hypre_ijvectorgetvalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorgetvalues )
#define hypre_ijvectorinitialize HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorinitialize )
#define hypre_ijvectorprint HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorprint )
#define hypre_ijvectorread HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorread )
#define hypre_ijvectorsetmaxoffprocelmt HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorsetmaxoffprocelmt )
#define hypre_ijvectorsetobjecttype HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorsetobjecttype )
#define hypre_ijvectorsetvalues HYPRE_MULTIPRECISION_FUNC ( hypre_ijvectorsetvalues )
#define hypre_ijmatrixsetobject HYPRE_MULTIPRECISION_FUNC ( hypre_ijmatrixsetobject )
#define HYPRE_IJMatrixAdd HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixAdd )
#define HYPRE_IJMatrixAddToValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixAddToValues )
#define HYPRE_IJMatrixAddToValues2 HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixAddToValues2 )
#define HYPRE_IJMatrixAssemble HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixAssemble )
#define HYPRE_IJMatrixCreate HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixCreate )
#define HYPRE_IJMatrixDestroy HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixDestroy )
#define HYPRE_IJMatrixGetLocalRange HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetLocalRange )
#define HYPRE_IJMatrixGetObject HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetObject )
#define HYPRE_IJMatrixGetObjectType HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetObjectType )
#define HYPRE_IJMatrixGetRowCounts HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetRowCounts )
#define HYPRE_IJMatrixGetValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetValues )
#define HYPRE_IJMatrixGetValues2 HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetValues2 )
#define HYPRE_IJMatrixGetValuesAndZeroOut HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixGetValuesAndZeroOut )
#define HYPRE_IJMatrixInitialize HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixInitialize )
#define HYPRE_IJMatrixInitialize_v2 HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixInitialize_v2 )
#define HYPRE_IJMatrixNorm HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixNorm )
#define HYPRE_IJMatrixPartialClone HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixPartialClone )
#define HYPRE_IJMatrixPrint HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixPrint )
#define HYPRE_IJMatrixPrintBinary HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixPrintBinary )
#define HYPRE_IJMatrixRead HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixRead )
#define HYPRE_IJMatrixReadBinary HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixReadBinary )
#define HYPRE_IJMatrixReadMM HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixReadMM )
#define HYPRE_IJMatrixSetConstantValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetConstantValues )
#define HYPRE_IJMatrixSetDiagOffdSizes HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetDiagOffdSizes )
#define HYPRE_IJMatrixSetMaxOffProcElmts HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetMaxOffProcElmts )
#define HYPRE_IJMatrixSetObjectType HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetObjectType )
#define HYPRE_IJMatrixSetOMPFlag HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetOMPFlag )
#define HYPRE_IJMatrixSetPrintLevel HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetPrintLevel )
#define HYPRE_IJMatrixSetRowSizes HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetRowSizes )
#define HYPRE_IJMatrixSetValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetValues )
#define HYPRE_IJMatrixSetValues2 HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixSetValues2 )
#define HYPRE_IJMatrixTranspose HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJMatrixTranspose )
#define hypre_PrefixSumInt HYPRE_MULTIPRECISION_FUNC ( hypre_PrefixSumInt )
#define HYPRE_IJVectorAddToValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorAddToValues )
#define HYPRE_IJVectorAssemble HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorAssemble )
#define HYPRE_IJVectorCreate HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorCreate )
#define HYPRE_IJVectorDestroy HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorDestroy )
#define HYPRE_IJVectorGetLocalRange HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorGetLocalRange )
#define HYPRE_IJVectorGetObject HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorGetObject )
#define HYPRE_IJVectorGetObjectType HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorGetObjectType )
#define HYPRE_IJVectorGetValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorGetValues )
#define HYPRE_IJVectorInitialize HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorInitialize )
#define HYPRE_IJVectorInitialize_v2 HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorInitialize_v2 )
#define HYPRE_IJVectorInnerProd HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorInnerProd )
#define HYPRE_IJVectorPrint HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorPrint )
#define HYPRE_IJVectorPrintBinary HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorPrintBinary )
#define HYPRE_IJVectorRead HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorRead )
#define HYPRE_IJVectorReadBinary HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorReadBinary )
#define HYPRE_IJVectorSetComponent HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorSetComponent )
#define HYPRE_IJVectorSetMaxOffProcElmts HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorSetMaxOffProcElmts )
#define HYPRE_IJVectorSetNumComponents HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorSetNumComponents )
#define HYPRE_IJVectorSetObjectType HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorSetObjectType )
#define HYPRE_IJVectorSetPrintLevel HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorSetPrintLevel )
#define HYPRE_IJVectorSetValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorSetValues )
#define HYPRE_IJVectorUpdateValues HYPRE_MULTIPRECISION_FUNC ( HYPRE_IJVectorUpdateValues )
#define hypre_IJMatrixCreateAssumedPartition HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixCreateAssumedPartition )
#define hypre_IJVectorCreateAssumedPartition HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorCreateAssumedPartition )
#define hypre_IJMatrixGetColPartitioning HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixGetColPartitioning )
#define hypre_IJMatrixGetRowPartitioning HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixGetRowPartitioning )
#define hypre_IJMatrixRead HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixRead )
#define hypre_IJMatrixReadBinary HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixReadBinary )
#define hypre_IJMatrixSetObject HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetObject )
#define hypre_FillResponseIJOffProcVals HYPRE_MULTIPRECISION_FUNC ( hypre_FillResponseIJOffProcVals )
#define hypre_FindProc HYPRE_MULTIPRECISION_FUNC ( hypre_FindProc )
#define hypre_IJMatrixAddParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixAddParCSR )
#define hypre_IJMatrixAddToValuesOMPParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixAddToValuesOMPParCSR )
#define hypre_IJMatrixAddToValuesParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixAddToValuesParCSR )
#define hypre_IJMatrixAssembleOffProcValsParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixAssembleOffProcValsParCSR )
#define hypre_IJMatrixAssembleParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixAssembleParCSR )
#define hypre_IJMatrixCreateParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixCreateParCSR )
#define hypre_IJMatrixDestroyParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixDestroyParCSR )
#define hypre_IJMatrixGetRowCountsParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixGetRowCountsParCSR )
#define hypre_IJMatrixGetValuesParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixGetValuesParCSR )
#define hypre_IJMatrixInitializeParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixInitializeParCSR )
#define hypre_IJMatrixInitializeParCSR_v2 HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixInitializeParCSR_v2 )
#define hypre_IJMatrixNormParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixNormParCSR )
#define hypre_IJMatrixSetConstantValuesParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetConstantValuesParCSR )
#define hypre_IJMatrixSetConstantValuesParCSRHost HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetConstantValuesParCSRHost )
#define hypre_IJMatrixSetDiagOffdSizesParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetDiagOffdSizesParCSR )
#define hypre_IJMatrixSetMaxOffProcElmtsParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetMaxOffProcElmtsParCSR )
#define hypre_IJMatrixSetMaxOnProcElmtsParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetMaxOnProcElmtsParCSR )
#define hypre_IJMatrixSetRowSizesParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetRowSizesParCSR )
#define hypre_IJMatrixSetValuesOMPParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetValuesOMPParCSR )
#define hypre_IJMatrixSetValuesParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixSetValuesParCSR )
#define hypre_IJMatrixTransposeParCSR HYPRE_MULTIPRECISION_FUNC ( hypre_IJMatrixTransposeParCSR )
#define hypre_IJVectorDistribute HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorDistribute )
#define hypre_IJVectorReadBinary HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorReadBinary )
#define hypre_IJVectorZeroValues HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorZeroValues )
#define hypre_IJVectorAddToValuesPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorAddToValuesPar )
#define hypre_IJVectorAssembleOffProcValsPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorAssembleOffProcValsPar )
#define hypre_IJVectorAssemblePar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorAssemblePar )
#define hypre_IJVectorCreatePar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorCreatePar )
#define hypre_IJVectorDestroyPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorDestroyPar )
#define hypre_IJVectorDistributePar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorDistributePar )
#define hypre_IJVectorGetValuesPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorGetValuesPar )
#define hypre_IJVectorInitializePar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorInitializePar )
#define hypre_IJVectorInitializePar_v2 HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorInitializePar_v2 )
#define hypre_IJVectorSetComponentPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorSetComponentPar )
#define hypre_IJVectorSetMaxOffProcElmtsPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorSetMaxOffProcElmtsPar )
#define hypre_IJVectorSetValuesPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorSetValuesPar )
#define hypre_IJVectorZeroValuesPar HYPRE_MULTIPRECISION_FUNC ( hypre_IJVectorZeroValuesPar )

#endif
Loading