Releases: intel/yask
Version 4.00.03
- Some bug fixes for APIs and API tests,
- New API yk_env::finalize(), which is also called automatically upon env destruction.
Version 4.00.00
Major changes include
- GPU offloading via OpenMP device support.
- Default compiler and run-time libraries are now from Intel(R) oneAPI HPC kit.
- Changes to tiling hierarchy.
- More efficient data packing and unpacking during halo exchanges.
See README.md and tutorial for more information on these and other changes.
Version 3.05.07
Small changes:
- Improve support for LLVM-based Intel compilers. Compile with YK_CXX='mpiicpc -cxx=icpx'.
- Update copyright to 2021.
Version 3.05.05
Some internal restructuring. Should not affect usage, output, or performance.
Version 3.05.00
Main changes:
- Shared-memory is now default for intra-node halo communication.
- Improvements in AVX2 code generation.
- Better handling of different forms of index expressions.
Version 3.04.01
Main changes:
- Update copyright for 2020.
- Change old terms "pack" and "pass" to new term "stage".
- Updates in OpenMP calls for icc version 19.1.1.217.
Version 3.03.00
Main changes:
- Added ability to generate 256-bit-wide SIMD instructions using the AVX512 instruction set via "arch=avx512lo".
- Removed some compiler warnings and cleaned up some code internally.
Version 3.02.00
Major changes:
- Added option to set time for each auto-tuner trial.
- Improved compiler-option settings in Makefile, enabling clang++.
Version 3.01.01
Most significant bits:
- Moved setup of debug output from
yk_solution
toyk_env
, ensuring that debug output fromnew_solution()
is captured properly. - Relocated hosting of API docs and tutorial to http://intel.github.io/yask/api/html/index.html.
- Fix some potential issues with topological sort of equations in compiler.
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.