Commit 704620ae authored by Mark Olesen's avatar Mark Olesen
Browse files

ENH: simplify check for metis sizes (issue #290)

- Now that the metisDecomp uses the metis definition for float/double,
  do not need to verify the scalar sizes.

Note:
- could drop precision qualifier for metis, scotch installation
  (include, lib) as being unneeded, but it is simpler to keep them
  and continue to use the FOAM_EXT_LIBBIN path
  (in case other ThirdParty software is compiled with different
  precisions).
parent 0b4ff455
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
# Setup file for scotch include/libraries. # Setup file for scotch include/libraries.
# Sourced during wmake process only. # Sourced during wmake process only.
# #
# Normally used to specify the metis version and location for a # Normally used to specify the scotch version and location for a
# ThirdParty installation. # ThirdParty installation.
# #
# If using system-wide installations, use the following setting: # If using system-wide installations, use the following setting:
......
...@@ -4,19 +4,6 @@ cd ${0%/*} || exit 1 # Run from this directory ...@@ -4,19 +4,6 @@ cd ${0%/*} || exit 1 # Run from this directory
# Parse arguments for library compilation # Parse arguments for library compilation
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
# Extract an integer value from '#define NAME ...'
getIntDefine()
{
local name="$1"
local file="$2"
local val=$(sed -ne \
's/^[ tab]*#[ tab]*define[ tab][ tab]*'"$name"'[ tab][ tab]*\([1-9][0-9]\).*/\1/p' \
"$file")
echo "${val:-0}"
}
# Test for metis. # Test for metis.
# - return 0 and export METIS_ARCH_PATH on success # - return 0 and export METIS_ARCH_PATH on success
hasMetis() hasMetis()
...@@ -62,24 +49,16 @@ hasMetis() ...@@ -62,24 +49,16 @@ hasMetis()
} }
# Ensure consistent sizes between OpenFOAM and metis header # Ensure consistent sizes between OpenFOAM and metis header
local label=$(getIntDefine IDXTYPEWIDTH $header) # Extract IDXTYPEWIDTH from metis.h: regex as per ThirdParty Allwmake
local scalar=$(getIntDefine REALTYPEWIDTH $header) local label=$(sed -ne 's/^.*#define *IDXTYPEWIDTH *\([1-9][0-9]\).*/\1/p' $header)
[ "$WM_LABEL_SIZE" = "$label" ] || { [ "$WM_LABEL_SIZE" = "$label" ] || {
echo " skipping - label=$WM_LABEL_SIZE, metis.h has '$label'" echo " skipping - label=$WM_LABEL_SIZE, metis.h has '$label'"
echo echo
return 1 return 1
} }
[ "$WM_PRECISION_OPTION" = SP -a "$scalar" = 32 ] || \
[ "$WM_PRECISION_OPTION" = DP -a "$scalar" = 64 ] || {
echo " skipping - scalar='$WM_PRECISION_OPTION', metis.h has '$scalar'"
echo
return 1
}
echo "using METIS_ARCH_PATH=$METIS_ARCH_PATH" echo "using METIS_ARCH_PATH=$METIS_ARCH_PATH"
echo " label=$label, scalar=$scalar" echo " label=$label"
echo echo
export METIS_ARCH_PATH export METIS_ARCH_PATH
return 0 # success return 0 # success
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment