Add emulation test for breakdown zero values
Some checks failed
CI / build:debug (pull_request) Failing after 1m16s
CI / build:compilers (pull_request) Failing after 1m26s
CI / build:nompi (pull_request) Failing after 1m32s
CI / build:local (pull_request) Failing after 1m47s
CI / build:rt (pull_request) Failing after 1m48s
CI / build:asan (pull_request) Failing after 2m17s
Some checks failed
CI / build:debug (pull_request) Failing after 1m16s
CI / build:compilers (pull_request) Failing after 1m26s
CI / build:nompi (pull_request) Failing after 1m32s
CI / build:local (pull_request) Failing after 1m47s
CI / build:rt (pull_request) Failing after 1m48s
CI / build:asan (pull_request) Failing after 2m17s
This commit is contained in:
parent
768a15b15b
commit
be63004f38
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (c) 2021-2023 Barcelona Supercomputing Center (BSC)
|
/* Copyright (c) 2021-2024 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,6 +62,7 @@ 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)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2022-2023 Barcelona Supercomputing Center (BSC)
|
# Copyright (c) 2022-2024 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,5 +14,6 @@ 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")
|
||||||
|
35
test/emu/nanos6/breakdown-write-zero.c
Normal file
35
test/emu/nanos6/breakdown-write-zero.c
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* 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;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user