aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorSheri Zhang <sheri.zhang@arm.com>2020-11-05 10:43:37 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2020-11-10 10:44:47 +0000
commitd80792a2d342439d5577b9bc0c9410fbeb70ea5d (patch)
treef42a83af63ce945a24deb5ebe0911da874c69963 /utils
parent030762611478edfb3c371da6b2249b415178ccc1 (diff)
downloadComputeLibrary-d80792a2d342439d5577b9bc0c9410fbeb70ea5d.tar.gz
COMPMID-3887: NEGEMMConvolutionLayer hangs up on num_threads>18
When store the Tensor shape information, the size was clamped to 32bit, which cause the memory allocated is not big enough. Signed-off-by: Sheri Zhang <sheri.zhang@arm.com> Change-Id: I9f7dfcd5595a143b0ed4f6973e20bcd9d776b673 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4331 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/GraphUtils.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/utils/GraphUtils.cpp b/utils/GraphUtils.cpp
index 84f04161a8..e543cabea9 100644
--- a/utils/GraphUtils.cpp
+++ b/utils/GraphUtils.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -272,9 +272,16 @@ bool ImageAccessor::access_tensor(ITensor &tensor)
{
std::tie(permuted_shape, perm) = compute_permutation_parameters(tensor.info()->tensor_shape(), tensor.info()->data_layout());
}
+
+#ifdef __arm__
ARM_COMPUTE_EXIT_ON_MSG_VAR(image_loader->width() != permuted_shape.x() || image_loader->height() != permuted_shape.y(),
"Failed to load image file: dimensions [%d,%d] not correct, expected [%" PRIu32 ",%" PRIu32 "].",
image_loader->width(), image_loader->height(), permuted_shape.x(), permuted_shape.y());
+#else // __arm__
+ ARM_COMPUTE_EXIT_ON_MSG_VAR(image_loader->width() != permuted_shape.x() || image_loader->height() != permuted_shape.y(),
+ "Failed to load image file: dimensions [%d,%d] not correct, expected [%" PRIu64 ",%" PRIu64 "].",
+ image_loader->width(), image_loader->height(), permuted_shape.x(), permuted_shape.y());
+#endif // __arm__
// Fill the tensor with the PPM content (BGR)
image_loader->fill_planar_tensor(tensor, _bgr);
@@ -348,9 +355,16 @@ bool ValidationInputAccessor::access_tensor(arm_compute::ITensor &tensor)
std::tie(permuted_shape, perm) = compute_permutation_parameters(tensor.info()->tensor_shape(),
tensor.info()->data_layout());
}
+
+#ifdef __arm__
ARM_COMPUTE_EXIT_ON_MSG_VAR(jpeg.width() != permuted_shape.x() || jpeg.height() != permuted_shape.y(),
"Failed to load image file: dimensions [%d,%d] not correct, expected [%" PRIu32 ",%" PRIu32 "].",
jpeg.width(), jpeg.height(), permuted_shape.x(), permuted_shape.y());
+#else // __arm__
+ ARM_COMPUTE_EXIT_ON_MSG_VAR(jpeg.width() != permuted_shape.x() || jpeg.height() != permuted_shape.y(),
+ "Failed to load image file: dimensions [%d,%d] not correct, expected [%" PRIu64 ",%" PRIu64 "].",
+ jpeg.width(), jpeg.height(), permuted_shape.x(), permuted_shape.y());
+#endif // __arm__
// Fill the tensor with the JPEG content (BGR)
jpeg.fill_planar_tensor(tensor, _bgr);