196 virtual const std::string&
get_name()
const =0;
211 virtual std::vector<std::string>
492 get_element(
const std::vector<idx_t>& indices )
const =0;
502 get_element(
const std::initializer_list<idx_t>& indices )
const =0;
528 const std::vector<idx_t>& indices,
530 bool strict_indices =
true ) =0;
543 const std::initializer_list<idx_t>& indices,
545 bool strict_indices =
true ) =0;
572 const std::vector<idx_t>& first_indices,
574 const std::vector<idx_t>& last_indices )
const =0;
595 const std::vector<idx_t>& indices,
597 bool strict_indices =
true ) =0;
610 const std::initializer_list<idx_t>& indices,
612 bool strict_indices =
true ) =0;
646 const std::vector<idx_t>& first_indices,
648 const std::vector<idx_t>& last_indices,
650 bool strict_indices =
true ) =0;
678 const std::vector<idx_t>& first_indices,
680 const std::vector<idx_t>& last_indices ) =0;
683 #ifdef COPY_SLICE_IMPLEMENTED 701 const std::vector<idx_t>& first_source_indices,
704 const std::vector<idx_t>& first_target_indices,
707 const std::vector<idx_t>& last_target_indices ) =0;
728 format_indices(
const std::initializer_list<idx_t>& indices )
const =0;
virtual idx_t get_alloc_size(const std::string &dim) const =0
Get the number of elements allocated in the specified dimension.
virtual idx_t get_first_valid_step_index() const =0
Get the first valid index in the step dimension.
virtual idx_t get_left_pad_size(const std::string &dim) const =0
Get the actual left padding in the specified dimension.
virtual bool is_dynamic_step_alloc() const =0
[Advanced] Get whether the allocation of the step dimension of this var can be modified at run-time.
diff --git a/include/aux/Soln.hpp b/include/aux/Soln.hpp
index 499ac829..34d61af9 100644
--- a/include/aux/Soln.hpp
+++ b/include/aux/Soln.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/aux/yc_node_api.hpp b/include/aux/yc_node_api.hpp
index 678a9607..3ced0119 100644
--- a/include/aux/yc_node_api.hpp
+++ b/include/aux/yc_node_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/aux/yc_solution_api.hpp b/include/aux/yc_solution_api.hpp
index 1a5fd690..456c62f8 100644
--- a/include/aux/yc_solution_api.hpp
+++ b/include/aux/yc_solution_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/aux/yk_solution_api.hpp b/include/aux/yk_solution_api.hpp
index cad80c35..b69f276e 100644
--- a/include/aux/yk_solution_api.hpp
+++ b/include/aux/yk_solution_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/aux/yk_var_api.hpp b/include/aux/yk_var_api.hpp
index 7584ffbb..a2f271c4 100644
--- a/include/aux/yk_var_api.hpp
+++ b/include/aux/yk_var_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/yask_common_api.hpp b/include/yask_common_api.hpp
index 1448fda8..d55b784f 100644
--- a/include/yask_common_api.hpp
+++ b/include/yask_common_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/yask_compiler_api.hpp b/include/yask_compiler_api.hpp
index 3fa253dc..173be321 100644
--- a/include/yask_compiler_api.hpp
+++ b/include/yask_compiler_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/include/yask_kernel_api.hpp b/include/yask_kernel_api.hpp
index 8fcf7cdd..bd1da286 100644
--- a/include/yask_kernel_api.hpp
+++ b/include/yask_kernel_api.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/combo.cpp b/src/common/combo.cpp
index 7f4caf76..5876e55e 100644
--- a/src/common/combo.cpp
+++ b/src/common/combo.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/combo.hpp b/src/common/combo.hpp
index 3561220c..b6f351f1 100644
--- a/src/common/combo.hpp
+++ b/src/common/combo.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/common.mk b/src/common/common.mk
index 1922cf84..5be13ea4 100644
--- a/src/common/common.mk
+++ b/src/common/common.mk
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/common/common_utils.cpp b/src/common/common_utils.cpp
index d3fbe57a..0d139fc5 100644
--- a/src/common/common_utils.cpp
+++ b/src/common/common_utils.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -43,7 +43,7 @@ namespace yask {
// for numbers above 9 (at least up to 99).
// Format: "major.minor.patch".
- const string version = "3.03.01";
+ const string version = "3.04.01";
string yask_get_version_string() {
return version;
diff --git a/src/common/common_utils.hpp b/src/common/common_utils.hpp
index 79b4ef76..0b850c7c 100644
--- a/src/common/common_utils.hpp
+++ b/src/common/common_utils.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -41,6 +41,10 @@ IN THE SOFTWARE.
// _OPENMP is defined.
#ifdef _OPENMP
#include
+#if !defined(KMP_VERSION_MAJOR) || KMP_VERSION_MAJOR >= 5
+// omp_set_nested() is deprecated.
+#define omp_set_nested(n) void(0)
+#endif
#else
typedef int omp_lock_t;
inline int omp_get_num_procs() { return 1; }
diff --git a/src/common/fd_coeff2.cpp b/src/common/fd_coeff2.cpp
index 52b29dc4..4d8c9541 100644
--- a/src/common/fd_coeff2.cpp
+++ b/src/common/fd_coeff2.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/idiv.hpp b/src/common/idiv.hpp
index 9d4c431b..d3a44567 100644
--- a/src/common/idiv.hpp
+++ b/src/common/idiv.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/output.cpp b/src/common/output.cpp
index f398cff4..2fbae142 100644
--- a/src/common/output.cpp
+++ b/src/common/output.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/swig/yask_common_api.i b/src/common/swig/yask_common_api.i
index 07fb788f..317e4fef 100644
--- a/src/common/swig/yask_common_api.i
+++ b/src/common/swig/yask_common_api.i
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/tests/tuple_test.cpp b/src/common/tests/tuple_test.cpp
index 8558ca39..a3425584 100644
--- a/src/common/tests/tuple_test.cpp
+++ b/src/common/tests/tuple_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/tuple.cpp b/src/common/tuple.cpp
index da7c3bcb..c1617c1b 100644
--- a/src/common/tuple.cpp
+++ b/src/common/tuple.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/tuple.hpp b/src/common/tuple.hpp
index 4b9e0a81..16e55560 100644
--- a/src/common/tuple.hpp
+++ b/src/common/tuple.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/common/yask_assert.hpp b/src/common/yask_assert.hpp
index d1c7284a..71dfea2d 100644
--- a/src/common/yask_assert.hpp
+++ b/src/common/yask_assert.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/Makefile b/src/compiler/Makefile
index 976d9983..21c82f07 100644
--- a/src/compiler/Makefile
+++ b/src/compiler/Makefile
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/compiler_main.cpp b/src/compiler/compiler_main.cpp
index 48133284..27fcf261 100644
--- a/src/compiler/compiler_main.cpp
+++ b/src/compiler/compiler_main.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -373,7 +373,7 @@ int main(int argc, const char* argv[]) {
cout << "YASK -- Yet Another Stencil Kit\n"
"YASK Stencil Compiler Utility\n"
- "Copyright (c) 2014-2019, Intel Corporation.\n"
+ "Copyright (c) 2014-2020, Intel Corporation.\n"
"Version: " << yask_get_version_string() << endl;
try {
diff --git a/src/compiler/lib/Cpp.cpp b/src/compiler/lib/Cpp.cpp
index 18aa3623..de52fed2 100644
--- a/src/compiler/lib/Cpp.cpp
+++ b/src/compiler/lib/Cpp.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Cpp.hpp b/src/compiler/lib/Cpp.hpp
index cea4d0bd..62d6156a 100644
--- a/src/compiler/lib/Cpp.hpp
+++ b/src/compiler/lib/Cpp.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -275,7 +275,7 @@ namespace yask {
// Print out a stencil in C++ form for YASK.
class YASKCppPrinter : public PrinterBase {
protected:
- EqBundlePacks& _eqBundlePacks; // packs of bundles w/o inter-dependencies.
+ EqStages& _eqStages; // stages of bundles w/o inter-dependencies.
EqBundles& _clusterEqBundles; // eq-bundles for scalar and vector.
string _context, _context_base, _context_hook; // class names;
@@ -304,10 +304,10 @@ namespace yask {
public:
YASKCppPrinter(StencilSolution& stencil,
EqBundles& eqBundles,
- EqBundlePacks& eqBundlePacks,
+ EqStages& eqStages,
EqBundles& clusterEqBundles) :
PrinterBase(stencil, eqBundles),
- _eqBundlePacks(eqBundlePacks),
+ _eqStages(eqStages),
_clusterEqBundles(clusterEqBundles)
{
// name of C++ struct.
diff --git a/src/compiler/lib/CppIntrin.cpp b/src/compiler/lib/CppIntrin.cpp
index 9f43700f..79438fab 100644
--- a/src/compiler/lib/CppIntrin.cpp
+++ b/src/compiler/lib/CppIntrin.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/CppIntrin.hpp b/src/compiler/lib/CppIntrin.hpp
index 21102351..e6c19f0c 100644
--- a/src/compiler/lib/CppIntrin.hpp
+++ b/src/compiler/lib/CppIntrin.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -212,9 +212,9 @@ namespace yask {
public:
YASKKncPrinter(StencilSolution& stencil,
EqBundles& eqBundles,
- EqBundlePacks& eqBundlePacks,
+ EqStages& eqStages,
EqBundles& clusterEqBundles) :
- YASKCppPrinter(stencil, eqBundles, eqBundlePacks, clusterEqBundles) { }
+ YASKCppPrinter(stencil, eqBundles, eqStages, clusterEqBundles) { }
virtual int num_vec_elems() const { return 64 / _settings._elem_bytes; }
@@ -234,9 +234,9 @@ namespace yask {
public:
YASKAvx256Printer(StencilSolution& stencil,
EqBundles& eqBundles,
- EqBundlePacks& eqBundlePacks,
+ EqStages& eqStages,
EqBundles& clusterEqBundles) :
- YASKCppPrinter(stencil, eqBundles, eqBundlePacks, clusterEqBundles) { }
+ YASKCppPrinter(stencil, eqBundles, eqStages, clusterEqBundles) { }
virtual int num_vec_elems() const { return 32 / _settings._elem_bytes; }
};
@@ -254,10 +254,10 @@ namespace yask {
public:
YASKAvx512Printer(StencilSolution& stencil,
EqBundles& eqBundles,
- EqBundlePacks& eqBundlePacks,
+ EqStages& eqStages,
EqBundles& clusterEqBundles,
bool is_lo = false) :
- YASKCppPrinter(stencil, eqBundles, eqBundlePacks, clusterEqBundles),
+ YASKCppPrinter(stencil, eqBundles, eqStages, clusterEqBundles),
_is_lo(is_lo) { }
virtual int num_vec_elems() const {
diff --git a/src/compiler/lib/Eqs.cpp b/src/compiler/lib/Eqs.cpp
index 18f16f64..93891508 100644
--- a/src/compiler/lib/Eqs.cpp
+++ b/src/compiler/lib/Eqs.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -696,7 +696,7 @@ namespace yask {
// Update access stats for the vars.
// For now, this us just const indices.
- // Halos are updated later, after packs are established.
+ // Halos are updated later, after stages are established.
void Eqs::updateVarStats() {
// Find all LHS and RHS points and vars for all eqs.
@@ -1060,7 +1060,7 @@ namespace yask {
}
// Find halos needed for each var.
- void EqBundlePacks::calcHalos(EqBundles& allBundles) {
+ void EqStages::calcHalos(EqBundles& allBundles) {
// Find all LHS and RHS points and vars for all eqs.
PointVisitor pv;
@@ -1128,7 +1128,7 @@ namespace yask {
// from the shadows.
vector< map> shadows;
- // Packs.
+ // Stages.
for (auto& bp : getAll()) {
auto pname = bp->getName();
auto& pbundles = bp->getBundles(); // list of bundles.
@@ -1136,7 +1136,7 @@ namespace yask {
// Bundles with their dependency info.
for (auto& b1 : allBundles.getAll()) {
- // Only need bundles in this pack.
+ // Only need bundles in this stage.
if (pbundles.count(b1) == 0)
continue;
@@ -1267,7 +1267,7 @@ namespace yask {
} // path.
}); // lambda fn.
} // bundles.
- } // packs.
+ } // stages.
// Apply the changes from the shadow vars.
// This will result in the vars containing the max
@@ -1474,13 +1474,13 @@ namespace yask {
}
}
- // Make a human-readable description of this eq bundle pack.
- string EqBundlePack::getDescr(string quote) const
+ // Make a human-readable description of this eq stage.
+ string EqStage::getDescr(string quote) const
{
string des;
if (isScratch())
des += "scratch ";
- des += "equation bundle-pack " + quote + getName() + quote;
+ des += "equation bundle-stage " + quote + getName() + quote;
if (!isScratch()) {
if (step_cond.get())
des += " w/step condition " + step_cond->makeQuotedStr(quote);
@@ -1490,8 +1490,8 @@ namespace yask {
return des;
}
- // Add a bundle to this pack.
- void EqBundlePack::addBundle(EqBundlePtr bp)
+ // Add a bundle to this stage.
+ void EqStage::addBundle(EqBundlePtr bp)
{
_bundles.insert(bp);
_isScratch = bp->isScratch();
@@ -1500,20 +1500,20 @@ namespace yask {
for (auto& eq : bp->getEqs())
_eqs.insert(eq);
- // update list of input and output vars for this pack.
+ // update list of input and output vars for this stage.
for (auto& g : bp->getOutputVars())
_outVars.insert(g);
for (auto& g : bp->getInputVars())
_inVars.insert(g);
}
- // Add 'bp' from 'allBundles'. Create new pack if needed. Returns
- // whether a new pack was created.
- bool EqBundlePacks::addBundleToPack(EqBundles& allBundles,
+ // Add 'bp' from 'allBundles'. Create new stage if needed. Returns
+ // whether a new stage was created.
+ bool EqStages::addBundleToStage(EqBundles& allBundles,
EqBundlePtr bp)
{
// Already added?
- if (_bundles_in_packs.count(bp))
+ if (_bundles_in_stages.count(bp))
return false;
// Get condition, if any.
@@ -1522,9 +1522,9 @@ namespace yask {
// Get deps between bundles.
auto& deps = allBundles.getDeps();
- // Loop through existing packs, looking for one that
+ // Loop through existing stages, looking for one that
// 'bp' can be added to.
- EqBundlePack* target = 0;
+ EqStage* target = 0;
for (auto& ep : getAll()) {
// Must be same scratch-ness.
@@ -1554,47 +1554,47 @@ namespace yask {
}
}
- // Make new pack if no target pack found.
- bool newPack = false;
+ // Make new stage if no target stage found.
+ bool newStage = false;
if (!target) {
- auto np = make_shared(bp->isScratch());
+ auto np = make_shared(bp->isScratch());
addItem(np);
target = np.get();
target->baseName = _baseName;
target->index = _idx++;
target->step_cond = stcond;
- newPack = true;
+ newStage = true;
}
// Add bundle to target.
assert(target);
target->addBundle(bp);
- // Remember pack and updated vars.
- _bundles_in_packs.insert(bp);
+ // Remember stage and updated vars.
+ _bundles_in_stages.insert(bp);
for (auto& g : bp->getOutputVars())
_outVars.insert(g);
- return newPack;
+ return newStage;
}
- // Divide all bundles into packs.
- void EqBundlePacks::makePacks(EqBundles& allBundles,
+ // Divide all bundles into stages.
+ void EqStages::makeStages(EqBundles& allBundles,
ostream& os)
{
- os << "\nPartitioning " << allBundles.getNum() << " bundle(s) into packs...\n";
+ os << "\nPartitioning " << allBundles.getNum() << " bundle(s) into stages...\n";
for (auto bp : allBundles.getAll())
- addBundleToPack(allBundles, bp);
+ addBundleToStage(allBundles, bp);
os << "Collapsing dependencies from bundles and finding transitive closure...\n";
inherit_deps_from(allBundles);
- os << "Topologically ordering packs...\n";
+ os << "Topologically ordering stages...\n";
topo_sort();
// Dump info.
- os << "Created " << getNum() << " equation bundle pack(s):\n";
+ os << "Created " << getNum() << " equation stage(s):\n";
for (auto& bp1 : getAll()) {
os << " " << bp1->getDescr() << ":\n"
" Contains " << bp1->getBundles().size() << " bundle(s): ";
@@ -1616,9 +1616,9 @@ namespace yask {
// Deps.
for (auto& bp2 : _deps.get_deps_on(bp1))
- os << " Dependent on bundle pack " << bp2->getName() << ".\n";
+ os << " Dependent on stage " << bp2->getName() << ".\n";
for (auto& sp : _scratches.get_deps_on(bp1))
- os << " Requires scratch pack " << sp->getName() << ".\n";
+ os << " Requires scratch stage " << sp->getName() << ".\n";
}
}
diff --git a/src/compiler/lib/Eqs.hpp b/src/compiler/lib/Eqs.hpp
index 51dd0b49..3feb635b 100644
--- a/src/compiler/lib/Eqs.hpp
+++ b/src/compiler/lib/Eqs.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -23,7 +23,7 @@ IN THE SOFTWARE.
*****************************************************************************/
-///////// Classes for equations, equation bundles, and bundle packs. ////////////
+///////// Classes for equations, equation bundles, and stages. ////////////
#pragma once
@@ -595,14 +595,14 @@ namespace yask {
// A list of unique equation bundles.
typedef vector_set EqBundleList;
- // A named equation bundle pack, which contains one or more equation
- // bundles. All equations in a pack do not need to have the same
+ // A named equation stage, which contains one or more equation
+ // bundles. All equations in a stage do not need to have the same
// domain condition, but they must have the same step condition.
- // Equations in a pack must not have inter-dependencies because they
+ // Equations in a stage must not have inter-dependencies because they
// may be run in parallel or in any order on any sub-domain.
- class EqBundlePack : public EqLot {
+ class EqStage : public EqLot {
protected:
- EqBundleList _bundles; // bundles in this pack.
+ EqBundleList _bundles; // bundles in this stage.
public:
@@ -610,13 +610,13 @@ namespace yask {
boolExprPtr step_cond;
// Ctor.
- EqBundlePack(bool is_scratch) :
+ EqStage(bool is_scratch) :
EqLot(is_scratch) { }
- virtual ~EqBundlePack() { }
+ virtual ~EqStage() { }
// Create a copy containing clones of the bundles.
- virtual shared_ptr clone() const {
- auto p = make_shared(_isScratch);
+ virtual shared_ptr clone() const {
+ auto p = make_shared(_isScratch);
// Shallow copy.
*p = *this;
@@ -632,7 +632,7 @@ namespace yask {
// Get a string description.
virtual string getDescr(string quote = "'") const;
- // Add a bundle to this pack.
+ // Add a bundle to this stage.
virtual void addBundle(EqBundlePtr ee);
// Get the list of all bundles
@@ -655,10 +655,10 @@ namespace yask {
};
- // Container for multiple equation bundle packs.
- class EqBundlePacks : public DepGroup {
+ // Container for multiple equation stages.
+ class EqStages : public DepGroup {
protected:
- string _baseName = "stencil_pack";
+ string _baseName = "stencil_stage";
// Bundle index.
int _idx = 0;
@@ -667,17 +667,17 @@ namespace yask {
Vars _outVars;
// Track bundles that have been added already.
- set _bundles_in_packs;
+ set _bundles_in_stages;
- // Add 'bp' from 'allBundles'. Create new pack if needed. Returns
- // whether a new pack was created.
- bool addBundleToPack(EqBundles& allBundles,
+ // Add 'bp' from 'allBundles'. Create new stage if needed. Returns
+ // whether a new stage was created.
+ bool addBundleToStage(EqBundles& allBundles,
EqBundlePtr bp);
public:
- // Separate bundles into packs.
- void makePacks(EqBundles& bundles,
+ // Separate bundles into stages.
+ void makeStages(EqBundles& bundles,
std::ostream& os);
// Get all output vars.
@@ -685,7 +685,7 @@ namespace yask {
return _outVars;
}
- // Visit all the equations in all packs.
+ // Visit all the equations in all stages.
virtual void visitEqs(ExprVisitor* ev) {
for (auto& bp : _all)
bp->visitEqs(ev);
@@ -694,7 +694,7 @@ namespace yask {
// Find halos needed for each var.
virtual void calcHalos(EqBundles& allBundles);
- }; // EqBundlePacks.
+ }; // EqStages.
} // namespace yask.
diff --git a/src/compiler/lib/Expr.cpp b/src/compiler/lib/Expr.cpp
index d4eb64cc..262117d6 100644
--- a/src/compiler/lib/Expr.cpp
+++ b/src/compiler/lib/Expr.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Expr.hpp b/src/compiler/lib/Expr.hpp
index dad61eff..ea9ac2c1 100644
--- a/src/compiler/lib/Expr.hpp
+++ b/src/compiler/lib/Expr.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/ExprUtils.cpp b/src/compiler/lib/ExprUtils.cpp
index 0bb8a3de..1aa11e90 100644
--- a/src/compiler/lib/ExprUtils.cpp
+++ b/src/compiler/lib/ExprUtils.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/ExprUtils.hpp b/src/compiler/lib/ExprUtils.hpp
index 9b617a4c..5d3f9ebf 100644
--- a/src/compiler/lib/ExprUtils.hpp
+++ b/src/compiler/lib/ExprUtils.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Parse.hpp b/src/compiler/lib/Parse.hpp
index c18d3e39..54f756cb 100644
--- a/src/compiler/lib/Parse.hpp
+++ b/src/compiler/lib/Parse.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Print.cpp b/src/compiler/lib/Print.cpp
index d725e182..da99b522 100644
--- a/src/compiler/lib/Print.cpp
+++ b/src/compiler/lib/Print.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Print.hpp b/src/compiler/lib/Print.hpp
index f93c68c0..60670d63 100644
--- a/src/compiler/lib/Print.hpp
+++ b/src/compiler/lib/Print.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Settings.cpp b/src/compiler/lib/Settings.cpp
index f93a5b1c..65f9150c 100644
--- a/src/compiler/lib/Settings.cpp
+++ b/src/compiler/lib/Settings.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Settings.hpp b/src/compiler/lib/Settings.hpp
index fcb43159..20ebd746 100644
--- a/src/compiler/lib/Settings.hpp
+++ b/src/compiler/lib/Settings.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Solution.cpp b/src/compiler/lib/Solution.cpp
index 23152f46..ea8bab02 100644
--- a/src/compiler/lib/Solution.cpp
+++ b/src/compiler/lib/Solution.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -37,8 +37,8 @@ namespace yask {
delete _printer;
if (_eqBundles)
delete _eqBundles;
- if (_eqBundlePacks)
- delete _eqBundlePacks;
+ if (_eqStages)
+ delete _eqStages;
if (_clusterEqBundles)
delete _clusterEqBundles;
}
@@ -187,16 +187,16 @@ namespace yask {
// Optimize bundles.
_eqBundles->optimizeEqBundles(_settings, "scalar & vector", false, *_dos);
- // Separate bundles into packs.
- _eqBundlePacks->makePacks(*_eqBundles, *_dos);
+ // Separate bundles into stages.
+ _eqStages->makeStages(*_eqBundles, *_dos);
// Compute halos.
- _eqBundlePacks->calcHalos(*_eqBundles);
+ _eqStages->calcHalos(*_eqBundles);
// Make a copy of each equation at each cluster offset.
// We will use these for inter-cluster optimizations and code generation.
// NB: these cluster bundles do not maintain dependencies, so cannot be used
- // for sorting, making packs, etc.
+ // for sorting, making stages, etc.
*_dos << "\nConstructing cluster of equations containing " <<
_dims._clusterMults.product() << " vector(s)...\n";
*_clusterEqBundles = *_eqBundles;
@@ -225,22 +225,22 @@ namespace yask {
// Ensure all intermediate data is clean.
_free(true);
_eqBundles = new EqBundles;
- _eqBundlePacks = new EqBundlePacks;
+ _eqStages = new EqStages;
_clusterEqBundles = new EqBundles;
// Create the appropriate printer object based on the format.
// Most args to the printers just set references to data.
// Data itself will be created in analyze_solution().
if (target == "intel64")
- _printer = new YASKCppPrinter(*this, *_eqBundles, *_eqBundlePacks, *_clusterEqBundles);
+ _printer = new YASKCppPrinter(*this, *_eqBundles, *_eqStages, *_clusterEqBundles);
else if (target == "knc")
- _printer = new YASKKncPrinter(*this, *_eqBundles, *_eqBundlePacks, *_clusterEqBundles);
+ _printer = new YASKKncPrinter(*this, *_eqBundles, *_eqStages, *_clusterEqBundles);
else if (target == "avx" || target == "avx2")
- _printer = new YASKAvx256Printer(*this, *_eqBundles, *_eqBundlePacks, *_clusterEqBundles);
+ _printer = new YASKAvx256Printer(*this, *_eqBundles, *_eqStages, *_clusterEqBundles);
else if (target == "avx512" || target == "knl")
- _printer = new YASKAvx512Printer(*this, *_eqBundles, *_eqBundlePacks, *_clusterEqBundles);
+ _printer = new YASKAvx512Printer(*this, *_eqBundles, *_eqStages, *_clusterEqBundles);
else if (target == "avx512lo")
- _printer = new YASKAvx512Printer(*this, *_eqBundles, *_eqBundlePacks, *_clusterEqBundles, true);
+ _printer = new YASKAvx512Printer(*this, *_eqBundles, *_eqStages, *_clusterEqBundles, true);
else if (target == "dot")
_printer = new DOTPrinter(*this, *_clusterEqBundles, false);
else if (target == "dot-lite")
diff --git a/src/compiler/lib/Solution.hpp b/src/compiler/lib/Solution.hpp
index 9a25fd85..8a35ac6c 100644
--- a/src/compiler/lib/Solution.hpp
+++ b/src/compiler/lib/Solution.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -73,7 +73,7 @@ namespace yask {
Dimensions _dims; // various dimensions.
PrinterBase* _printer = 0;
EqBundles* _eqBundles = 0; // eq-bundles for scalar and vector.
- EqBundlePacks* _eqBundlePacks = 0; // packs of bundles w/o inter-dependencies.
+ EqStages* _eqStages = 0; // packs of bundles w/o inter-dependencies.
EqBundles* _clusterEqBundles = 0; // eq-bundles for scalar and vector.
// Create the intermediate data.
diff --git a/src/compiler/lib/Var.cpp b/src/compiler/lib/Var.cpp
index acbd9993..07baa9b9 100644
--- a/src/compiler/lib/Var.cpp
+++ b/src/compiler/lib/Var.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -230,7 +230,7 @@ namespace yask {
// Update halos based on each value in 'offsets' in some
// read or write to this var.
// This var's halos can only be increased.
- void Var::updateHalo(const string& packName, const IntTuple& offsets) {
+ void Var::updateHalo(const string& stageName, const IntTuple& offsets) {
// Find step value or use 0 if none.
int stepVal = 0;
@@ -249,7 +249,7 @@ namespace yask {
auto& dname = dim.getName();
int val = dim.getVal();
bool left = val <= 0;
- auto& halos = _halos[packName][left][stepVal];
+ auto& halos = _halos[stageName][left][stepVal];
// Don't keep halo in step dim.
if (stepDim && dname == stepDim->getName())
@@ -323,10 +323,10 @@ namespace yask {
if (_halos.size() == 0)
return 1;
- // Need the max across all packs.
+ // Need the max across all stages.
int max_sz = 1;
- // Loop thru each pack w/halos.
+ // Loop thru each stage w/halos.
for (auto& hi : _halos) {
#ifdef DEBUG_HALOS
auto& pname = hi.first;
@@ -351,7 +351,7 @@ namespace yask {
if (halo.size()) {
#ifdef DEBUG_HALOS
cout << "** var " << _name << " has halo " << halo.makeDimValStr() <<
- " at ofs " << ofs << " in pack " << pname << endl;
+ " at ofs " << ofs << " in stage " << pname << endl;
#endif
// Update vars.
@@ -366,7 +366,7 @@ namespace yask {
}
#ifdef DEBUG_HALOS
cout << "** var " << _name << " has halos from " << first_ofs <<
- " to " << last_ofs << " in pack " << pname << endl;
+ " to " << last_ofs << " in stage " << pname << endl;
#endif
// Only need to process if >1 offset.
@@ -398,7 +398,7 @@ namespace yask {
max_sz = max(max_sz, sz);
}
- } // packs.
+ } // stages.
return max_sz;
}
diff --git a/src/compiler/lib/Var.hpp b/src/compiler/lib/Var.hpp
index f6f77617..0968e89e 100644
--- a/src/compiler/lib/Var.hpp
+++ b/src/compiler/lib/Var.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -67,7 +67,7 @@ namespace yask {
// Max abs-value of domain-index halos required by all eqs at
// various step-index values.
- // string key: name of pack.
+ // string key: name of stage.
// bool key: true=left, false=right.
// int key: step-dim offset or 0 if no step-dim.
map>> _halos;
@@ -122,11 +122,11 @@ namespace yask {
virtual const IntTuple& getMinIndices() const { return _minIndices; }
virtual const IntTuple& getMaxIndices() const { return _maxIndices; }
- // Get the max sizes of halo across all steps for given pack.
- virtual IntTuple getHaloSizes(const string& packName, bool left) const {
+ // Get the max sizes of halo across all steps for given stage.
+ virtual IntTuple getHaloSizes(const string& stageName, bool left) const {
IntTuple halo;
- if (_halos.count(packName) && _halos.at(packName).count(left)) {
- for (auto i : _halos.at(packName).at(left)) {
+ if (_halos.count(stageName) && _halos.at(stageName).count(left)) {
+ for (auto i : _halos.at(stageName).at(left)) {
auto& hs = i.second; // halo at step-val 'i'.
halo = halo.makeUnionWith(hs);
halo = halo.maxElements(hs, false);
@@ -135,7 +135,7 @@ namespace yask {
return halo;
}
- // Get the max size in 'dim' of halo across all packs and steps.
+ // Get the max size in 'dim' of halo across all stages and steps.
virtual int getHaloSize(const string& dim, bool left) const {
int h = 0;
for (auto& hi : _halos) {
@@ -185,7 +185,7 @@ namespace yask {
virtual void updateHalo(const Var& other);
// Update halos and L1 dist based on each value in 'offsets'.
- virtual void updateHalo(const string& packName, const IntTuple& offsets);
+ virtual void updateHalo(const string& stageName, const IntTuple& offsets);
// Update L1 dist.
virtual void updateL1Dist(int l1Dist) {
diff --git a/src/compiler/lib/Vec.cpp b/src/compiler/lib/Vec.cpp
index c0f27984..be715f0c 100644
--- a/src/compiler/lib/Vec.cpp
+++ b/src/compiler/lib/Vec.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Vec.hpp b/src/compiler/lib/Vec.hpp
index 7ad529e2..5a68196e 100644
--- a/src/compiler/lib/Vec.hpp
+++ b/src/compiler/lib/Vec.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/Visitor.hpp b/src/compiler/lib/Visitor.hpp
index c02a0ce0..43199254 100644
--- a/src/compiler/lib/Visitor.hpp
+++ b/src/compiler/lib/Visitor.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/lib/YaskKernel.cpp b/src/compiler/lib/YaskKernel.cpp
index db248265..393e76f9 100644
--- a/src/compiler/lib/YaskKernel.cpp
+++ b/src/compiler/lib/YaskKernel.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -877,13 +877,13 @@ namespace yask {
}
} // bundles.
- // Packs.
- os << "\n // Stencil bundle packs.\n";
- for (auto& bp : _eqBundlePacks.getAll()) {
+ // Stages.
+ os << "\n // Stencil stages.\n";
+ for (auto& bp : _eqStages.getAll()) {
if (bp->isScratch())
continue;
string bpName = bp->getName();
- os << " auto " << bpName << " = std::make_shared(this, \"" <<
+ os << " auto " << bpName << " = std::make_shared(this, \"" <<
bpName << "\");\n";
for (auto& eg : bp->getBundles()) {
if (eg->isScratch())
@@ -891,7 +891,7 @@ namespace yask {
string egName = eg->getName();
os << " " << bpName << "->push_back(&" << egName << ");\n";
}
- os << " stPacks.push_back(" << bpName << ");\n";
+ os << " stStages.push_back(" << bpName << ");\n";
}
os << "\n // Call code provided by user.\n" <<
diff --git a/src/compiler/swig/yask_compiler_api.i b/src/compiler/swig/yask_compiler_api.i
index 7afbb8a7..fc535e48 100644
--- a/src/compiler/swig/yask_compiler_api.i
+++ b/src/compiler/swig/yask_compiler_api.i
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/tests/yask_compiler_api_exception_test.cpp b/src/compiler/tests/yask_compiler_api_exception_test.cpp
index 7ca9c2f0..94cd8196 100644
--- a/src/compiler/tests/yask_compiler_api_exception_test.cpp
+++ b/src/compiler/tests/yask_compiler_api_exception_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/tests/yask_compiler_api_exception_test.py b/src/compiler/tests/yask_compiler_api_exception_test.py
index 419a26ab..81380909 100755
--- a/src/compiler/tests/yask_compiler_api_exception_test.py
+++ b/src/compiler/tests/yask_compiler_api_exception_test.py
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/tests/yask_compiler_api_test.cpp b/src/compiler/tests/yask_compiler_api_test.cpp
index e4d43d90..3a28af15 100644
--- a/src/compiler/tests/yask_compiler_api_test.cpp
+++ b/src/compiler/tests/yask_compiler_api_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/compiler/tests/yask_compiler_api_test.py b/src/compiler/tests/yask_compiler_api_test.py
index 51b2c14f..6fc8752f 100755
--- a/src/compiler/tests/yask_compiler_api_test.py
+++ b/src/compiler/tests/yask_compiler_api_test.py
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/contrib/coefficients/fd_coeff.cpp b/src/contrib/coefficients/fd_coeff.cpp
index 5d94ab42..249630e8 100644
--- a/src/contrib/coefficients/fd_coeff.cpp
+++ b/src/contrib/coefficients/fd_coeff.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/contrib/coefficients/fd_coeff.hpp b/src/contrib/coefficients/fd_coeff.hpp
index ddff31b9..34ac00d3 100644
--- a/src/contrib/coefficients/fd_coeff.hpp
+++ b/src/contrib/coefficients/fd_coeff.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/contrib/coefficients/fd_coeff_test.cpp b/src/contrib/coefficients/fd_coeff_test.cpp
index 45e2ba88..a2fecf18 100644
--- a/src/contrib/coefficients/fd_coeff_test.cpp
+++ b/src/contrib/coefficients/fd_coeff_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/Makefile b/src/kernel/Makefile
index dcf2b388..8775ecb0 100644
--- a/src/kernel/Makefile
+++ b/src/kernel/Makefile
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
@@ -768,9 +768,9 @@ stencil-tests:
$(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_stream_3d radius=5
$(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_reverse_2d radius=1
$(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_func_1d fold=x=4
- $(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_dep_1d fold=x=4
- $(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_dep_2d fold=x=2,y=2
- $(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_dep_3d fold=y=2,x=2 domain_dims=x,z,y
+ $(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_stages_1d fold=x=4
+ $(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_stages_2d fold=x=2,y=2
+ $(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_stages_3d fold=y=2,x=2 domain_dims=x,z,y
$(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_misc_2d fold=x=2,y=2
$(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_misc_2d fold=x=2,y=2 EXTRA_YC_FLAGS=-interleave-misc
$(MAKE) clean; $(MAKE) $(STENCIL_TEST_ARGS) stencil=test_step_cond_1d fold=x=4
diff --git a/src/kernel/lib/alloc.cpp b/src/kernel/lib/alloc.cpp
index b341a04b..8602d478 100644
--- a/src/kernel/lib/alloc.cpp
+++ b/src/kernel/lib/alloc.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -813,11 +813,11 @@ namespace yask {
// data allocated.
makeScratchVars(rthreads);
- // Find the max mini-block size across all packs.
- // They can be different across packs when pack-specific
+ // Find the max mini-block size across all stages.
+ // They can be different across stages when stage-specific
// auto-tuning has been used.
IdxTuple mblksize(domain_dims);
- for (auto& sp : stPacks) {
+ for (auto& sp : stStages) {
auto& psettings = sp->getActiveSettings();
DOMAIN_VAR_LOOP(i, j) {
@@ -826,7 +826,7 @@ namespace yask {
mblksize[j] = max(mblksize[j], sz);
}
}
- TRACE_MSG("allocScratchData: max mini-block size across pack(s) is " <<
+ TRACE_MSG("allocScratchData: max mini-block size across stage(s) is " <<
mblksize.makeDimValStr(" * "));
// Pass 0: count required size, allocate chunk of memory at end.
diff --git a/src/kernel/lib/auto_tuner.cpp b/src/kernel/lib/auto_tuner.cpp
index b778e34b..3fc5d5ba 100644
--- a/src/kernel/lib/auto_tuner.cpp
+++ b/src/kernel/lib/auto_tuner.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -50,8 +50,8 @@ namespace yask {
_at.steps_done += num_steps;
_at.timer.stop();
- if (state->_use_pack_tuners) {
- for (auto& sp : stPacks)
+ if (state->_use_stage_tuners) {
+ for (auto& sp : stStages)
sp->getAT().eval();
}
else
@@ -60,7 +60,7 @@ namespace yask {
// Reset auto-tuners.
void StencilContext::reset_auto_tuner(bool enable, bool verbose) {
- for (auto& sp : stPacks)
+ for (auto& sp : stStages)
sp->getAT().clear(!enable, verbose);
_at.clear(!enable, verbose);
}
@@ -69,8 +69,8 @@ namespace yask {
bool StencilContext::is_auto_tuner_enabled() const {
STATE_VARS(this);
bool done = true;
- if (state->_use_pack_tuners) {
- for (auto& sp : stPacks)
+ if (state->_use_stage_tuners) {
+ for (auto& sp : stStages)
if (!sp->getAT().is_done())
done = false;
} else
@@ -93,7 +93,7 @@ namespace yask {
enable_halo_exchange = false;
// Temporarily ignore step conditions to force eval of conditional
- // bundles. NB: may affect perf, e.g., if packs A and B run in
+ // bundles. NB: may affect perf, e.g., if stages A and B run in
// AAABAAAB sequence, perf may be [very] different if run as
// ABABAB..., esp. w/temporal tiling. TODO: work around this.
check_step_conds = false;
@@ -134,8 +134,8 @@ namespace yask {
at_timer.stop();
DEBUG_MSG("Auto-tuner done after " << steps_done << " step(s) in " <<
makeNumStr(at_timer.get_elapsed_secs()) << " secs.");
- if (state->_use_pack_tuners) {
- for (auto& sp : stPacks)
+ if (state->_use_stage_tuners) {
+ for (auto& sp : stStages)
sp->getAT().print_settings();
} else
_at.print_settings();
diff --git a/src/kernel/lib/auto_tuner.hpp b/src/kernel/lib/auto_tuner.hpp
index 0eddd291..9a7089ed 100644
--- a/src/kernel/lib/auto_tuner.hpp
+++ b/src/kernel/lib/auto_tuner.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/cache_model.hpp b/src/kernel/lib/cache_model.hpp
index 3be45bc2..48be4c46 100644
--- a/src/kernel/lib/cache_model.hpp
+++ b/src/kernel/lib/cache_model.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/context.cpp b/src/kernel/lib/context.cpp
index 197f991e..ae3f914c 100644
--- a/src/kernel/lib/context.cpp
+++ b/src/kernel/lib/context.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -70,8 +70,8 @@ namespace yask {
opts->adjustSettings();
update_var_info(true);
- // Copy these settings to packs and realloc scratch vars.
- for (auto& sp : stPacks)
+ // Copy these settings to stages and realloc scratch vars.
+ for (auto& sp : stStages)
sp->getLocalSettings() = *opts;
allocScratchData();
@@ -112,8 +112,8 @@ namespace yask {
rank_idxs.stop[step_posn] = stop_t;
rank_idxs.stride[step_posn] = stride_t;
- // Loop thru bundles. We ignore bundle packs here
- // because packing bundles is an optional optimizations.
+ // Loop thru bundles. We ignore stages here
+ // because staging is an optional optimizations.
for (auto* asg : stBundles) {
// Scan through n-D space.
@@ -179,7 +179,7 @@ namespace yask {
run_time.stop();
} // run_ref.
- // Eval stencil bundle pack(s) over var(s) using optimized code.
+ // Eval stage(s) over var(s) using optimized code.
void StencilContext::run_solution(idx_t first_step_index,
idx_t last_step_index)
{
@@ -241,8 +241,8 @@ namespace yask {
// Adjust end points for overlapping regions due to wavefront angle.
// For each subsequent time step in a region, the spatial location
// of each block evaluation is shifted by the angle for each
- // bundle pack. So, the total shift in a region is the angle * num
- // packs * num timesteps. This assumes all bundle packs
+ // stage. So, the total shift in a region is the angle * num
+ // stages * num timesteps. This assumes all stages
// are inter-dependent to find maximum extension. Actual required
// size may be less, but this will just result in some calls to
// calc_region() that do nothing.
@@ -325,18 +325,18 @@ namespace yask {
// Start timer for auto-tuner.
_at.timer.start();
- // If no wave-fronts (default), loop through packs here, and do
- // only one pack at a time in calc_region(). This is similar to
- // loop in calc_rank_ref(), but with packs instead of bundles.
+ // If no wave-fronts (default), loop through stages here, and do
+ // only one stage at a time in calc_region(). This is similar to
+ // loop in calc_rank_ref(), but with stages instead of bundles.
if (wf_steps == 0) {
- // Loop thru packs.
- for (auto& bp : stPacks) {
+ // Loop thru stages.
+ for (auto& bp : stStages) {
// Check step.
if (check_step_conds && !bp->is_in_valid_step(start_t)) {
TRACE_MSG("run_solution: step " << start_t <<
- " not valid for pack '" <<
+ " not valid for stage '" <<
bp->get_name() << "'");
continue;
}
@@ -359,7 +359,7 @@ namespace yask {
// Include automatically-generated loop code that calls
// calc_region(bp) for each region.
TRACE_MSG("run_solution: step " << start_t <<
- " for pack '" << bp->get_name() << "' in MPI exterior");
+ " for stage '" << bp->get_name() << "' in MPI exterior");
#include "yask_rank_loops.hpp"
#else
@@ -388,7 +388,7 @@ namespace yask {
// each region. The region will be trimmed
// to the active MPI exterior section.
TRACE_MSG("run_solution: step " << start_t <<
- " for pack '" << bp->get_name() <<
+ " for stage '" << bp->get_name() <<
"' in MPI exterior dim " << j <<
" on the " << (is_left ? "left" : "right"));
#include "yask_rank_loops.hpp"
@@ -397,7 +397,7 @@ namespace yask {
#endif
// Mark vars that [may] have been written to by
- // this pack. Mark vars as dirty even if not
+ // this stage. Mark vars as dirty even if not
// actually written by this rank, perhaps due to
// sub-domains or asymmetrical stencils. This is
// needed because neighbors will not know what vars
@@ -422,7 +422,7 @@ namespace yask {
// comms, this will be just the interior. If not, it
// will cover the whole rank.
TRACE_MSG("run_solution: step " << start_t <<
- " for pack '" << bp->get_name() << "'");
+ " for stage '" << bp->get_name() << "'");
#include "yask_rank_loops.hpp"
// Mark as dirty only if we did exterior.
@@ -436,16 +436,16 @@ namespace yask {
// Set the overlap flags back to default.
do_mpi_interior = do_mpi_left = do_mpi_right = true;
- } // packs.
+ } // stages.
} // No WF tiling.
- // If doing wave-fronts, must loop through all packs in
+ // If doing wave-fronts, must loop through all stages in
// calc_region().
else {
- // Null ptr => Eval all stencil packs each time
+ // Null ptr => Eval all stages each time
// calc_region() is called.
- BundlePackPtr bp;
+ StagePtr bp;
// Do MPI-external passes?
if (mpi_interior.bb_valid) {
@@ -482,7 +482,7 @@ namespace yask {
} // left/right.
} // domain dims.
- // Mark vars dirty for all packs.
+ // Mark vars dirty for all stages.
update_vars(bp, start_t, stop_t, true);
// Do the appropriate steps for halo exchange of exterior.
@@ -519,13 +519,13 @@ namespace yask {
// Overall steps.
steps_done += this_num_t;
- // Count steps for each pack to properly account for
+ // Count steps for each stage to properly account for
// step conditions when using temporal tiling.
- for (auto& bp : stPacks) {
- idx_t num_pack_steps = 0;
+ for (auto& bp : stStages) {
+ idx_t num_stage_steps = 0;
if (!check_step_conds)
- num_pack_steps = this_num_t;
+ num_stage_steps = this_num_t;
else {
// Loop through each step.
@@ -534,12 +534,12 @@ namespace yask {
// Check step cond for this t.
if (bp->is_in_valid_step(t))
- num_pack_steps++;
+ num_stage_steps++;
}
}
- // Count steps for this pack.
- bp->add_steps(num_pack_steps);
+ // Count steps for this stage.
+ bp->add_steps(num_stage_steps);
}
// Call the auto-tuner to evaluate these steps.
@@ -569,10 +569,10 @@ namespace yask {
// Calculate results within a region. Each region is typically computed
// in a separate OpenMP 'for' region. In this function, we loop over
- // the time steps and bundle packs and evaluate a pack in each of
- // the blocks in the region. If 'sel_bp' is null, eval all packs; else
+ // the time steps and stages and evaluate a stage in each of
+ // the blocks in the region. If 'sel_bp' is null, eval all stages; else
// eval only the one pointed to.
- void StencilContext::calc_region(BundlePackPtr& sel_bp,
+ void StencilContext::calc_region(StagePtr& sel_bp,
const ScanIndices& rank_idxs) {
STATE_VARS(this);
TRACE_MSG("calc_region: region [" <<
@@ -617,31 +617,31 @@ namespace yask {
region_idxs.start[step_posn] = start_t;
region_idxs.stop[step_posn] = stop_t;
- // If no temporal blocking (default), loop through packs here,
- // and do only one pack at a time in calc_block(). If there is
- // no WF blocking either, the pack loop body will only execute
- // with one active pack, and 'region_shift_num' will never be > 0.
+ // If no temporal blocking (default), loop through stages here,
+ // and do only one stage at a time in calc_block(). If there is
+ // no WF blocking either, the stage loop body will only execute
+ // with one active stage, and 'region_shift_num' will never be > 0.
if (tb_steps == 0) {
- // Stencil bundle packs to evaluate at this time step.
- for (auto& bp : stPacks) {
+ // Stages to evaluate at this time step.
+ for (auto& bp : stStages) {
- // Not a selected bundle pack?
+ // Not a selected stage?
if (sel_bp && sel_bp != bp)
continue;
- TRACE_MSG("calc_region: no TB; pack '" <<
+ TRACE_MSG("calc_region: no TB; stage '" <<
bp->get_name() << "' in step(s) [" <<
start_t << " ... " << stop_t << ")");
// Check step.
if (check_step_conds && !bp->is_in_valid_step(start_t)) {
TRACE_MSG("calc_region: step " << start_t <<
- " not valid for pack '" << bp->get_name() << "'");
+ " not valid for stage '" << bp->get_name() << "'");
continue;
}
- // Strides within a region are based on pack block sizes.
+ // Strides within a region are based on stage block sizes.
auto& settings = bp->getActiveSettings();
region_idxs.stride = settings._block_sizes;
region_idxs.stride[step_posn] = stride_t;
@@ -651,7 +651,7 @@ namespace yask {
// Set region_idxs begin & end based on shifted rank
// start & stop (original region begin & end), rank
- // boundaries, and pack BB. This will be the base of the
+ // boundaries, and stage BB. This will be the base of the
// region loops.
bool ok = shift_region(rank_idxs.start, rank_idxs.stop,
region_shift_num, bp,
@@ -682,21 +682,21 @@ namespace yask {
#include "yask_region_loops.hpp"
}
- // Need to shift for next pack and/or time.
+ // Need to shift for next stage and/or time.
region_shift_num++;
- } // stencil bundle packs.
+ } // stages.
} // no temporal blocking.
- // If using TB, iterate thru steps in a WF and packs in calc_block().
+ // If using TB, iterate thru steps in a WF and stages in calc_block().
else {
TRACE_MSG("calc_region: w/TB in step(s) [" <<
start_t << " ... " << stop_t << ")");
- // Null ptr => Eval all stencil packs each time
+ // Null ptr => Eval all stages each time
// calc_block() is called.
- BundlePackPtr bp;
+ StagePtr bp;
// Strides within a region are based on rank block sizes.
auto& settings = *opts;
@@ -740,19 +740,19 @@ namespace yask {
#include "yask_region_loops.hpp"
}
- // Loop thru stencil bundle packs that were evaluated in
+ // Loop thru stages that were evaluated in
// these 'tb_steps' to increment shift for next region
// "layer", if any. This is needed when there are more WF
// steps than TB steps. TODO: consider moving this inside
// calc_block().
for (idx_t t = start_t; t != stop_t; t += step_dir) {
- for (auto& bp : stPacks) {
+ for (auto& bp : stStages) {
// Check step.
if (check_step_conds && !bp->is_in_valid_step(t))
continue;
- // One shift for each pack in each TB step.
+ // One shift for each stage in each TB step.
region_shift_num++;
}
}
@@ -771,11 +771,11 @@ namespace yask {
} // calc_region.
// Calculate results within a block. This function calls
- // 'calc_mini_block()' for the specified pack or all packs if 'sel_bp'
+ // 'calc_mini_block()' for the specified stage or all stages if 'sel_bp'
// is null. When using TB, only the shape(s) needed for the tesselation
// 'phase' are computed. Typically called by a top-level OMP thread
// from calc_region().
- void StencilContext::calc_block(BundlePackPtr& sel_bp,
+ void StencilContext::calc_block(StagePtr& sel_bp,
idx_t region_shift_num,
idx_t nphases, idx_t phase,
const ScanIndices& rank_idxs,
@@ -846,7 +846,7 @@ namespace yask {
assert(stride_t);
const idx_t num_t = CEIL_DIV(abs(end_t - begin_t), abs(stride_t));
- // If TB is not being used, just process the given pack.
+ // If TB is not being used, just process the given stage.
// No need for a time loop.
// No need to check bounds, because they were checked in
// calc_region() when not using TB.
@@ -861,7 +861,7 @@ namespace yask {
block_idxs.start[step_posn] = begin_t;
block_idxs.stop[step_posn] = end_t;
- // Strides within a block are based on pack mini-block sizes.
+ // Strides within a block are based on stage mini-block sizes.
auto& settings = bp->getActiveSettings();
block_idxs.stride = settings._mini_block_sizes;
block_idxs.stride[step_posn] = stride_t;
@@ -870,7 +870,7 @@ namespace yask {
block_idxs.group_size = settings._mini_block_group_sizes;
// Default settings for no TB.
- BundlePackPtr bp = sel_bp;
+ StagePtr bp = sel_bp;
assert(phase == 0);
idx_t nshapes = 1;
idx_t shape = 0;
@@ -959,7 +959,7 @@ namespace yask {
// Include automatically-generated loop code that calls
// calc_mini_block() for each mini-block in this block.
- BundlePackPtr bp; // null.
+ StagePtr bp; // null.
#include "yask_block_loops.hpp"
} // shape loop.
@@ -968,12 +968,12 @@ namespace yask {
// Calculate results within a mini-block.
// This function calls 'StencilBundleBase::calc_mini_block()'
- // for each bundle in the specified pack or all packs if 'sel_bp' is
+ // for each bundle in the specified stage or all stages if 'sel_bp' is
// null. When using TB, only the 'shape' needed for the tesselation
// 'phase' are computed. The starting 'shift_num' is relative
// to the bottom of the current region and block.
void StencilContext::calc_mini_block(int region_thread_idx,
- BundlePackPtr& sel_bp,
+ StagePtr& sel_bp,
idx_t region_shift_num,
idx_t nphases, idx_t phase,
idx_t nshapes, idx_t shape,
@@ -1038,27 +1038,27 @@ namespace yask {
mini_block_idxs.start[step_posn] = start_t;
mini_block_idxs.stop[step_posn] = stop_t;
- // Stencil bundle packs to evaluate at this time step.
- for (auto& bp : stPacks) {
+ // Stages to evaluate at this time step.
+ for (auto& bp : stStages) {
- // Not a selected bundle pack?
+ // Not a selected stage?
if (sel_bp && sel_bp != bp)
continue;
// Check step.
if (check_step_conds && !bp->is_in_valid_step(start_t)) {
TRACE_MSG("calc_mini_block: step " << start_t <<
- " not valid for pack '" <<
+ " not valid for stage '" <<
bp->get_name() << "'");
continue;
}
TRACE_MSG("calc_mini_block: phase " << phase <<
", shape " << shape <<
", step " << start_t <<
- ", pack '" << bp->get_name() <<
+ ", stage '" << bp->get_name() <<
"', shift-num " << shift_num);
- // Start timers for this pack. Tracking only on thread
+ // Start timers for this stage. Tracking only on thread
// 0. TODO: track all threads and report cross-thread stats.
if (region_thread_idx == 0)
bp->start_timers();
@@ -1074,7 +1074,7 @@ namespace yask {
// Set mini_block_idxs begin & end based on shifted rank
// start & stop (original region begin & end), rank
- // boundaries, and pack BB. There may be several TB layers
+ // boundaries, and stage BB. There may be several TB layers
// within a region WF, so we need to add the region and
// local mini-block shift counts.
bool ok = shift_region(rank_idxs.start, rank_idxs.stop,
@@ -1112,35 +1112,35 @@ namespace yask {
make_stores_visible();
}
- // Need to shift for next pack and/or time-step.
+ // Need to shift for next stage and/or time-step.
shift_num++;
- // Stop timers for this pack.
+ // Stop timers for this stage.
if (region_thread_idx == 0)
bp->stop_timers();
- } // packs.
+ } // stages.
} // time-steps.
} // calc_mini_block().
// Find boundaries within region with 'base_start' to 'base_stop'
// shifted 'shift_num' times, which should start at 0 and increment for
- // each pack in each time-step. Trim to ext-BB and MPI section if 'bp' if
+ // each stage in each time-step. Trim to ext-BB and MPI section if 'bp' if
// not null. Write results into 'begin' and 'end' in 'idxs'. Return
// 'true' if resulting area is non-empty, 'false' if empty.
bool StencilContext::shift_region(const Indices& base_start, const Indices& base_stop,
idx_t shift_num,
- BundlePackPtr& bp,
+ StagePtr& bp,
ScanIndices& idxs) {
STATE_VARS(this);
// For wavefront adjustments, see conceptual diagram in
- // run_solution(). At each pack and time-step, the parallelogram
+ // run_solution(). At each stage and time-step, the parallelogram
// may be trimmed based on the BB and WF extensions outside of the
// rank-BB.
- // Actual region boundaries must stay within [extended] pack BB.
+ // Actual region boundaries must stay within [extended] stage BB.
// We have to calculate the posn in the extended rank at each
// value of 'shift_num' because it is being shifted spatially.
bool ok = true;
@@ -1155,10 +1155,10 @@ namespace yask {
idx_t rstart = base_start[i] - shift_amt;
idx_t rstop = base_stop[i] - shift_amt;
- // Trim only if pack is specified.
+ // Trim only if stage is specified.
if (bp.get()) {
- // Trim to extended BB of pack. This will also trim
+ // Trim to extended BB of stage. This will also trim
// to the extended BB of the rank.
auto& pbb = bp.get()->getBB();
rstart = max(rstart, pbb.bb_begin[j]);
@@ -1304,7 +1304,7 @@ namespace yask {
// For given 'phase' and 'shape', find boundaries within mini-block at
// 'mb_base_start' to 'mb_base_stop' shifted by 'mb_shift_num', which
- // should start at 0 and increment for each pack in each time-step.
+ // should start at 0 and increment for each stage in each time-step.
// 'mb_base' is subset of 'adj_block_base'. Also trim to block at
// 'block_base_start' to 'block_base_stop' shifted by 'mb_shift_num'.
// Input 'begin' and 'end' of 'idxs' should be trimmed to region. Writes
@@ -1324,7 +1324,7 @@ namespace yask {
const BridgeMask& bridge_mask,
ScanIndices& idxs) {
STATE_VARS(this);
- auto npacks = stPacks.size();
+ auto nstages = stStages.size();
bool ok = true;
// Loop thru dims, breaking out if any dim has no work.
@@ -1359,7 +1359,7 @@ namespace yask {
// Adjust these based on current shift. Adjust by pts in one TB
// step, reducing size on R & L sides. But if block is first
// and/or last, clamp to region. TODO: have different R & L
- // angles. TODO: have different shifts for each pack.
+ // angles. TODO: have different shifts for each stage.
// Shift start to right unless first. First block will be a
// parallelogram or trapezoid clamped to beginning of region.
@@ -1926,25 +1926,25 @@ namespace yask {
#endif
}
- // Update data in vars that have been written to by bundle pack 'sel_bp'.
- void StencilContext::update_vars(const BundlePackPtr& sel_bp,
+ // Update data in vars that have been written to by stage 'sel_bp'.
+ void StencilContext::update_vars(const StagePtr& sel_bp,
idx_t start, idx_t stop,
bool mark_dirty) {
STATE_VARS(this);
idx_t stride = (start > stop) ? -1 : 1;
map> vars_done;
- // Stencil bundle packs.
- for (auto& bp : stPacks) {
+ // Stages.
+ for (auto& bp : stStages) {
- // Not a selected bundle pack?
+ // Not a selected stage?
if (sel_bp && sel_bp != bp)
continue;
// Each input step.
for (idx_t t = start; t != stop; t += stride) {
- // Each bundle in this pack.
+ // Each bundle in this stage.
for (auto* sb : *bp) {
// Get output step for this bundle, if any.
@@ -1971,7 +1971,7 @@ namespace yask {
}
} // bundles.
} // steps.
- } // packs.
+ } // stages.
} // update_vars().
// Reset any locks, etc.
diff --git a/src/kernel/lib/context.hpp b/src/kernel/lib/context.hpp
index f8515702..675e61cf 100644
--- a/src/kernel/lib/context.hpp
+++ b/src/kernel/lib/context.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -163,11 +163,11 @@ namespace yask {
// Things in a context.
class StencilBundleBase;
- class BundlePack;
+ class Stage;
typedef std::vector StencilBundleList;
typedef std::set StencilBundleSet;
- typedef std::shared_ptr BundlePackPtr;
- typedef std::vector BundlePackList;
+ typedef std::shared_ptr StagePtr;
+ typedef std::vector StageList;
typedef std::vector BridgeMask;
// Data and hierarchical sizes.
@@ -246,9 +246,9 @@ namespace yask {
// they should be evaluated within a step.
StencilBundleList stBundles;
- // List of all non-scratch stencil-bundle packs in the order in
+ // List of all non-scratch stencil-stages in the order in
// which they should be evaluated within a step.
- BundlePackList stPacks;
+ StageList stStages;
// All non-scratch vars, including those created by APIs.
VarPtrs varPtrs;
@@ -462,11 +462,11 @@ namespace yask {
idx_t last_step_index);
// Calculate results within a region.
- void calc_region(BundlePackPtr& sel_bp,
+ void calc_region(StagePtr& sel_bp,
const ScanIndices& rank_idxs);
// Calculate results within a block.
- void calc_block(BundlePackPtr& sel_bp,
+ void calc_block(StagePtr& sel_bp,
idx_t region_shift_num,
idx_t nphases, idx_t phase,
const ScanIndices& rank_idxs,
@@ -474,7 +474,7 @@ namespace yask {
// Calculate results within a mini-block.
void calc_mini_block(int region_thread_idx,
- BundlePackPtr& sel_bp,
+ StagePtr& sel_bp,
idx_t region_shift_num,
idx_t nphases, idx_t phase,
idx_t nshapes, idx_t shape,
@@ -490,17 +490,17 @@ namespace yask {
// Call MPI_Test() on all unfinished requests to promote MPI progress.
void poke_halo_exchange();
- // Update valid steps in vars that have been written to by bundle pack 'sel_bp'.
+ // Update valid steps in vars that have been written to by stage 'sel_bp'.
// If sel_bp==null, use all bundles.
// If 'mark_dirty', also mark as needing halo exchange.
- void update_vars(const BundlePackPtr& sel_bp,
+ void update_vars(const StagePtr& sel_bp,
idx_t start, idx_t stop,
bool mark_dirty);
// Set various limits in 'idxs' based on current step in region.
bool shift_region(const Indices& base_start, const Indices& base_stop,
idx_t shift_num,
- BundlePackPtr& bp,
+ StagePtr& bp,
ScanIndices& idxs);
// Set various limits in 'idxs' based on current step in block.
diff --git a/src/kernel/lib/factory.cpp b/src/kernel/lib/factory.cpp
index a4ede07c..8b7cf6e3 100644
--- a/src/kernel/lib/factory.cpp
+++ b/src/kernel/lib/factory.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/generic_var.cpp b/src/kernel/lib/generic_var.cpp
index 51d74b86..549a789f 100644
--- a/src/kernel/lib/generic_var.cpp
+++ b/src/kernel/lib/generic_var.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/generic_var.hpp b/src/kernel/lib/generic_var.hpp
index f3b50844..ac72b9ae 100644
--- a/src/kernel/lib/generic_var.hpp
+++ b/src/kernel/lib/generic_var.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/indices.hpp b/src/kernel/lib/indices.hpp
index fd2ce2a9..03badec5 100644
--- a/src/kernel/lib/indices.hpp
+++ b/src/kernel/lib/indices.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/new_var.cpp b/src/kernel/lib/new_var.cpp
index 07229d47..d2a5c3ae 100644
--- a/src/kernel/lib/new_var.cpp
+++ b/src/kernel/lib/new_var.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/realv.hpp b/src/kernel/lib/realv.hpp
index df6866be..8220769f 100644
--- a/src/kernel/lib/realv.hpp
+++ b/src/kernel/lib/realv.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/settings.cpp b/src/kernel/lib/settings.cpp
index 458bc4f2..9332c952 100644
--- a/src/kernel/lib/settings.cpp
+++ b/src/kernel/lib/settings.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -435,11 +435,11 @@ namespace yask {
"Particularly useful when using temporal block tiling.",
_tune_mini_blks));
parser.add_option(new CommandLineParser::BoolOption
- ("auto_tune_each_pass",
- "Apply the auto-tuner separately to each stencil pack when "
- "those packs are applied in separate passes across the entire var, "
+ ("auto_tune_each_stage",
+ "Apply the auto-tuner separately to each stage when "
+ "those stages are applied in separate passes across the entire var, "
"i.e., when no temporal tiling is used.",
- _allow_pack_tuners));
+ _allow_stage_tuners));
}
// Print usage message.
@@ -516,7 +516,7 @@ namespace yask {
" block size is set to region size in that dimension.\n"
" A block size of 0 in the step dimension (e.g., '-bt') disables any temporal blocking.\n"
" A block size of 1 in the step dimension enables temporal blocking, but only between\n"
- " packs in the same step.\n"
+ " stages in the same step.\n"
" A block size >1 in the step dimension enables temporal blocking across multiple steps.\n"
" The temporal block size may be automatically reduced if needed based on the\n"
" domain block sizes and the stencil halos.\n"
@@ -527,7 +527,7 @@ namespace yask {
" set to block size in the step dimension.\n"
" A region size >1 in the step dimension enables wave-front rank tiling.\n"
" The region size in the step dimension affects how often MPI halo-exchanges occur:\n"
- " A region size of 0 in the step dimension => exchange after every pack.\n"
+ " A region size of 0 in the step dimension => exchange after every stage.\n"
" A region size >0 in the step dimension => exchange after that many steps.\n"
" Set local-domain sizes to specify the work done on this MPI rank.\n"
" A local-domain size of 0 in a given domain dimension =>\n"
@@ -922,7 +922,7 @@ namespace yask {
yask_num_threads[0] = rt;
if (bt > 1) {
- omp_set_nested(1); // deprecated for OMP 5, but needed for Intel OMP.
+ omp_set_nested(1);
omp_set_max_active_levels(2);
int mal = omp_get_max_active_levels();
assert (mal == 2);
diff --git a/src/kernel/lib/settings.hpp b/src/kernel/lib/settings.hpp
index b77dce1e..0302eb11 100644
--- a/src/kernel/lib/settings.hpp
+++ b/src/kernel/lib/settings.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -259,7 +259,7 @@ namespace yask {
// Tuning.
bool _do_auto_tune = false; // whether to do auto-tuning.
bool _tune_mini_blks = false; // auto-tune mini-blks instead of blks.
- bool _allow_pack_tuners = false; // allow per-pack tuners when possible.
+ bool _allow_stage_tuners = false; // allow per-stage tuners when possible.
double _tuner_min_secs = 0.25; // min time to run tuner for new better setting.
// Debug.
@@ -585,7 +585,7 @@ namespace yask {
// User settings.
KernelSettingsPtr _opts;
- bool _use_pack_tuners = false;
+ bool _use_stage_tuners = false;
// Problem dims.
DimsPtr _dims;
@@ -677,7 +677,7 @@ namespace yask {
const DimsPtr& get_dims() const { return _state->_dims; }
MPIInfoPtr& get_mpi_info() { return _state->_mpiInfo; }
const MPIInfoPtr& get_mpi_info() const { return _state->_mpiInfo; }
- bool use_pack_tuners() const { return _state->_use_pack_tuners; }
+ bool use_stage_tuners() const { return _state->_use_stage_tuners; }
yask_output_ptr get_debug_output() const {
return _state->_env->get_debug_output();
}
diff --git a/src/kernel/lib/setup.cpp b/src/kernel/lib/setup.cpp
index 650c5c79..95cf68fb 100644
--- a/src/kernel/lib/setup.cpp
+++ b/src/kernel/lib/setup.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -445,7 +445,7 @@ namespace yask {
// If we haven't finished constructing the context, it's too early
// to do this.
- if (!stPacks.size())
+ if (!stStages.size())
return;
// Reset max halos to zero.
@@ -500,9 +500,9 @@ namespace yask {
num_wf_shifts = 0;
if (wf_steps > 0) {
- // Need to shift for each bundle pack.
- assert(stPacks.size() > 0);
- num_wf_shifts = idx_t(stPacks.size()) * wf_steps;
+ // Need to shift for each stage.
+ assert(stStages.size() > 0);
+ num_wf_shifts = idx_t(stStages.size()) * wf_steps;
// Don't need to shift first one.
if (num_wf_shifts > 0)
@@ -511,7 +511,7 @@ namespace yask {
assert(num_wf_shifts >= 0);
// Determine whether separate tuners can be used.
- state->_use_pack_tuners = opts->_allow_pack_tuners && (tb_steps == 0) && (stPacks.size() > 1);
+ state->_use_stage_tuners = opts->_allow_stage_tuners && (tb_steps == 0) && (stStages.size() > 1);
// Calculate angles and related settings.
for (auto& dim : domain_dims) {
@@ -586,7 +586,7 @@ namespace yask {
// size is changed. Must be called after update_var_info() to ensure
// angles are properly set. TODO: calculate 'tb_steps' dynamically
// considering temporal conditions; this assumes worst-case, which is
- // all packs always done.
+ // all stages always done.
void StencilContext::update_tb_info() {
STATE_VARS(this);
TRACE_MSG("update_tb_info()...");
@@ -605,7 +605,7 @@ namespace yask {
// Determine max temporal depth based on block sizes
// and requested temporal depth.
// When using temporal blocking, all block sizes
- // across all packs must be the same.
+ // across all stages must be the same.
TRACE_MSG("update_tb_info: original TB steps = " << tb_steps);
if (tb_steps > 0) {
@@ -620,14 +620,14 @@ namespace yask {
auto rnsize = opts->_region_sizes[i];
// There must be only one block size when using TB, so get
- // sizes from context settings instead of packs.
- assert(state->_use_pack_tuners == false);
+ // sizes from context settings instead of stages.
+ assert(state->_use_stage_tuners == false);
auto blksize = opts->_block_sizes[i];
auto mblksize = opts->_mini_block_sizes[i];
// Req'd shift in this dim based on max halos.
// Can't use separate L & R shift because of possible data reuse in vars.
- // Can't use separate shifts for each pack for same reason.
+ // Can't use separate shifts for each stage for same reason.
// TODO: make round-up optional.
auto fpts = dims->_fold_pts[j];
idx_t angle = ROUND_UP(max_halos[j], fpts);
@@ -650,18 +650,18 @@ namespace yask {
// allowed this dim.
if (tb_angle > 0) {
- // min_blk_sz = min_top_sz + 2 * angle * (npacks * nsteps - 1).
+ // min_blk_sz = min_top_sz + 2 * angle * (nstages * nsteps - 1).
// bs = ts + 2*a*np*ns - 2*a.
// 2*a*np*ns = bs - ts + 2*a.
// s = flr[ (bs - ts + 2*a) / 2*a*np ].
idx_t top_sz = fpts; // min pts on top row. TODO: is zero ok?
- idx_t sh_pts = tb_angle * 2 * stPacks.size(); // pts shifted per step.
+ idx_t sh_pts = tb_angle * 2 * stStages.size(); // pts shifted per step.
idx_t nsteps = (blksize - top_sz + tb_angle * 2) / sh_pts; // might be zero.
TRACE_MSG("update_tb_info: max TB steps in dim '" <<
dname << "' = " << nsteps <<
" due to base block size of " << blksize <<
", TB angle of " << tb_angle <<
- ", and " << stPacks.size() << " pack(s)");
+ ", and " << stStages.size() << " stage(s)");
max_steps = min(max_steps, nsteps);
}
}
@@ -673,9 +673,9 @@ namespace yask {
// Calc number of shifts based on steps.
if (tb_steps > 0) {
- // Need to shift for each bundle pack.
- assert(stPacks.size() > 0);
- num_tb_shifts = idx_t(stPacks.size()) * tb_steps;
+ // Need to shift for each stage.
+ assert(stStages.size() > 0);
+ num_tb_shifts = idx_t(stStages.size()) * tb_steps;
// Don't need to shift first one.
if (num_tb_shifts > 0)
@@ -786,13 +786,13 @@ namespace yask {
// Remember sub-domain for each bundle.
map bb_descrs;
- // Find BB for each pack.
- for (auto sp : stPacks) {
+ // Find BB for each stage.
+ for (auto sp : stStages) {
auto& spbb = sp->getBB();
spbb.bb_begin = domain_dims;
spbb.bb_end = domain_dims;
- // Find BB for each bundle in this pack.
+ // Find BB for each bundle in this stage.
for (auto sb : *sp) {
// Already done?
@@ -812,7 +812,7 @@ namespace yask {
auto& sbbb = sb->getBB();
- // Expand pack BB to encompass bundle BB.
+ // Expand stage BB to encompass bundle BB.
spbb.bb_begin = spbb.bb_begin.minElements(sbbb.bb_begin);
spbb.bb_end = spbb.bb_end.maxElements(sbbb.bb_end);
}
diff --git a/src/kernel/lib/soln_apis.cpp b/src/kernel/lib/soln_apis.cpp
index ff02e266..40fbecc8 100644
--- a/src/kernel/lib/soln_apis.cpp
+++ b/src/kernel/lib/soln_apis.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -162,11 +162,11 @@ namespace yask {
// This must be done after finding WF extensions.
find_bounding_boxes();
- // Copy current settings to packs. Needed here because settings may
+ // Copy current settings to stages. Needed here because settings may
// have been changed via APIs or from call to setupRank() since last
// call to prepare_solution(). This will wipe out any previous
// auto-tuning.
- for (auto& sp : stPacks)
+ for (auto& sp : stStages)
sp->getLocalSettings() = *opts;
// Alloc vars, scratch vars, MPI bufs.
@@ -285,15 +285,15 @@ namespace yask {
" max-halos: " << max_halos.makeDimValStr());
print_temporal_tiling_info();
- // Info about eqs, packs and bundles.
+ // Info about eqs, stages and bundles.
DEBUG_MSG("\n"
- "Num stencil packs: " << stPacks.size() << endl <<
+ "Num stages: " << stStages.size() << endl <<
"Num stencil bundles: " << stBundles.size() << endl <<
"Num stencil equations: " << NUM_STENCIL_EQS);
- // Info on work in packs.
+ // Info on work in stages.
DEBUG_MSG("\nBreakdown of work stats in this rank:");
- for (auto& sp : stPacks)
+ for (auto& sp : stStages)
sp->init_work_stats();
}
@@ -446,13 +446,13 @@ namespace yask {
p->writes_ps = 0.;
p->flops = 0.;
- // Sum work done across packs using per-pack step counters.
+ // Sum work done across stages using per-stage step counters.
double tptime = 0.;
double optime = 0.;
idx_t psteps = 0;
- for (auto& sp : stPacks) {
+ for (auto& sp : stStages) {
- // steps in this pack.
+ // steps in this stage.
idx_t ns = sp->steps_done;
auto& ps = sp->stats;
@@ -468,14 +468,14 @@ namespace yask {
p->nwrites += ps.nwrites;
p->nfpops += ps.nfpops;
- // Adjust pack time to make sure total time is <= compute time.
+ // Adjust stage time to make sure total time is <= compute time.
double ptime = sp->timer.get_elapsed_secs();
ptime = min(ptime, ctime - tptime);
tptime += ptime;
ps.run_time = ptime;
ps.halo_time = 0.;
- // Pack rates.
+ // Stage rates.
idx_t np = tot_domain_pts * ns; // Sum over steps.
ps.reads_ps = 0.;
ps.writes_ps = 0.;
@@ -507,8 +507,8 @@ namespace yask {
" num-est-FP-ops-per-step: " << makeNumStr(double(p->nfpops) / steps_done) << endl <<
" num-points-per-step: " << makeNumStr(tot_domain_pts));
if (psteps != steps_done) {
- DEBUG_MSG(" Work breakdown by stencil pack(s):");
- for (auto& sp : stPacks) {
+ DEBUG_MSG(" Work breakdown by stage(s):");
+ for (auto& sp : stStages) {
idx_t ns = sp->steps_done;
idx_t nreads = sp->tot_reads_per_step;
idx_t nwrites = sp->tot_writes_per_step;
@@ -530,8 +530,8 @@ namespace yask {
" other time (sec): " << makeNumStr(otime) <<
print_pct(otime, rtime));
if (psteps != steps_done) {
- DEBUG_MSG(" Compute-time breakdown by stencil pack(s):");
- for (auto& sp : stPacks) {
+ DEBUG_MSG(" Compute-time breakdown by stage(s):");
+ for (auto& sp : stStages) {
auto& ps = sp->stats;
double ptime = ps.run_time;
string pfx = " '" + sp->get_name() + "' ";
@@ -565,8 +565,8 @@ namespace yask {
" throughput (est-FLOPS): " << makeNumStr(p->flops) << endl <<
" throughput (num-points/sec): " << makeNumStr(p->pts_ps));
if (psteps != steps_done) {
- DEBUG_MSG(" Rate breakdown by stencil pack(s):");
- for (auto& sp : stPacks) {
+ DEBUG_MSG(" Rate breakdown by stage(s):");
+ for (auto& sp : stStages) {
auto& ps = sp->stats;
string pfx = " '" + sp->get_name() + "' ";
DEBUG_MSG(pfx << "throughput (num-reads/sec): " << makeNumStr(ps.reads_ps) << endl <<
@@ -593,7 +593,7 @@ namespace yask {
wait_time.clear();
test_time.clear();
steps_done = 0;
- for (auto& sp : stPacks) {
+ for (auto& sp : stStages) {
sp->timer.clear();
sp->steps_done = 0;
}
diff --git a/src/kernel/lib/stencil_calc.cpp b/src/kernel/lib/stencil_calc.cpp
index ca311332..e6923d31 100644
--- a/src/kernel/lib/stencil_calc.cpp
+++ b/src/kernel/lib/stencil_calc.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -23,7 +23,7 @@ IN THE SOFTWARE.
*****************************************************************************/
-// This file contains implementations of bundle and pack methods.
+// This file contains implementations of bundle and stage methods.
// Also see context_setup.cpp.
#include "yask_stencil.hpp"
@@ -148,7 +148,7 @@ namespace yask {
// If binding threads to sub-blocks and this is the
// binding dim, set stride size and alignment
// granularity to the slab width. Setting the
- // alignment keeps slabs aligned between packs.
+ // alignment keeps slabs aligned between stages.
if (bind_threads && i == bind_posn) {
adj_mb_idxs.stride[i] = bind_slab_pts;
adj_mb_idxs.align[i] = bind_slab_pts;
@@ -757,18 +757,18 @@ namespace yask {
} // adjust_span().
// Timer methods.
- // Start and stop pack timers for final stats and auto-tuners.
- void BundlePack::start_timers() {
+ // Start and stop stage timers for final stats and auto-tuners.
+ void Stage::start_timers() {
auto ts = YaskTimer::get_timespec();
timer.start(&ts);
getAT().timer.start(&ts);
}
- void BundlePack::stop_timers() {
+ void Stage::stop_timers() {
auto ts = YaskTimer::get_timespec();
timer.stop(&ts);
getAT().timer.stop(&ts);
}
- void BundlePack::add_steps(idx_t num_steps) {
+ void Stage::add_steps(idx_t num_steps) {
steps_done += num_steps;
getAT().steps_done += num_steps;
}
@@ -793,16 +793,16 @@ namespace yask {
// Calc the work stats.
// Contains MPI barriers!
- void BundlePack::init_work_stats() {
+ void Stage::init_work_stats() {
STATE_VARS(this);
num_reads_per_step = 0;
num_writes_per_step = 0;
num_fpops_per_step = 0;
- DEBUG_MSG("Pack '" << get_name() << "':\n" <<
+ DEBUG_MSG("Stage '" << get_name() << "':\n" <<
" num bundles: " << size() << endl <<
- " pack scope: " << _pack_bb.make_range_string(domain_dims));
+ " stage scope: " << _stage_bb.make_range_string(domain_dims));
// Bundles.
for (auto* sg : *this) {
@@ -859,10 +859,10 @@ namespace yask {
}
}
}
- DEBUG_MSG(" var-reads per point: " << reads1 << endl <<
- " var-reads in rank: " << makeNumStr(reads_bb) << endl <<
- " var-writes per point: " << writes1 << endl <<
- " var-writes in rank: " << makeNumStr(writes_bb) << endl <<
+ DEBUG_MSG(" var-reads per point: " << reads1 << endl <<
+ " var-reads in rank: " << makeNumStr(reads_bb) << endl <<
+ " var-writes per point: " << writes1 << endl <<
+ " var-writes in rank: " << makeNumStr(writes_bb) << endl <<
" est FP-ops per point: " << fpops1 << endl <<
" est FP-ops in rank: " << makeNumStr(fpops_bb));
diff --git a/src/kernel/lib/stencil_calc.hpp b/src/kernel/lib/stencil_calc.hpp
index 07a026e1..e675dbe4 100644
--- a/src/kernel/lib/stencil_calc.hpp
+++ b/src/kernel/lib/stencil_calc.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -28,8 +28,8 @@ IN THE SOFTWARE.
namespace yask {
// Classes that support evaluation of one stencil bundle
- // and a 'pack' of bundles.
- // A stencil context contains one or more packs.
+ // and a stage of bundles.
+ // A stencil context contains one or more stages.
// A pure-virtual class base for a stencil bundle.
class StencilBundleBase :
@@ -272,26 +272,26 @@ namespace yask {
// A collection of independent stencil bundles.
// "Independent" implies that they may be evaluated
// in any order.
- class BundlePack :
+ class Stage :
public ContextLinker,
public std::vector {
protected:
std::string _name;
- // Union of bounding boxes for all bundles in this pack.
- BoundingBox _pack_bb;
+ // Union of bounding boxes for all bundles in this stage.
+ BoundingBox _stage_bb;
- // Local pack settings.
+ // Local stage settings.
// Only some of these will be used.
- KernelSettings _pack_opts;
+ KernelSettings _stage_opts;
- // Auto-tuner for pack settings.
+ // Auto-tuner for stage settings.
AutoTuner _at;
public:
- // Perf stats for this pack.
+ // Perf stats for this stage.
YaskTimer timer;
idx_t steps_done = 0;
Stats stats;
@@ -306,13 +306,13 @@ namespace yask {
idx_t tot_writes_per_step = 0;
idx_t tot_fpops_per_step = 0;
- BundlePack(StencilContext* context,
+ Stage(StencilContext* context,
const std::string& name) :
ContextLinker(context),
_name(name),
- _pack_opts(*context->get_state()->_opts), // init w/a copy of the base settings.
- _at(context, &_pack_opts, name) { }
- virtual ~BundlePack() { }
+ _stage_opts(*context->get_state()->_opts), // init w/a copy of the base settings.
+ _at(context, &_stage_opts, name) { }
+ virtual ~Stage() { }
const std::string& get_name() {
return _name;
@@ -334,15 +334,15 @@ namespace yask {
}
// Accessors.
- BoundingBox& getBB() { return _pack_bb; }
+ BoundingBox& getBB() { return _stage_bb; }
AutoTuner& getAT() { return _at; }
- KernelSettings& getLocalSettings() { return _pack_opts; }
+ KernelSettings& getLocalSettings() { return _stage_opts; }
- // If using separate pack tuners, return local settings.
+ // If using separate stage tuners, return local settings.
// Otherwise, return one in context.
KernelSettings& getActiveSettings() {
STATE_VARS(this);
- return use_pack_tuners() ? _pack_opts : *opts;
+ return use_stage_tuners() ? _stage_opts : *opts;
}
// Perf-tracking methods.
@@ -350,6 +350,6 @@ namespace yask {
void stop_timers();
void add_steps(idx_t num_steps);
- }; // BundlePack.
+ }; // Stage.
} // yask namespace.
diff --git a/src/kernel/lib/utils.cpp b/src/kernel/lib/utils.cpp
index 716d6c94..c04b7c1a 100644
--- a/src/kernel/lib/utils.cpp
+++ b/src/kernel/lib/utils.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/utils.hpp b/src/kernel/lib/utils.hpp
index a2cc328a..e45d1fa1 100644
--- a/src/kernel/lib/utils.hpp
+++ b/src/kernel/lib/utils.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/yask.hpp b/src/kernel/lib/yask.hpp
index 0619fd9a..803b0161 100644
--- a/src/kernel/lib/yask.hpp
+++ b/src/kernel/lib/yask.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/yask_stencil.hpp b/src/kernel/lib/yask_stencil.hpp
index a345fe28..b2c6f7fa 100644
--- a/src/kernel/lib/yask_stencil.hpp
+++ b/src/kernel/lib/yask_stencil.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/yk_var.cpp b/src/kernel/lib/yk_var.cpp
index b3dbc947..57dee62d 100644
--- a/src/kernel/lib/yk_var.cpp
+++ b/src/kernel/lib/yk_var.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/yk_var.hpp b/src/kernel/lib/yk_var.hpp
index e37c4748..8806360f 100644
--- a/src/kernel/lib/yk_var.hpp
+++ b/src/kernel/lib/yk_var.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/lib/yk_var_apis.cpp b/src/kernel/lib/yk_var_apis.cpp
index 4c8590ba..14c47267 100644
--- a/src/kernel/lib/yk_var_apis.cpp
+++ b/src/kernel/lib/yk_var_apis.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/swig/yask_kernel_api.i b/src/kernel/swig/yask_kernel_api.i
index 7612c101..1031d6b4 100644
--- a/src/kernel/swig/yask_kernel_api.i
+++ b/src/kernel/swig/yask_kernel_api.i
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/tests/var_test.cpp b/src/kernel/tests/var_test.cpp
index 28d3cd0b..44a843bb 100644
--- a/src/kernel/tests/var_test.cpp
+++ b/src/kernel/tests/var_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/tests/yask_kernel_api_exception_test.cpp b/src/kernel/tests/yask_kernel_api_exception_test.cpp
index 60e310a2..a7e6cd7d 100644
--- a/src/kernel/tests/yask_kernel_api_exception_test.cpp
+++ b/src/kernel/tests/yask_kernel_api_exception_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/tests/yask_kernel_api_exception_test.py b/src/kernel/tests/yask_kernel_api_exception_test.py
index 520952a3..9339ade6 100755
--- a/src/kernel/tests/yask_kernel_api_exception_test.py
+++ b/src/kernel/tests/yask_kernel_api_exception_test.py
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/tests/yask_kernel_api_test.cpp b/src/kernel/tests/yask_kernel_api_test.cpp
index 238ec951..254c5723 100644
--- a/src/kernel/tests/yask_kernel_api_test.cpp
+++ b/src/kernel/tests/yask_kernel_api_test.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/tests/yask_kernel_api_test.py b/src/kernel/tests/yask_kernel_api_test.py
index 479275ea..11dd1897 100755
--- a/src/kernel/tests/yask_kernel_api_test.py
+++ b/src/kernel/tests/yask_kernel_api_test.py
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/yask.sh b/src/kernel/yask.sh
index 1043f9b0..5d450efe 100755
--- a/src/kernel/yask.sh
+++ b/src/kernel/yask.sh
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/src/kernel/yask_main.cpp b/src/kernel/yask_main.cpp
index fda56817..593410f8 100644
--- a/src/kernel/yask_main.cpp
+++ b/src/kernel/yask_main.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -217,7 +217,7 @@ struct MySettings {
" \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n"
" \u2502 Y.A.S.K. \u2500\u2500 Yet Another Stencil Kit \u2502\n"
" \u2502 https://github.com/intel/yask \u2502\n"
- " \u2502 Copyright (c) 2014-2019, Intel Corporation \u2502\n"
+ " \u2502 Copyright (c) 2014-2020, Intel Corporation \u2502\n"
" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n"
"\n"
"Version: " << yask_get_version_string() << endl <<
diff --git a/src/stencils/AwpStencil.cpp b/src/stencils/AwpStencil.cpp
index 8c0706ab..bd996651 100644
--- a/src/stencils/AwpStencil.cpp
+++ b/src/stencils/AwpStencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/ElasticStencil/Elastic2Stencil.hpp b/src/stencils/ElasticStencil/Elastic2Stencil.hpp
index e3004363..49dc23ef 100644
--- a/src/stencils/ElasticStencil/Elastic2Stencil.hpp
+++ b/src/stencils/ElasticStencil/Elastic2Stencil.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/ElasticStencil/ElasticStencil.hpp b/src/stencils/ElasticStencil/ElasticStencil.hpp
index eb58d204..8bee46ea 100644
--- a/src/stencils/ElasticStencil/ElasticStencil.hpp
+++ b/src/stencils/ElasticStencil/ElasticStencil.hpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/FSGElastic2Stencil.cpp b/src/stencils/FSGElastic2Stencil.cpp
index fbe2060d..d40e671e 100644
--- a/src/stencils/FSGElastic2Stencil.cpp
+++ b/src/stencils/FSGElastic2Stencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/FSGElasticStencil.cpp b/src/stencils/FSGElasticStencil.cpp
index 6a2caaeb..3db84db2 100644
--- a/src/stencils/FSGElasticStencil.cpp
+++ b/src/stencils/FSGElasticStencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/Iso3dfdStencil.cpp b/src/stencils/Iso3dfdStencil.cpp
index 6bfc1763..b50e6815 100644
--- a/src/stencils/Iso3dfdStencil.cpp
+++ b/src/stencils/Iso3dfdStencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/SSGElastic2Stencil.cpp b/src/stencils/SSGElastic2Stencil.cpp
index 9a7dd0a7..4b974547 100644
--- a/src/stencils/SSGElastic2Stencil.cpp
+++ b/src/stencils/SSGElastic2Stencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/SSGElasticStencil.cpp b/src/stencils/SSGElasticStencil.cpp
index 9f40b12b..e43b3102 100644
--- a/src/stencils/SSGElasticStencil.cpp
+++ b/src/stencils/SSGElasticStencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/SimpleStencils.cpp b/src/stencils/SimpleStencils.cpp
index b1b20edc..f67e1c50 100644
--- a/src/stencils/SimpleStencils.cpp
+++ b/src/stencils/SimpleStencils.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/TTIStencil.cpp b/src/stencils/TTIStencil.cpp
index 9fa11a84..736ce17f 100644
--- a/src/stencils/TTIStencil.cpp
+++ b/src/stencils/TTIStencil.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
diff --git a/src/stencils/TestStencils.cpp b/src/stencils/TestStencils.cpp
index 4d9f5aa1..9967c145 100644
--- a/src/stencils/TestStencils.cpp
+++ b/src/stencils/TestStencils.cpp
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
-Copyright (c) 2014-2019, Intel Corporation
+Copyright (c) 2014-2020, Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
@@ -444,7 +444,7 @@ namespace {
static TestReverseStencil TestReverseStencil_instance;
// Test dependent equations.
- // These will create 2 stencil packs that will be applied in sequence
+ // These will create 2 stages that will be applied in sequence
// for each time-step.
class TestDepStencil1 : public TestBase {
@@ -457,7 +457,7 @@ namespace {
public:
TestDepStencil1(int radius=2) :
- TestBase("test_dep_1d", radius) { }
+ TestBase("test_stages_1d", radius) { }
// Define equation to apply to all points in 'A' and 'B' vars.
virtual void define() {
@@ -486,7 +486,7 @@ namespace {
public:
TestDepStencil2(int radius=2) :
- TestBase("test_dep_2d", radius) { }
+ TestBase("test_stages_2d", radius) { }
// Define equation to apply to all points in 'A' and 'B' vars.
virtual void define() {
@@ -515,7 +515,7 @@ namespace {
public:
TestDepStencil3(int radius=2) :
- TestBase("test_dep_3d", radius) { }
+ TestBase("test_stages_3d", radius) { }
// Define equation to apply to all points in 'A' and 'B' vars.
virtual void define() {
diff --git a/utils/bin/analyze_trace.pl b/utils/bin/analyze_trace.pl
index 6e5ce984..d6fbe051 100755
--- a/utils/bin/analyze_trace.pl
+++ b/utils/bin/analyze_trace.pl
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/convert_v2_stencil.pl b/utils/bin/convert_v2_stencil.pl
index 705ceb57..6548e4b4 100755
--- a/utils/bin/convert_v2_stencil.pl
+++ b/utils/bin/convert_v2_stencil.pl
@@ -3,7 +3,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/gen_layouts.pl b/utils/bin/gen_layouts.pl
index 3be92cf0..d30bb9ea 100755
--- a/utils/bin/gen_layouts.pl
+++ b/utils/bin/gen_layouts.pl
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/gen_loops.pl b/utils/bin/gen_loops.pl
index fe10000f..c041a763 100755
--- a/utils/bin/gen_loops.pl
+++ b/utils/bin/gen_loops.pl
@@ -3,7 +3,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/view_asm.pl b/utils/bin/view_asm.pl
index 98f7d5e5..881fea96 100755
--- a/utils/bin/view_asm.pl
+++ b/utils/bin/view_asm.pl
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/yask_log_to_csv.pl b/utils/bin/yask_log_to_csv.pl
index bd5922ba..e9766b89 100755
--- a/utils/bin/yask_log_to_csv.pl
+++ b/utils/bin/yask_log_to_csv.pl
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/yask_tuner.pl b/utils/bin/yask_tuner.pl
index 3b6bbc79..f9f26f73 100755
--- a/utils/bin/yask_tuner.pl
+++ b/utils/bin/yask_tuner.pl
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/bin/yask_tuner_summary.csh b/utils/bin/yask_tuner_summary.csh
index 86467dc7..54d9740c 100755
--- a/utils/bin/yask_tuner_summary.csh
+++ b/utils/bin/yask_tuner_summary.csh
@@ -2,7 +2,7 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/lib/CmdLine.pm b/utils/lib/CmdLine.pm
index 2c739c10..d95f5da5 100644
--- a/utils/lib/CmdLine.pm
+++ b/utils/lib/CmdLine.pm
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
diff --git a/utils/lib/YaskUtils.pm b/utils/lib/YaskUtils.pm
index 7bbfb218..9d574c54 100644
--- a/utils/lib/YaskUtils.pm
+++ b/utils/lib/YaskUtils.pm
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
-## Copyright (c) 2014-2019, Intel Corporation
+## Copyright (c) 2014-2020, Intel Corporation
##
## Permission is hereby granted, free of charge, to any person obtaining a copy
## of this software and associated documentation files (the "Software"), to
@@ -230,7 +230,7 @@ sub getResultsFromLine($$) {
}
# If auto-tuner is run globally, capture updated values.
- # Invalidate settings overridden by auto-tuner on multiple packs.
+ # Invalidate settings overridden by auto-tuner on multiple stages.
elsif ($line =~ /^auto-tuner(.).*size:/) {
my $c = $1;