()
| 106 | default="random", |
| 107 | help="Upstream gradient mode used with --check-grad.", |
| 108 | ) |
| 109 | parser.add_argument("--grad-seed", type=int, default=123, help="Seed for --grad-mode random.") |
| 110 | parser.add_argument( |
| 111 | "--json", action="store_true", help="Print the full structured report as JSON." |
| 112 | ) |
| 113 | return parser.parse_args() |
| 114 | |
| 115 | |
| 116 | def main() -> None: |
| 117 | args = parse_args() |
| 118 | dtype = _parse_dtype(args.dtype) |
| 119 | device = _select_device(args.device) |
| 120 | candidate = make_candidate(args) |
| 121 | case = make_operator_case(args, dtype, device) |
| 122 | report = run_operator_suite( |
| 123 | args.op, |
| 124 | candidates=[candidate], |
| 125 | cases=[case], |
| 126 | check_grad=args.check_grad, |
| 127 | grad_mode=args.grad_mode, |
| 128 | grad_seed=args.grad_seed, |
| 129 | ) |
| 130 | |
| 131 | if args.json: |
| 132 | print(json.dumps(report.to_dict(), indent=2, default=str)) |
no test coverage detected