Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/marian.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Junczys-Dowmunt <marcinjd@microsoft.com>2021-04-11 07:29:17 +0300
committerMarcin Junczys-Dowmunt <marcinjd@microsoft.com>2021-04-11 07:29:17 +0300
commitea5572237243e499fb249d6fb024956ddbd2c09e (patch)
tree280b5b797b70d17cc2d395dd70de458f8d937507
parenta05124176d8869962b717a3557c383406f8c76f4 (diff)
parenta7c3a0b2ef0d3a9ffd952bb1eb97e680633d1515 (diff)
Merge branch 'pmaster'
-rw-r--r--CHANGELOG.md1
-rwxr-xr-xsrc/tensors/cpu/tensor_operators.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e6884d5f..48d4575e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -99,6 +99,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Added a few missing header files in shortlist.h and beam_search.h.
- Improved handling for receiving SIGTERM during training. By default, SIGTERM triggers 'save (now) and exit'. Prior to this fix, batch pre-fetching did not check for this sigal, potentially delaying exit considerably. It now pays attention to that. Also, the default behaviour of save-and-exit can now be disabled on the command line with --sigterm exit-immediately.
- Fix the runtime failures for FASTOPT on 32-bit builds (wasm just happens to be 32-bit) because it uses hashing with an inconsistent mix of uint64_t and size_t.
+- fix beam_search ABORT_IF(beamHypIdx >= beam.size(), "Out of bounds beamHypIdx??"); when enable openmp and OMP_NUM_THREADS > 1
### Changed
- Remove `--clip-gemm` which is obsolete and was never used anyway
diff --git a/src/tensors/cpu/tensor_operators.cpp b/src/tensors/cpu/tensor_operators.cpp
index 1191a2be..d92adba8 100755
--- a/src/tensors/cpu/tensor_operators.cpp
+++ b/src/tensors/cpu/tensor_operators.cpp
@@ -261,12 +261,12 @@ void TransposeFirst3In4(Tensor out, Tensor in, const std::vector<int>& vAxis) {
// find the mapping between the transposed output dimensional indices (oi, oj, ok)
// and original input dimensional indices (i, j, k)
- int oi, oj, ok;
#pragma omp parallel for
for(int k = 0; k < l1; ++k) {
int shift = k * l2 * l3;
for(int j = 0; j < l2; ++j) {
for(int i = 0; i < l3; ++i) {
+ int oi, oj, ok;
if(vAxis[0] == 0) {
if(vAxis[1] == 1) {
oi = i; oj = j; ok = k;