Skip to content

Commit 299047b

Browse files
committed
Add optional use of contiguous arrays for sparse matrix
The reference sparse matrix data structures in GenerateProblem_ref.cpp can be allocated with a single “new” statement. This feature is turned on by using the new compile-time macro HPCG_CONTIGUOUS_ARRAYS. This features is off by default, but can turned on in the same ways as working with other HPCG_* defines.
1 parent 93b599e commit 299047b

14 files changed

+40
-5
lines changed

INSTALL

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,11 @@ options and their meaning are:
175175

176176
-DHPCG_DEBUG
177177

178+
* Compile with sparse matrix arrays allocated contiguously. This option
179+
* may be helpful on systems with pre-fetch::
180+
181+
-DHPCG_CONTIGUOUS_ARRAYS
182+
178183
* Compile with voluminous debugging information turned on::
179184

180185
-DHPCG_DETAILED_DEBUG

setup/Make.GCC_OMP

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.ICPC_OMP

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.Linux_MPI

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.Linux_Serial

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.MPIICPC_OMP

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.MPI_GCC_OMP

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.MPI_ICPC

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.MPI_ICPC_OMP

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to enable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

setup/Make.Mac_MPI

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ HPCG_LIBS =
9898
#
9999
# -DHPCG_NO_MPI Define to disable MPI
100100
# -DHPCG_NO_OPENMP Define to disable OPENMP
101+
# -DHPCG_CONTIGUOUS_ARRAYS Define to have sparse matrix arrays long and contiguous
101102
# -DHPCG_DEBUG Define to enable debugging output
102103
# -DHPCG_DETAILED_DEBUG Define to enable very detailed debugging output
103104
#

0 commit comments

Comments
 (0)