Skip to content

Commit 5453bf7

Browse files
author
Zonglin Peng
committed
Update on "[Jarvis][Nightly] address error jarvis-nightly-operators-test-aten-permute-copy-out"
https://docs.google.com/spreadsheets/d/12DsKcvPcGgxnZ8shgn6j8PmoOQUfy5GgUg974g1iO18/edit?gid=0#gid=0 Differential Revision: [D85364547](https://our.internmc.facebook.com/intern/diff/D85364547/) [ghstack-poisoned]
2 parents 30be5ff + e977f0f commit 5453bf7

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

backends/cadence/utils/facto_util.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,26 @@ def _positive_valid_dim_list(tensor: torch.Tensor, length: int) -> set[tuple[int
3131
"""
3232
Generate valid permutations using only positive dimension indices.
3333
This is required for Cadence/Xtensa kernels that don't support negative indexing.
34-
34+
3535
Args:
3636
tensor: Input tensor to generate permutations for
3737
length: Number of dimensions in the permutation (must equal tensor.dim())
38-
38+
3939
Returns:
4040
Set of valid permutation tuples containing only positive indices [0, rank-1]
4141
"""
4242
if length > tensor.dim():
4343
return set()
44-
44+
4545
n = tensor.dim()
4646
pool = list(range(n))
47-
47+
4848
# Generate multiple valid permutations (only positive indices)
4949
permutations: set[tuple[int, ...]] = set()
5050
for _ in range(3): # Generate 3 different permutations for diversity
5151
perm = tuple(rm.get_random().sample(pool, length))
5252
permutations.add(perm)
53-
53+
5454
return permutations
5555

5656

@@ -375,7 +375,9 @@ def random_size_constraint(deps: object, r: int, d: int) -> int:
375375
if index == 1: # Only apply zero-prevention to divisor
376376
tensor_constraints.extend(
377377
[
378-
cp.Value.Ne(lambda deps, dtype, struct: 0), # Prevent division by zero
378+
cp.Value.Ne(
379+
lambda deps, dtype, struct: 0
380+
), # Prevent division by zero
379381
cp.Value.Le(lambda deps, dtype, struct: 2**3),
380382
cp.Size.Le(lambda deps, r, d: 2**3),
381383
cp.Rank.Le(lambda deps: 2**2),
@@ -410,7 +412,9 @@ def random_size_constraint(deps: object, r: int, d: int) -> int:
410412
cp.Dtype.In(lambda deps: [torch.int64, torch.int32, torch.float32]),
411413
cp.Value.Ge(lambda deps, dtype, struct: -(2**4)),
412414
cp.Value.Le(lambda deps, dtype, struct: 2**4),
413-
cp.Value.Ne(lambda deps, dtype, struct: 0), # Prevent division by zero
415+
cp.Value.Ne(
416+
lambda deps, dtype, struct: 0
417+
), # Prevent division by zero
414418
cp.Rank.Ge(lambda deps: 1),
415419
cp.Rank.Eq(lambda deps: deps[0].dim()),
416420
cp.Size.Eq(lambda deps, r, d: fn.safe_size(deps[0], d)),
@@ -522,7 +526,9 @@ def facto_testcase_gen( # noqa: C901
522526
spec.inspec[index].constraints.extend(
523527
[
524528
cp.Length.Ge(lambda deps: 1),
525-
cp.Length.Eq(lambda deps: deps[0].dim()), # Must be a complete permutation
529+
cp.Length.Eq(
530+
lambda deps: deps[0].dim()
531+
), # Must be a complete permutation
526532
cp.Optional.Eq(lambda deps: False),
527533
# Generate valid permutations using only positive indices
528534
# Cadence/Xtensa hardware kernels do not support negative dimension indices

0 commit comments

Comments
 (0)