Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
31928ae
Merge branch 'master' into gpu-mixed-krylov
oseikuffuor1 Oct 21, 2025
a8835bb
Update autoconf build to prevent use of long double with GPUs.
oseikuffuor1 Oct 23, 2025
57d6ebb
Add utility functions for mixed-precision function development.
oseikuffuor1 Nov 14, 2025
542180e
Add new mixed-precision matrix and vector functionality.
oseikuffuor1 Nov 14, 2025
cd69eba
Updates to support use of hypre_double for dnum_nonzeros in parcsr_ma…
oseikuffuor1 Nov 14, 2025
7781cad
Minor updates to test drivers.
oseikuffuor1 Nov 14, 2025
5ce7060
Fixes for GPU build errors.
oseikuffuor1 Nov 14, 2025
91a169f
Cleanup typos and unnecessary print statements.
oseikuffuor1 Nov 14, 2025
cb030d2
Change utility function name GetSizeOfPrecision to GetSizeOfReal.
oseikuffuor1 Nov 14, 2025
8bfdbb9
Generate configure script with correct autoconf version.
oseikuffuor1 Nov 15, 2025
887c4c3
Cleanup unused variable warnings.
oseikuffuor1 Nov 15, 2025
dfea312
Some fixes and cleanup and minor refactoring for GPU build.
oseikuffuor1 Nov 18, 2025
18e458a
Add gpu function lists for utilities folder.
oseikuffuor1 Nov 18, 2025
7c44083
Added GPU-specific function lists for remaining directories.
oseikuffuor1 Nov 19, 2025
7163b69
Revert changes to MPI function location and remove unnecessary guards.
oseikuffuor1 Nov 19, 2025
1c74ee1
Updating gen_code.sh script to build code for gpu functions
rfalgout Nov 20, 2025
40f8a3a
Merge branch 'gpu-mixed-krylov' of github.com:hypre-space/hypre into …
rfalgout Nov 20, 2025
ac3e7f3
Fixed astyle changes in previous commits
oseikuffuor1 Nov 20, 2025
fd1e9e0
Merge branch 'gpu-mixed-krylov' of github.com:hypre-space/hypre into …
rfalgout Nov 20, 2025
366e620
Minor changes to config/gen_code.sh script
rfalgout Nov 20, 2025
05baa66
Removed empty gpu function lists
oseikuffuor1 Nov 21, 2025
489e1fa
Minor edit to suppress warnings for directories with no GPU function …
oseikuffuor1 Nov 21, 2025
3264a49
Minor changes to gen_code.sh to make it easier to follow
rfalgout Dec 3, 2025
1fecea4
Cosmetic changes to gen_code.sh
rfalgout Dec 3, 2025
f052718
Changed mup.*.gpu to mup.*_gpu in utilities and modified the gen_code…
rfalgout Dec 3, 2025
34762e3
Renaming mup.*.gpu to mup.*_gpu
rfalgout Dec 4, 2025
5bc2ddb
Modified gen_code.sh script to write 'mup_*_gpu.c' files
rfalgout Dec 4, 2025
3996555
First draft of gen_code.sh to put the gpu functions in separate files
rfalgout Dec 4, 2025
e20afec
Updating gen_code.sh to fix a couple of issues
rfalgout Dec 5, 2025
3fd5776
Added gpu if test to gen_code.sh script before writing '.hpp' file
rfalgout Dec 5, 2025
69c34e8
Minor edit to include internal header in wrapper function file.
oseikuffuor1 Dec 9, 2025
d4fe2a5
Changes to unify some vendor-specific return types.
oseikuffuor1 Dec 9, 2025
a3c320e
Generated new MuP wrapper code and headers for GPU support and some r…
oseikuffuor1 Dec 9, 2025
49f8e70
Fixed linker issues and updated gen_code.sh script.
oseikuffuor1 Dec 15, 2025
905f1b7
Some minor re-org. of gen_code.sh script and gix for test driver.
oseikuffuor1 Dec 16, 2025
feb75f2
Merge branch 'master' into gpu-mixed-krylov
oseikuffuor1 Dec 16, 2025
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
10 changes: 4 additions & 6 deletions src/config/HYPRE_config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This probably slipped in due to the usage of autoconf 2.69 instead of 2.71 (the version we've been using)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @rfalgout and @victorapm . I will look into this. You are right, I generated it with autoconf v2.69.


/* Define to 1 if using MLI */
#undef HAVE_MLI

Expand All @@ -26,9 +29,6 @@
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

Expand Down Expand Up @@ -316,7 +316,5 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
21 changes: 17 additions & 4 deletions src/config/configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -347,10 +347,6 @@ AS_HELP_STRING([--enable-longdouble],
esac],
[hypre_using_longdouble=no]
)
if test "$hypre_using_longdouble" = "yes"
then
AC_DEFINE(HYPRE_LONG_DOUBLE, 1, [Define to 1 if using quad precision values for HYPRE_Real])
fi

AC_ARG_ENABLE(complex,
AS_HELP_STRING([--enable-complex],
Expand Down Expand Up @@ -2424,6 +2420,23 @@ AS_IF([ test x"$hypre_using_hip" == x"yes" ],
[AC_MSG_ERROR([unable to find ${HYPRE_ROCM_PREFIX}/include/hip/hip_common.h ... Ensure ROCm is installed and set ROCM_PATH environment variable to ROCm installation path.])] )],
[])

dnl *********************************************************************
dnl * Check for longdouble support
dnl *********************************************************************

if test "$hypre_using_longdouble" = "yes"
then
if [test "x$hypre_using_cuda" = "xyes" || test "x$hypre_using_device_openmp" = "xyes" || test "x$hypre_using_hip" = "xyes" || test "x$hypre_using_sycl" = "xyes"]
then
AC_MSG_ERROR([******************** Incompatible precision on device **********************
Long double data format is not supported on device.
For GPU builds, please use the default double precision or --enable-single.
****************************************************************************])
else
AC_DEFINE(HYPRE_LONG_DOUBLE, 1, [Define to 1 if using quad precision values for HYPRE_Real])
fi
fi

dnl *********************************************************************
dnl * Set GPU warp size
dnl *********************************************************************
Expand Down
Loading