Skip to content

Version 3.00.00

Compare
Choose a tag to compare
@chuckyount chuckyount released this 21 Jun 22:07
· 761 commits to master since this release
dfc9285

Major release:

  • The old (v1 and v2) internal DSL that used undocumented types such as
    SolutionBase and GridValue 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.