Skip to content

Commit 389f325

Browse files
authored
Merge pull request #284 from intel/develop
Develop
2 parents 23e8c13 + 0f4dc38 commit 389f325

4 files changed

Lines changed: 25 additions & 7 deletions

File tree

src/common/common_utils.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ namespace yask {
4747
// https://semver.org/.
4848

4949
// Format: "major.minor.patch[-alpha|-beta]".
50-
const string version = "4.04.06";
50+
const string version = "4.04.07";
5151

5252
string yask_get_version_string() {
5353
return version;

src/kernel/Makefile

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,19 @@ endif
7070

7171
# YASK compiler settings for offload.
7272
ifeq ($(offload),1)
73-
inner_loop_dim := 1
74-
outer_domain_layout := 1
73+
74+
# BKMs for Intel GPUs.
75+
ifeq ($(cxx_is_llvm_intel),1)
76+
outer_domain_layout := 1
77+
early_loads := 0
78+
min_buffer_len := 1
79+
inner_loop_dim := 1
80+
endif
81+
82+
# BKMs for Nvidia GPUs.
7583
ifeq ($(cxx_is_nv),1)
84+
outer_domain_layout := 0
85+
early_loads := 0
7686
min_buffer_len := 99
7787
endif
7888
endif
@@ -482,7 +492,11 @@ RANK_LOOP_CODE := $(RANK_LOOP_MODS) loop($(RANK_LOOP_ORDER)) { }
482492
# 'omp' modifier creates an outer OpenMP loop so that each block is assigned
483493
# to a top-level OpenMP thread.
484494
MEGA_BLOCK_LOOP_MODS :=
485-
MEGA_BLOCK_LOOP_OMP := omp parallel for schedule(dynamic,1) proc_bind(spread)
495+
ifeq ($(cxx_is_llvm_intel),1)
496+
MEGA_BLOCK_LOOP_OMP := omp parallel for schedule(dynamic,1) proc_bind(spread)
497+
else
498+
MEGA_BLOCK_LOOP_OMP := omp parallel for schedule(dynamic,1)
499+
endif
486500
MEGA_BLOCK_LOOP_FLAGS := -prefix mega_block_ -omp '$(MEGA_BLOCK_LOOP_OMP)'
487501
MEGA_BLOCK_LOOP_ORDER := DOMAIN_LOOP_DIMS
488502
MEGA_BLOCK_LOOP_CODE := $(MEGA_BLOCK_LOOP_MODS) omp loop($(MEGA_BLOCK_LOOP_ORDER)) { }
@@ -501,7 +515,11 @@ BLOCK_LOOP_CODE := $(BLOCK_LOOP_MODS) loop($(BLOCK_LOOP_ORDER)) { }
501515
# nested OpenMP thread. The OpenMP construct is not used when running with
502516
# '-bind_inner_threads' because another parallel section is created.
503517
MICRO_BLOCK_LOOP_MODS :=
504-
MICRO_BLOCK_LOOP_OMP := omp parallel for schedule(static,1) proc_bind(spread)
518+
ifeq ($(cxx_is_llvm_intel),1)
519+
MICRO_BLOCK_LOOP_OMP := omp parallel for schedule(static,1) proc_bind(spread)
520+
else
521+
MICRO_BLOCK_LOOP_OMP := omp parallel for schedule(static,1)
522+
endif
505523
MICRO_BLOCK_LOOP_FLAGS := -prefix micro_block_ -omp '$(MICRO_BLOCK_LOOP_OMP)'
506524
MICRO_BLOCK_LOOP_ORDER := DOMAIN_LOOP_DIMS
507525
MICRO_BLOCK_LOOP_CODE := $(MICRO_BLOCK_LOOP_MODS) omp loop($(MICRO_BLOCK_LOOP_ORDER)) { }

src/kernel/lib/stencil_calc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ namespace yask {
205205
// Start threads within a block. Each of these threads
206206
// will eventually work on a separate nano-block. This
207207
// is nested within an OMP outer thread.
208-
_Pragma("omp parallel proc_bind(spread)") {
208+
_Pragma("omp parallel") {
209209
assert(omp_get_level() == 2);
210210
assert(omp_get_num_threads() == nbt);
211211
int inner_thread_idx = omp_get_thread_num();

src/kernel/yask.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ if [[ $doval == 1 ]]; then
448448
fi
449449

450450
# Commands to capture some important system status and config info for benchmark documentation.
451-
config_cmds="sleep 1; uptime; lscpu; cpuinfo -A; sed '/^$/q' /proc/cpuinfo; cpupower frequency-info; uname -a; $dump /etc/system-release; $dump /proc/cmdline; $dump /proc/meminfo; free -gt; numactl -H; ulimit -a; ipcs -l; env | awk '/YASK/ { print \"env:\", \$1 }'"
451+
config_cmds="sleep 1; uptime; lscpu; cpuinfo -A; sed '/^$/q' /proc/cpuinfo; cpupower frequency-info; uname -a; $dump /etc/system-release; $dump /proc/cmdline; $dump /proc/meminfo; free -gt; numactl -H; ulimit -a; ipcs -l; module list; env | awk '/YASK/ { print \"env:\", \$1 }'"
452452

453453
# Add settings for offload kernel.
454454
if [[ $is_offload == 1 ]]; then

0 commit comments

Comments
 (0)