Skip to content

Commit

Permalink
Merge pull request #296 from intel/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
chuckyount authored Jun 17, 2024
2 parents 553e825 + 12a7dc1 commit 546607c
Show file tree
Hide file tree
Showing 134 changed files with 325 additions and 173 deletions.
21 changes: 11 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
## Copyright (c) 2014-2023, Intel Corporation
## Copyright (c) 2014-2024, 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
Expand Down Expand Up @@ -109,15 +109,15 @@ api-docs: docs/api/html/index.html
compiler-api:
$(YC_MAKE) api

kernel-api:
$(YK_MAKE) api
cxx-kernel-api:
$(YK_MAKE) cxx-api

py-kernel-api:
$(YK_MAKE) py-api

api:
$(YC_MAKE) $@
$(YK_MAKE) $@
kernel-api: cxx-kernel-api py-kernel-api

api: compiler-api kernel-api

# Remove old generated API documents and make new ones.
docs/api/html/index.html: include/*.hpp include/*/*.hpp docs/api/*.*
Expand All @@ -142,11 +142,11 @@ clean:
$(YK_MAKE) $@

# Remove executables, generated documentation, etc. (not logs).
# Use 'find *' instead of 'find .' to avoid searching in '.git'.
# Avoid 'find .' to prevent searching in '.git'.
realclean: clean
rm -rf $(LIB_OUT_DIR) $(BIN_OUT_DIR) $(BUILD_OUT_DIR)
rm -fv TAGS '*~'
- find src include utils docs -name '*~' -print -delete
- find src include utils docs yask -name '*~' -print -delete
- find src -name '*.optrpt' -print -delete
- find src -name __pycache__ -print -delete
$(YC_MAKE) $@
Expand Down Expand Up @@ -292,6 +292,7 @@ all-tests: compiler-api common-unit-tests
all:
$(MAKE) realclean
$(MAKE) tags
$(MAKE) default
$(MAKE) api-all
$(MAKE) docs
$(MAKE) compiler
$(MAKE) compiler-api
$(MAKE) all-tests
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ and Intel(R) graphics processors.

### Pre-requisites:
* Intel(R) [oneAPI](https://software.intel.com/content/www/us/en/develop/tools/oneapi.html)
HPC Toolkit for Linux (toolkit 2023.2 or later recommended); this will install
HPC Toolkit for Linux (toolkit 2024.1 or later recommended); this will install
the Intel(R) oneAPI DPC++/C++ Compiler and the Intel(R) MPI Library.
See compiler notes below under version 4.00.00 changes.
* Gnu C++ compiler, g++ (8.5.0 or later recommended).
Even when using Intel compilers, a g++ installation is required.
(Even when using Intel compilers, a g++ installation is required.)
* Linux libraries `librt` and `libnuma`.
* Grep.
* Perl (v5 or later).
Expand Down Expand Up @@ -68,6 +68,12 @@ and Intel(R) graphics processors.

## Backward-compatibility notices
### Version 4
* Version 4.05.03 has a few notices:
- The default stencil name "iso3dfd" is removed; this means
you must always set the stencil name when building a kernel -- there is no default.
If you get an error about the "undefined" stencil, this means you didn't set the
stencil name.
- Some of the API-related Makefile target names were changed for consistency.
* Version 4.05.00 removes the "out-of-band" genetic-algorithm tuning script
due to lack of resources for maintenance and testing.
* Version 4.04.00 deprecates the existing `void* {set,get}_elements_in_slice()`
Expand Down
2 changes: 1 addition & 1 deletion YASK-LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yask__common__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yask__common__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yask__compiler__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yask__compiler__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yask__kernel__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yask__kernel__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yc__node__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yc__node__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yc__solution__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yc__solution__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yk__solution__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yk__solution__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/api/html/yk__var__api_8hpp_source.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<a href="yk__var__api_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*****************************************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"></span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">YASK: Yet Another Stencil Kit</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2023, Intel Corporation</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment">Copyright (c) 2014-2024, Intel Corporation</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"></span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to</span></div>
Expand Down
2 changes: 1 addition & 1 deletion include/aux/Soln.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/aux/yc_node_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/aux/yc_solution_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/aux/yk_solution_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/aux/yk_var_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/yask_common_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/yask_compiler_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion include/yask_kernel_api.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion src/common/combo.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
2 changes: 1 addition & 1 deletion src/common/combo.hpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down
15 changes: 10 additions & 5 deletions src/common/common.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
##############################################################################
## YASK: Yet Another Stencil Kit
## Copyright (c) 2014-2023, Intel Corporation
## Copyright (c) 2014-2024, 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
Expand Down Expand Up @@ -78,9 +78,6 @@ INDENT := $(UTILS_BIN_DIR)/yask_indent.sh
PYTHON := python3
SHELL := /bin/bash
SO_SUFFIX := .so
RUN_PREFIX := env I_MPI_DEBUG=+5 I_MPI_PRINT_VERSION=1 OMP_DISPLAY_ENV=VERBOSE KMP_VERSION=1
RUN_PYTHON := $(RUN_PREFIX) \
env PYTHONPATH=$(LIB_DIR):$(LIB_OUT_DIR):$(PY_OUT_DIR):$(YASK_DIR):$(PYTHONPATH) $(PYTHON)

# Find include path needed for python interface.
PYINC := $(addprefix -I,$(shell $(PYTHON) -c \
Expand Down Expand Up @@ -120,7 +117,7 @@ DBL_EPSILON_CXXFLAG := -DDBL_EPSILON=2.2204460492503131e-16
arch ?= $(shell $(BASH) $(SRC_DIR)/kernel/yask.sh -show_arch)

# Set 'stencil' to the name of the YASK solution to build.
stencil ?= iso3dfd
stencil ?= unspecified

# Set 'real_bytes' to number of bytes in a float (4 or 8).
real_bytes ?= 4
Expand Down Expand Up @@ -233,6 +230,14 @@ endif
YK_LIBS := -lrt
YK_LFLAGS := -Wl,-rpath=$(LIB_OUT_DIR) -L$(LIB_OUT_DIR) -l$(YK_EXT_BASE)

# Prefixes to run commands.
RUN_PREFIX := env I_MPI_DEBUG=+5 I_MPI_PRINT_VERSION=1 OMP_DISPLAY_ENV=VERBOSE KMP_VERSION=1
ifeq ($(offload),1)
RUN_PREFIX += I_MPI_OFFLOAD=2
endif
RUN_PYTHON := $(RUN_PREFIX) \
PYTHONPATH=$(LIB_DIR):$(LIB_OUT_DIR):$(PY_OUT_DIR):$(YASK_DIR):$(PYTHONPATH) $(PYTHON)

# Default number of ranks for running MPI tests.
# 4 tests in-plane diagonal exchanges for 2D and 3D tests.
# 8 tests all exchanges for 3D tests.
Expand Down
6 changes: 3 additions & 3 deletions src/common/common_utils.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*****************************************************************************
YASK: Yet Another Stencil Kit
Copyright (c) 2014-2023, Intel Corporation
Copyright (c) 2014-2024, 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
Expand Down Expand Up @@ -47,7 +47,7 @@ namespace yask {
// https://semver.org/.

// Format: "major.minor.patch[-alpha|-beta]".
const string version = "4.05.02";
const string version = "4.05.03";

string yask_get_version_string() {
return version;
Expand Down Expand Up @@ -623,7 +623,7 @@ namespace yask {
"\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-2023, Intel Corporation \u2502\n"
"\u2502 Copyright (c) 2014-2024, 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"
"Version: " << yask_get_version_string() << endl;

Expand Down
Loading

0 comments on commit 546607c

Please sign in to comment.