Compare commits

..

No commits in common. "3a300c816ee83e04b4e334cb80c9d37e0b2c71f7" and "d5d5f2fcd4d8d4fc2d3e4f6ee25e4ad814f8505a" have entirely different histories.

6 changed files with 4 additions and 56 deletions

View File

@ -7,11 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Fixed
- Fix breakdown model error that was preventing a zero value to be written in
the PRV trace.
## [1.9.0] - 2024-04-25 ## [1.9.0] - 2024-04-25
### Added ### Added

View File

@ -1,4 +1,4 @@
/* Copyright (c) 2023-2024 Barcelona Supercomputing Center (BSC) /* Copyright (c) 2023 Barcelona Supercomputing Center (BSC)
* SPDX-License-Identifier: GPL-3.0-or-later */ * SPDX-License-Identifier: GPL-3.0-or-later */
#include "breakdown.h" #include "breakdown.h"
@ -239,11 +239,6 @@ model_nanos6_breakdown_connect(struct emu *emu)
long type = PRV_NANOS6_BREAKDOWN; long type = PRV_NANOS6_BREAKDOWN;
long flags = PRV_SKIPDUP; long flags = PRV_SKIPDUP;
/* We may emit zero at the start, when an input changes and all
* the other sort output channels write a zero in the output,
* before the last value is set in prv.c. */
flags |= PRV_ZERO;
struct chan *out = sort_get_output(&bemu->sort, i); struct chan *out = sort_get_output(&bemu->sort, i);
if (prv_register(prv, i, type, bay, out, flags)) { if (prv_register(prv, i, type, bay, out, flags)) {
err("prv_register failed"); err("prv_register failed");

View File

@ -1,4 +1,4 @@
/* Copyright (c) 2021-2024 Barcelona Supercomputing Center (BSC) /* Copyright (c) 2021-2023 Barcelona Supercomputing Center (BSC)
* SPDX-License-Identifier: GPL-3.0-or-later */ * SPDX-License-Identifier: GPL-3.0-or-later */
#ifndef INSTR_H #ifndef INSTR_H
@ -62,7 +62,6 @@ int64_t get_delta(void);
} }
INSTR_3ARG(instr_thread_execute, "OHx", int32_t, cpu, int32_t, creator_tid, uint64_t, tag) INSTR_3ARG(instr_thread_execute, "OHx", int32_t, cpu, int32_t, creator_tid, uint64_t, tag)
INSTR_1ARG(instr_thread_affinity_set, "OAs", int32_t, cpu)
static inline void static inline void
instr_thread_end(void) instr_thread_end(void)

View File

@ -1,4 +1,4 @@
# Copyright (c) 2022-2024 Barcelona Supercomputing Center (BSC) # Copyright (c) 2022-2023 Barcelona Supercomputing Center (BSC)
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
test_emu(nested-tasks.c) test_emu(nested-tasks.c)
@ -14,6 +14,5 @@ test_emu(switch-same-type.c)
test_emu(sponge.c) test_emu(sponge.c)
test_emu(sponge-breakdown.c BREAKDOWN) test_emu(sponge-breakdown.c BREAKDOWN)
test_emu(breakdown-no-black.c BREAKDOWN) test_emu(breakdown-no-black.c BREAKDOWN)
test_emu(breakdown-write-zero.c MP BREAKDOWN)
test_emu(rerun-task-bad.c SHOULD_FAIL test_emu(rerun-task-bad.c SHOULD_FAIL
REGEX "body_execute: body(id=1,taskid=1) is not allowed to run again") REGEX "body_execute: body(id=1,taskid=1) is not allowed to run again")

View File

@ -1,35 +0,0 @@
/* Copyright (c) 2024 Barcelona Supercomputing Center (BSC)
* SPDX-License-Identifier: GPL-3.0-or-later */
#include <stdint.h>
#include <stdlib.h>
#include "compat.h"
#include "instr.h"
#include "instr_nanos6.h"
/* Cause the sort module to write zeros in some rows when the breakdown model is
* enabled, which shouldn't cause a panic. */
int
main(void)
{
int rank = atoi(getenv("OVNI_RANK"));
int nranks = atoi(getenv("OVNI_NRANKS"));
if (nranks < 2)
die("need at least two ranks");
instr_start(rank, nranks);
instr_nanos6_init();
/* Change the subsystem in a single thread, while the rest remain NULL.
* This shouldn't cause a panic, as writting zero is ok for the other
* sort outputs. */
if (rank == 0) {
instr_nanos6_worker_loop_enter();
instr_nanos6_worker_loop_exit();
}
instr_end();
return 0;
}

View File

@ -1,4 +1,4 @@
# Copyright (c) 2022-2024 Barcelona Supercomputing Center (BSC) # Copyright (c) 2022-2023 Barcelona Supercomputing Center (BSC)
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
find_package(Nanos6) find_package(Nanos6)
@ -57,8 +57,3 @@ nanos6_rt_test(spawn-task-external-bad.c SHOULD_FAIL
nanos6_rt_test(simple-task.c NAME simple-task-level-1 LEVEL 1) nanos6_rt_test(simple-task.c NAME simple-task-level-1 LEVEL 1)
nanos6_rt_test(simple-task.c NAME simple-task-level-2 LEVEL 2) nanos6_rt_test(simple-task.c NAME simple-task-level-2 LEVEL 2)
nanos6_rt_test(simple-task.c NAME simple-task-level-3 LEVEL 3) nanos6_rt_test(simple-task.c NAME simple-task-level-3 LEVEL 3)
# Same but with breakdown enabled
nanos6_rt_test(simple-task.c NAME simple-task-breakdown-level-1 LEVEL 1 BREAKDOWN)
nanos6_rt_test(simple-task.c NAME simple-task-breakdown-level-2 LEVEL 2 BREAKDOWN)
nanos6_rt_test(simple-task.c NAME simple-task-breakdown-level-3 LEVEL 3 BREAKDOWN)