diff --git a/src/cunumeric/matrix/batched_cholesky_template.inl b/src/cunumeric/matrix/batched_cholesky_template.inl index 8d266e3f0..d27f25e7a 100644 --- a/src/cunumeric/matrix/batched_cholesky_template.inl +++ b/src/cunumeric/matrix/batched_cholesky_template.inl @@ -57,7 +57,7 @@ struct _cholesky_supported { template struct BatchedCholeskyImpl { - template + template 2)>* = nullptr> void operator()(Array& input_array, Array& output_array) const { using VAL = legate_type_of; @@ -94,8 +94,8 @@ struct BatchedCholeskyImpl { if (shape.empty()) return; - int num_blocks = 1; - for (int i = 0; i < (DIM - 2); ++i) { num_blocks *= (shape.hi[i] - shape.lo[i] + 1); } + int32_t num_blocks = 1; + for (int32_t i = 0; i < (DIM - 2); ++i) { num_blocks *= (shape.hi[i] - shape.lo[i] + 1); } auto m = static_cast(shape.hi[DIM - 2] - shape.lo[DIM - 2] + 1); auto n = static_cast(shape.hi[DIM - 1] - shape.lo[DIM - 1] + 1); @@ -103,7 +103,7 @@ struct BatchedCholeskyImpl { auto block_stride = m * n; - for (int i = 0; i < num_blocks; ++i) { + for (int32_t i = 0; i < num_blocks; ++i) { if constexpr (_cholesky_supported::value) { CopyBlockImpl()(output, input, sizeof(VAL) * block_stride); PotrfImplBody()(output, m, n); @@ -119,6 +119,12 @@ struct BatchedCholeskyImpl { } } } + + template * = nullptr> + void operator()(Array& input_array, Array& output_array) const + { + assert(false); + } }; template