-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added patches for feature detection
- Loading branch information
Showing
192 changed files
with
3,562 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: alu_grid_adapt_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: alu_grid_adapt_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- grid | ||
- ALUGrid | ||
- region_identifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
Submodule dune-alugrid contains modified content | ||
diff --git a/dune-alugrid/dune/alugrid/3d/grid_inline.hh b/dune-alugrid/dune/alugrid/3d/grid_inline.hh | ||
index f7e1b5d1..124dd058 100644 | ||
--- a/dune-alugrid/dune/alugrid/3d/grid_inline.hh | ||
+++ b/dune-alugrid/dune/alugrid/3d/grid_inline.hh | ||
@@ -13,6 +13,14 @@ | ||
|
||
#define alu_inline_tmp inline | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
namespace Dune | ||
{ | ||
|
||
@@ -515,6 +530,8 @@ namespace Dune | ||
alu_inline_tmp | ||
bool ALU3dGrid< dim, dimworld, elType, Comm >::adapt () | ||
{ | ||
+ fp_utils::detect(); | ||
+ | ||
bool ref = false; | ||
|
||
if( lockPostAdapt_ == true ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: bicgstab_solver_apply_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: bicgstab_solver_apply_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- solver | ||
- BiCGSTABSolver | ||
- region_identifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Submodule dune-istl contains modified content | ||
diff --git a/dune-istl/dune/istl/solver.hh b/dune-istl/dune/istl/solver.hh | ||
index e25e9e08..857234d5 100644 | ||
--- a/dune-istl/dune/istl/solver.hh | ||
+++ b/dune-istl/dune/istl/solver.hh | ||
@@ -23,6 +23,14 @@ | ||
#include "operators.hh" | ||
#include "scalarproducts.hh" | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
namespace Dune | ||
{ | ||
/** | ||
diff --git a/dune-istl/dune/istl/solvers.hh b/dune-istl/dune/istl/solvers.hh | ||
index 5a7e901e..a8a37b31 100644 | ||
--- a/dune-istl/dune/istl/solvers.hh | ||
+++ b/dune-istl/dune/istl/solvers.hh | ||
@@ -438,6 +438,8 @@ namespace Dune { | ||
*/ | ||
virtual void apply (X& x, X& b, InverseOperatorResult& res) | ||
{ | ||
+ fp_utils::detect(); | ||
+ | ||
using std::abs; | ||
const Simd::Scalar<real_type> EPSILON=1e-80; | ||
using std::abs; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: cg_solver_apply_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: cg_solver_apply_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- solver | ||
- CGSolver | ||
- region_identifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Submodule dune-istl contains modified content | ||
diff --git a/dune-istl/dune/istl/solver.hh b/dune-istl/dune/istl/solver.hh | ||
index e25e9e08..857234d5 100644 | ||
--- a/dune-istl/dune/istl/solver.hh | ||
+++ b/dune-istl/dune/istl/solver.hh | ||
@@ -23,6 +23,14 @@ | ||
#include "operators.hh" | ||
#include "scalarproducts.hh" | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
namespace Dune | ||
{ | ||
/** | ||
diff --git a/dune-istl/dune/istl/solvers.hh b/dune-istl/dune/istl/solvers.hh | ||
index 5a7e901e..b4528c22 100644 | ||
--- a/dune-istl/dune/istl/solvers.hh | ||
+++ b/dune-istl/dune/istl/solvers.hh | ||
@@ -278,6 +278,8 @@ namespace Dune { | ||
*/ | ||
virtual void apply (X& x, X& b, InverseOperatorResult& res) | ||
{ | ||
+ fp_utils::detect(); | ||
+ | ||
Iteration iteration(*this,res); | ||
_prec->pre(x,b); // prepare preconditioner | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: gradient_solver_apply_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: gradient_solver_apply_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- solver | ||
- GradientSolver | ||
- region_identifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Submodule dune-istl contains modified content | ||
diff --git a/dune-istl/dune/istl/solver.hh b/dune-istl/dune/istl/solver.hh | ||
index e25e9e08..857234d5 100644 | ||
--- a/dune-istl/dune/istl/solver.hh | ||
+++ b/dune-istl/dune/istl/solver.hh | ||
@@ -23,6 +23,14 @@ | ||
#include "operators.hh" | ||
#include "scalarproducts.hh" | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
namespace Dune | ||
{ | ||
/** | ||
diff --git a/dune-istl/dune/istl/solvers.hh b/dune-istl/dune/istl/solvers.hh | ||
index 5a7e901e..e57b4dd0 100644 | ||
--- a/dune-istl/dune/istl/solvers.hh | ||
+++ b/dune-istl/dune/istl/solvers.hh | ||
@@ -141,6 +141,8 @@ namespace Dune { | ||
*/ | ||
virtual void apply (X& x, X& b, InverseOperatorResult& res) | ||
{ | ||
+ fp_utils::detect(); | ||
+ | ||
Iteration iteration(*this, res); | ||
_prec->pre(x,b); // prepare preconditioner | ||
|
13 changes: 13 additions & 0 deletions
13
DunePerfRegression/kuhn_unit_cube_maker_create_detect.info
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: kuhn_unit_cube_maker_create_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: kuhn_unit_cube_maker_create_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- maker | ||
- KuhnUnitCubeMaker | ||
- region_identifier |
31 changes: 31 additions & 0 deletions
31
DunePerfRegression/kuhn_unit_cube_maker_create_detect.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
Submodule dune-alugrid contains modified content | ||
diff --git a/dune-alugrid/dune/alugrid/grid.hh b/dune-alugrid/dune/alugrid/grid.hh | ||
index b8fea0a9..4f877c5c 100644 | ||
--- a/dune-alugrid/dune/alugrid/grid.hh | ||
+++ b/dune-alugrid/dune/alugrid/grid.hh | ||
@@ -23,4 +23,12 @@ | ||
|
||
#endif // else if HAVE_ALUGRID | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
#endif // #ifndef DUNE_ALUGRID_HH | ||
diff --git a/dune-performance-regressions/dune/performance-regressions/gridmakers.hh b/dune-performance-regressions/dune/performance-regressions/gridmakers.hh | ||
index e088ff8..077bf3f 100644 | ||
--- a/dune-performance-regressions/dune/performance-regressions/gridmakers.hh | ||
+++ b/dune-performance-regressions/dune/performance-regressions/gridmakers.hh | ||
@@ -202,7 +202,7 @@ class __attribute__((feature_variable("GridMaker"))) KuhnTriangulatedUnitCubeMak | ||
public: | ||
static std::unique_ptr<Grid> create() { | ||
Dune::GridFactory<Grid> gf; | ||
- | ||
+ fp_utils::detect(); | ||
int fake_argc = 0; | ||
char **fake_argv = NULL; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: loop_solver_apply_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: loop_solver_apply_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- solver | ||
- LoopSolver | ||
- region_identifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Submodule dune-istl contains modified content | ||
diff --git a/dune-istl/dune/istl/solver.hh b/dune-istl/dune/istl/solver.hh | ||
index e25e9e08..857234d5 100644 | ||
--- a/dune-istl/dune/istl/solver.hh | ||
+++ b/dune-istl/dune/istl/solver.hh | ||
@@ -23,6 +23,14 @@ | ||
#include "operators.hh" | ||
#include "scalarproducts.hh" | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
namespace Dune | ||
{ | ||
/** | ||
diff --git a/dune-istl/dune/istl/solvers.hh b/dune-istl/dune/istl/solvers.hh | ||
index 5a7e901e..2b29e5f1 100644 | ||
--- a/dune-istl/dune/istl/solvers.hh | ||
+++ b/dune-istl/dune/istl/solvers.hh | ||
@@ -72,6 +72,8 @@ namespace Dune { | ||
//! \copydoc InverseOperator::apply(X&,Y&,InverseOperatorResult&) | ||
virtual void apply (X& x, X& b, InverseOperatorResult& res) | ||
{ | ||
+ fp_utils::detect(); | ||
+ | ||
Iteration iteration(*this, res); | ||
_prec->pre(x,b); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: minres_solver_apply_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: minres_solver_apply_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- solver | ||
- MINRESSolver | ||
- region_identifier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Submodule dune-istl contains modified content | ||
diff --git a/dune-istl/dune/istl/solver.hh b/dune-istl/dune/istl/solver.hh | ||
index e25e9e08..857234d5 100644 | ||
--- a/dune-istl/dune/istl/solver.hh | ||
+++ b/dune-istl/dune/istl/solver.hh | ||
@@ -23,6 +23,14 @@ | ||
#include "operators.hh" | ||
#include "scalarproducts.hh" | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
namespace Dune | ||
{ | ||
/** | ||
diff --git a/dune-istl/dune/istl/solvers.hh b/dune-istl/dune/istl/solvers.hh | ||
index 5a7e901e..a23b36fc 100644 | ||
--- a/dune-istl/dune/istl/solvers.hh | ||
+++ b/dune-istl/dune/istl/solvers.hh | ||
@@ -626,6 +626,8 @@ namespace Dune { | ||
*/ | ||
virtual void apply (X& x, X& b, InverseOperatorResult& res) | ||
{ | ||
+ fp_utils::detect(); | ||
+ | ||
using std::sqrt; | ||
using std::abs; | ||
Iteration iteration(*this, res); |
13 changes: 13 additions & 0 deletions
13
DunePerfRegression/richardson_preconditioner_create_detect.info
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: richardson_preconditioner_create_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: richardson_preconditioner_create_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- preconditioner | ||
- Richardson | ||
- region_identifier |
27 changes: 27 additions & 0 deletions
27
DunePerfRegression/richardson_preconditioner_create_detect.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
diff --git a/dune-performance-regressions/dune/performance-regressions/poisson-problem.hh b/dune-performance-regressions/dune/performance-regressions/poisson-problem.hh | ||
index b7c7d74..af9bdf6 100644 | ||
--- a/dune-performance-regressions/dune/performance-regressions/poisson-problem.hh | ||
+++ b/dune-performance-regressions/dune/performance-regressions/poisson-problem.hh | ||
@@ -26,6 +26,14 @@ | ||
|
||
#include "gridmakers.hh" | ||
|
||
+namespace fp_util { | ||
+ __attribute__((feature_variable("__VARA__DETECT__"))) void detect() { | ||
+ long counter = 0; | ||
+ asm volatile("" : "+g"(counter) : :); | ||
+ counter++; | ||
+ } | ||
+} | ||
+ | ||
class YaspUnitSquare : public Dune::YaspGrid<2> | ||
{ | ||
public: | ||
@@ -151,6 +166,7 @@ struct PreconditionerMaker<PreconditionMarker::Richardson> { | ||
typename DomainContainerTy, | ||
typename RangeContainerTy> | ||
static auto create(MatrixTy m) { | ||
+ fp_utils::detect(); | ||
return Dune::Richardson<DomainContainerTy, | ||
RangeContainerTy>(1.0); | ||
}; |
13 changes: 13 additions & 0 deletions
13
DunePerfRegression/seqilu_preconditioner_create_detect.info
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
description: Region detection patch | ||
include_revisions: | ||
revision_range: | ||
start: 559e763958113c8e6c31a3569127781cadb5a535 | ||
path: seqilu_preconditioner_create_detect.patch | ||
project_name: DunePerfRegression | ||
shortname: seqilu_preconditioner_create_detect | ||
tags: | ||
- compile-time | ||
- template | ||
- preconditioner | ||
- SeqILU | ||
- region_identifier |
Oops, something went wrong.