Fix breakdown model forbidden value 0 error
All checks were successful
CI / build:debug (pull_request) Successful in 1m32s
CI / build:nompi (pull_request) Successful in 1m40s
CI / build:compilers (pull_request) Successful in 1m39s
CI / build:local (pull_request) Successful in 1m52s
CI / build:rt (pull_request) Successful in 2m0s
CI / build:asan (pull_request) Successful in 2m25s
All checks were successful
CI / build:debug (pull_request) Successful in 1m32s
CI / build:nompi (pull_request) Successful in 1m40s
CI / build:compilers (pull_request) Successful in 1m39s
CI / build:local (pull_request) Successful in 1m52s
CI / build:rt (pull_request) Successful in 2m0s
CI / build:asan (pull_request) Successful in 2m25s
When a event causes a new value in the sort module, the first time it will write all output values, which most of them will be zero. Writting a zero value is forbidden by default, so we relax the constraint with the PRV_ZERO flag.
This commit is contained in:
parent
be63004f38
commit
df0cfc5b35
@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [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
|
||||
|
||||
### Added
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2023 Barcelona Supercomputing Center (BSC)
|
||||
/* Copyright (c) 2023-2024 Barcelona Supercomputing Center (BSC)
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later */
|
||||
|
||||
#include "breakdown.h"
|
||||
@ -239,6 +239,11 @@ model_nanos6_breakdown_connect(struct emu *emu)
|
||||
long type = PRV_NANOS6_BREAKDOWN;
|
||||
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);
|
||||
if (prv_register(prv, i, type, bay, out, flags)) {
|
||||
err("prv_register failed");
|
||||
|
Loading…
Reference in New Issue
Block a user