Version 3.00.00
Major release:
-
The old (v1 and v2) internal DSL that used undocumented types such as
SolutionBase
andGridValue
and undocumented macros such as
MAKE_GRID
was replaced with an expanded version of the documented YASK
compiler API. Canonical v2 DSL code should still work using the
Soln.hpp
backward-compatibility header file. To convert v2 DSL code
to v3 format, use the./utils/bin/convert_v2_stencil.pl
utility.
Conversion is recommended. -
For both the compiler and kernel APIs, all uses of the term "grid" were
changed to "var". (Historically, early versions of YASK allowed only
variables whose elements were points on the domain grid, so the terms
were essentially interchangeable. Later, variables became more flexible.
They could be defined with a subset of the domain dimensions, include
non-domain or "miscellaneous" indices, or even be simple scalar values,
so the term "grid" to describe any variable became inaccurate. This
change addresses that contradiction.) Again, backward-compatibility
features in the API should maintain functionality of v2 DSL and kernel
code. -
The default strings used in the kernel library and filenames to identify
the targeted architecture were changed from Intel CPU codenames to
[approximate] instruction-set architecture (ISA) names "avx512", "avx2",
"avx", "knl", "knc", or "intel64". The YASK targets used in the YASK
compiler were updated to be consistent with this list. -
Many smaller changes and fixes.