This PR contains the support of UMPIRE pooling allocators for host and GPU memory. Configure hypre with --with-umpire, device and uvm allocations and deallocations are done with umpire, whereas host pool is not enabled by default. This PR also includes some other minor changes: Adding .gitignore to the repo Removing all malloc/calloc/realloc/free and regression testing on finding them No longer compile ij.c with C++ compiler. It goes back to a C code now. Introducing HYPRE_USING_GPU, which is equivalent to HYPRE_USING_CUDA || HYPRE_USING_DEVICE_OPENMP Adding a few user-level interfaces: HYPRE_SetMemoryLocation, HYPRE_SetExecutionPolicy, HYPRE_SetGPUMemoryPoolSize and HYPRE_CSRMatrixSetSpGemmUseCusparse Co-authored-by: li50@llnl.gov <liruipengblue@gmail.com> Co-authored-by: Rob Falgout <rfalgout@llnl.gov> Co-authored-by: Ruipeng Li <li50@llnl.gov>
48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright 1998-2019 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)
|
|
|
|
testname=`basename $0 .sh`
|
|
|
|
# Echo usage information
|
|
case $1 in
|
|
-h|-help)
|
|
cat <<EOF
|
|
|
|
$0 [-h|-help] {src_dir}
|
|
|
|
where: {src_dir} is the hypre source directory
|
|
-h|-help prints this usage information and exits
|
|
|
|
This script checks memory manager usage in hypre.
|
|
|
|
Example usage: $0 ../src
|
|
|
|
EOF
|
|
exit
|
|
;;
|
|
esac
|
|
|
|
# Setup
|
|
src_dir=`cd $1; pwd`
|
|
shift
|
|
|
|
cd $src_dir
|
|
|
|
find . -type f -print | egrep '[.]*[.](c|cc|cpp|cxx|C|h|hpp|hxx|H)$' |
|
|
egrep -v '/cmbuild' |
|
|
egrep -v '/docs' |
|
|
egrep -v '/examples' |
|
|
egrep -v '/FEI_mv' |
|
|
egrep -v '/hypre/include' |
|
|
egrep -v '/utilities/hypre_memory.c' > check-mem.files
|
|
|
|
egrep '(^|[^[:alnum:]_]+)malloc[[:space:]]*\(' `cat check-mem.files` >&2
|
|
egrep '(^|[^[:alnum:]_]+)calloc[[:space:]]*\(' `cat check-mem.files` >&2
|
|
egrep '(^|[^[:alnum:]_]+)realloc[[:space:]]*\(' `cat check-mem.files` >&2
|
|
egrep '(^|[^[:alnum:]_]+)free[[:space:]]*\(' `cat check-mem.files` >&2
|
|
|
|
rm -f check-mem.files
|