tiny.choir.passes.pass.work
Defined in passes.pass.
API (15)
Actions
Public operations.
AllocationFailure.classifyAllocationFailure.exhaustedCensus.inspectaddarrayListGrowth: Conservative cumulative std.ArrayList traffic, including geometric growth.begin: A missing declaration permits transient work but revokes publication authority.hashMapCapacity: Capacity for a default-load-factor std.HashMap on the pinned toolchain.hashMapGrowth: Conservative cumulative allocation traffic, including old tables and alignment.multiply
Types and contracts
Public types and contracts.
AllocationFailure: Borrowed failure observations for independently bounded producer storage owners.BoundsCensus: Structural and byte counts read without allocation before producer admission.Contract: Estimation reads declared inputs without mutation or allocation.InputPhase
Source
Source: lib/choir/src/passes/pass/root.zig:1
zig
pub const work = @import("work.zig");Source: lib/choir/src/passes/pass/work.zig
zig
const std = @import("std");const ir = @import("../../core/root.zig");const revision = @import("../../product/revision/root.zig");/// Structural and byte counts read without allocation before producer admission.pub const Census = struct { operations: u64 = 0, values: u64 = 0, operands: u64 = 0, atoms: u64 = 0, input_bytes: u64 = 0, pub fn inspect(op: *ir.Operation) !Census { var counts: Census = .{}; _ = try op.walk(.{ .order = .pre_order }, &counts, visit); return counts; } fn visit(self: *Census, op: *ir.Operation) !ir.Operation.WalkResult { self.operations = try add(self.operations, 1); self.operands = try add(self.operands, op.getOperandValues().len); self.atoms = try add(self.atoms, try add(1, op.getOperandValues().len)); self.input_bytes = try add(self.input_bytes, op.name.name.len); for (op.results.items) |*result| try self.value(result); for (op.getOperandValues()) |operand| try self.typeBytes(operand.type); var attrs = op.getAttrs(); while (attrs.next()) |attr| { self.atoms = try add(self.atoms, 1); self.input_bytes = try add(self.input_bytes, attr.name.len); if (attr.value.cast(ir.Attribute.DialectAttr)) |dialect| { self.input_bytes = try add(self.input_bytes, dialect.payload.len); } else if (attr.value.cast(ir.Attribute.StringAttr)) |string| { self.input_bytes = try add(self.input_bytes, string.getValue().len); } } for (op.regions.items) |*region| { self.atoms = try add(self.atoms, 1); var blocks = region.getBlocks(); while (blocks.next()) |block| { self.atoms = try add(self.atoms, 1); for (block.arguments.items) |arg| try self.value(arg); } } return .advance; } fn value(self: *Census, item: *ir.Value) !void { self.values = try add(self.values, 1); self.atoms = try add(self.atoms, 1); try self.typeBytes(item.type); var use = item.first_use; while (use) |edge| : (use = edge.next_use) self.atoms = try add(self.atoms, 1); } fn typeBytes(self: *Census, typ: ir.Type) !void { if (typ.getDialectTypeName()) |name| { self.input_bytes = try add(self.input_bytes, name.len); } if (typ.getDialectParamKey()) |key| { self.input_bytes = try add(self.input_bytes, key.len); } }};pub const Phase = enum { pass, analysis };/// Borrowed failure observations for independently bounded producer storage owners.pub const AllocationFailure = struct { workspace: ?*const bool = null, context: ?*const ir.Context = null, pub fn exhausted(self: AllocationFailure) bool { if (self.workspace) |failed| { if (failed.*) return true; } if (self.context) |context| return context.exhaustedSegment() != null; return false; } pub fn classify(self: AllocationFailure, err: anyerror) anyerror { return if (self.exhausted()) error.WorkExhausted else err; }};pub const Input = struct { operation: *ir.Operation, state: ?*const anyopaque = null, options: ir.ThreadingOptions = .{},};pub const Bounds = struct { work: revision.WorkVector, workspace: u64 = 0, retained_storage: u64 = 0,};/// Estimation reads declared inputs without mutation or allocation. It includes/// the producer's deterministic traversal, options and scheduling bounds.pub const Contract = struct { identity: revision.record.Version, estimate: *const fn (Input) anyerror!Bounds,};/// A missing declaration permits transient work but revokes publication authority.pub fn begin( accounting: ?*revision.AccountingV1, phase: Phase, contract: ?Contract, input: Input,) !?u32 { const ledger = accounting orelse return null; if (ledger.view().outcome != .running) return error.TerminalWorkOutcome; const declared = contract orelse { ledger.missingContract(); return null; }; const bounds = declared.estimate(input) catch |err| { if (err == error.MissingWorkContract) ledger.missingContract(); ledger.fail(if (err == error.WorkOverflow or err == error.WorkExhausted) .exhausted else .rejected); return err; }; if (phase == .analysis and bounds.work.analysis_computations != 1) { ledger.missingContract(); ledger.fail(.rejected); return error.MissingWorkContract; } return try ledger.begin(switch (phase) { .pass => .pass, .analysis => .analysis, }, .{ .identity = declared.identity, .work = bounds.work, .workspace = bounds.workspace, .retained_storage = bounds.retained_storage, });}pub fn add(left: u64, right: u64) error{WorkOverflow}!u64 { return std.math.add(u64, left, right) catch return error.WorkOverflow;}pub fn multiply(left: u64, right: u64) error{WorkOverflow}!u64 { return std.math.mul(u64, left, right) catch return error.WorkOverflow;}/// Capacity for a default-load-factor std.HashMap on the pinned toolchain.pub fn hashMapCapacity(entries: u64) !u64 { if (entries == 0) return 0; const needed = try add(try multiply(entries, 100) / 80, 1); if (needed > std.math.maxInt(u32)) return error.WorkOverflow; const capacity = std.math.ceilPowerOfTwo(u32, @intCast(needed)) catch return error.WorkOverflow; if (capacity > std.math.maxInt(u32) / 80) return error.WorkOverflow; return @max(8, capacity);}/// Conservative cumulative allocation traffic, including old tables and alignment.pub fn hashMapGrowth(comptime Key: type, comptime Value: type, entries: u64) !u64 { const alignment = @max(@alignOf(usize), @alignOf(Key), @alignOf(Value)); const slot = 1 + @sizeOf(Key) + @sizeOf(Value); const overhead = 4 * @sizeOf(usize) + 3 * alignment; return multiply(try multiply(2, try hashMapCapacity(entries)), slot + overhead);}/// Conservative cumulative std.ArrayList traffic, including geometric growth.pub fn arrayListGrowth(comptime Item: type, entries: u64) !u64 { if (entries == 0) return 0; const capacity = try add(try multiply(4, entries), 64); return multiply(try multiply(4, capacity), @sizeOf(Item) + @alignOf(Item));}test "U0 work container growth bounds cover retained allocations" { const Aligned = struct { bytes: [32]u8 align(32) }; inline for (.{ u8, u64, Aligned }) |Value| { for ([_]usize{ 0, 1, 6, 7, 16, 64, 257 }) |count| { try checkContainerGrowth(Value, count, true); try checkContainerGrowth(Value, count, false); } } try std.testing.expectError(error.WorkOverflow, hashMapCapacity(std.math.maxInt(u64))); try std.testing.expectError(error.WorkOverflow, arrayListGrowth(u64, std.math.maxInt(u64)));}fn checkContainerGrowth(comptime Value: type, count: usize, comptime map_case: bool) !void { const fixed = @import("alloc_fixed"); const allowance = if (map_case) try hashMapGrowth(u64, Value, count) else try arrayListGrowth(Value, count); const bytes = try std.testing.allocator.alignedAlloc(u8, .@"64", @intCast(allowance)); defer std.testing.allocator.free(bytes); var backing = fixed.Tracked.init(bytes); var retained = fixed.Monotonic.init(backing.allocator(), @max(1, bytes.len)); var map = std.AutoHashMap(u64, Value).init(retained.allocator()); defer map.deinit(); var list: std.ArrayList(Value) = .empty; defer list.deinit(retained.allocator()); for (0..count) |index| { if (map_case) { try map.put(@intCast(index), std.mem.zeroes(Value)); } else { try list.append(retained.allocator(), std.mem.zeroes(Value)); } } try std.testing.expectEqual(if (map_case) count else 0, map.count()); try std.testing.expectEqual(if (map_case) 0 else count, list.items.len); try std.testing.expect(map.capacity() <= try hashMapCapacity(count)); const used = if (retained.current) |*current| fixed.used(current) else 0; try std.testing.expect(used <= allowance); try std.testing.expect(!backing.exhausted);}test "U0 work census counts an unregistered operation" { const allocator = std.testing.allocator; var context = try ir.Context.init(allocator, ir.Context.Limits.testing); defer context.deinit(allocator); try context.allowUnregistered(); var builder = ir.OperationBuilder.init(&context); const name = "work.census"; const op = try builder.create(ir.Operation.State.init(name, ir.Location.getUnknown())); const counts = try Census.inspect(op); try std.testing.expectEqual(@as(u64, 1), counts.operations); try std.testing.expectEqual(@as(u64, 1), counts.atoms); try std.testing.expectEqual(@as(u64, 0), counts.values); try std.testing.expectEqual(@as(u64, 0), counts.operands); try std.testing.expectEqual(@as(u64, name.len), counts.input_bytes);}test "U0 work census counts ordinary string attribute payload growth" { var context = try ir.Context.init(std.testing.allocator, ir.Context.Limits.testing); defer context.deinit(std.testing.allocator); try context.allowUnregistered(); var builder = ir.OperationBuilder.init(&context); const op = try builder.create(ir.Operation.State.init("work.string", .unknown)); const baseline = try Census.inspect(op); for ([_]usize{ 0, 1, 31, 128, 1024 }) |length| { const payload = try std.testing.allocator.alloc(u8, length); defer std.testing.allocator.free(payload); @memset(payload, 'x'); try op.setAttr("target", try context.getStringAttr(payload)); const counts = try Census.inspect(op); try std.testing.expectEqual( baseline.input_bytes + "target".len + length, counts.input_bytes, ); try std.testing.expectEqual(baseline.atoms + 1, counts.atoms); try std.testing.expectEqual(baseline.operations, counts.operations); }}Complete caller list for passes.pass.work.Census.inspect
12 direct callers.
lib.accy.src.preparation.activation.activationWork[function] — private source atlib/accy/src/preparation/activation.zig:163in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.canonicalization.canonicalizationWork[function] — private source atlib/accy/src/preparation/canonicalization.zig:103in nearest public ownertiny.accy.preparation.canonicalizationlib.accy.src.preparation.dtype.dtypePassWork[function] — private source atlib/accy/src/preparation/dtype.zig:29in nearest public ownertiny.accy.preparation.dtypelib.accy.src.preparation.einsum.einsumWork[function] — private source atlib/accy/src/preparation/einsum.zig:317in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.folding.foldingWork[function] — private source atlib/accy/src/preparation/folding.zig:77in nearest public ownertiny.accy.preparation.foldinglib.accy.src.preparation.fusion.pass.FusionWork.inspect[function] — private source atlib/accy/src/preparation/fusion/pass.zig:103in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.indexing.indexingWork[function] — private source atlib/accy/src/preparation/indexing.zig:190in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.kernelization.lowering.work.analysis[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:17in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.loss.lossWork[function] — private source atlib/accy/src/preparation/loss.zig:126in nearest public ownerlib.accy.src.preparation.losslib.choir.src.passes.pass.work.test_U0_work_census_counts_an_unregistered_operation[function] — test source atlib/choir/src/passes/pass/work.zig:216in nearest public ownertiny.choir.passes.pass.worklib.choir.src.passes.pass.work.test_U0_work_census_counts_ordinary_string_attribute_payload_growth[function] — test source atlib/choir/src/passes/pass/work.zig:232in nearest public ownertiny.choir.passes.pass.worktiny.choir.passes.saturation.eliminationWorkBound[function] atlib/choir/src/passes/saturation.zig:25
Complete caller list for passes.pass.work.add
46 direct callers.
lib.accy.src.preparation.activation.ActivationShape.inspect[function] — private source atlib/accy/src/preparation/activation.zig:139in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.activation.ActivationWork.visit[method] — private source atlib/accy/src/preparation/activation.zig:87in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.activation.activationWork[function] — private source atlib/accy/src/preparation/activation.zig:163in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.canonicalization.CanonicalizationWorkFacts.visit[method] — private source atlib/accy/src/preparation/canonicalization.zig:61in nearest public ownertiny.accy.preparation.canonicalizationlib.accy.src.preparation.canonicalization.canonicalizationWork[function] — private source atlib/accy/src/preparation/canonicalization.zig:103in nearest public ownertiny.accy.preparation.canonicalizationlib.accy.src.preparation.dtype.dtypePassWork[function] — private source atlib/accy/src/preparation/dtype.zig:29in nearest public ownertiny.accy.preparation.dtypelib.accy.src.preparation.einsum.EinsumWork.candidate[method] — private source atlib/accy/src/preparation/einsum.zig:176in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.EinsumWork.equation[method] — private source atlib/accy/src/preparation/einsum.zig:189in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.EinsumWork.typeBytes[method] — private source atlib/accy/src/preparation/einsum.zig:183in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.EinsumWork.visit[method] — private source atlib/accy/src/preparation/einsum.zig:156in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.einsumTuningWork[function] — private source atlib/accy/src/preparation/einsum.zig:255in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.einsumWork[function] — private source atlib/accy/src/preparation/einsum.zig:317in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.einsumWorkspace[function] — private source atlib/accy/src/preparation/einsum.zig:283in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.folding.FoldWork.visit[method] — private source atlib/accy/src/preparation/folding.zig:39in nearest public ownertiny.accy.preparation.foldinglib.accy.src.preparation.folding.foldingWork[function] — private source atlib/accy/src/preparation/folding.zig:77in nearest public ownertiny.accy.preparation.foldinglib.accy.src.preparation.fusion.pass.FusionWork.bounds[method] — private source atlib/accy/src/preparation/fusion/pass.zig:141in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.FusionWork.includeBlock[method] — private source atlib/accy/src/preparation/fusion/pass.zig:124in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.FusionWork.visit[method] — private source atlib/accy/src/preparation/fusion/pass.zig:109in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.checkFusionAdmission[function] — private source atlib/accy/src/preparation/fusion/pass.zig:1941in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.indexing.IndexingWork.typeBytes[method] — private source atlib/accy/src/preparation/indexing.zig:154in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.indexing.IndexingWork.visit[method] — private source atlib/accy/src/preparation/indexing.zig:141in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.indexing.indexingTuningWork[function] — private source atlib/accy/src/preparation/indexing.zig:176in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.indexing.indexingWork[function] — private source atlib/accy/src/preparation/indexing.zig:190in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.kernelization.lowering.builder.storageBound[function] — private source atlib/accy/src/preparation/kernelization/lowering/builder.zig:21in nearest public ownerlib.accy.src.preparation.kernelization.lowering.builderlib.accy.src.preparation.kernelization.lowering.work.analysis[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:17in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.kernelization.lowering.work.attemptStorage[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:56in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.kernelization.lowering.work.traversal[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:79in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.loss.LossWork.typeBytes[method] — private source atlib/accy/src/preparation/loss.zig:106in nearest public ownerlib.accy.src.preparation.losslib.accy.src.preparation.loss.LossWork.visit[method] — private source atlib/accy/src/preparation/loss.zig:93in nearest public ownerlib.accy.src.preparation.losslib.accy.src.preparation.loss.lossWork[function] — private source atlib/accy/src/preparation/loss.zig:126in nearest public ownerlib.accy.src.preparation.losslib.accy.src.preparation.outlining.pass.LeafWalk.collect[method] — private source atlib/accy/src/preparation/outlining/pass.zig:402in nearest public ownerlib.accy.src.preparation.outlining.passlib.accy.src.preparation.shape.pass.ShapeWork.include[method] — private source atlib/accy/src/preparation/shape/pass.zig:101in nearest public ownerlib.accy.src.preparation.shape.passlib.accy.src.preparation.shape.pass.ShapeWork.storage[method] — private source atlib/accy/src/preparation/shape/pass.zig:119in nearest public ownerlib.accy.src.preparation.shape.passlib.accy.src.preparation.shape.pass.ShapeWork.visit[method] — private source atlib/accy/src/preparation/shape/pass.zig:87in nearest public ownerlib.accy.src.preparation.shape.passlib.accy.src.preparation.shape.pass.analysisWork[function] — private source atlib/accy/src/preparation/shape/pass.zig:134in nearest public ownerlib.accy.src.preparation.shape.passtiny.choir.passes.canonicalization.patternPopulationBounds[function] atlib/choir/src/passes/canonicalization.zig:105lib.choir.src.passes.control.ControlWork.includeVisits[method] — private source atlib/choir/src/passes/control.zig:1504in nearest public ownertiny.choir.passes.control_flowlib.choir.src.passes.control.ControlWork.inspect[function] — private source atlib/choir/src/passes/control.zig:1466in nearest public ownertiny.choir.passes.control_flowlib.choir.src.passes.control.ControlWork.inspectOperation[method] — private source atlib/choir/src/passes/control.zig:1478in nearest public ownertiny.choir.passes.control_flowlib.choir.src.passes.control.ControlWork.inspectRegion[method] — private source atlib/choir/src/passes/control.zig:1485in nearest public ownertiny.choir.passes.control_flowlib.choir.src.passes.pass.work.Census.typeBytes[method] — private source atlib/choir/src/passes/pass/work.zig:55in nearest public ownertiny.choir.passes.pass.worklib.choir.src.passes.pass.work.Census.value[method] — private source atlib/choir/src/passes/pass/work.zig:47in nearest public ownertiny.choir.passes.pass.worklib.choir.src.passes.pass.work.Census.visit[method] — private source atlib/choir/src/passes/pass/work.zig:19in nearest public ownertiny.choir.passes.pass.worktiny.choir.passes.pass.work.arrayListGrowth[function] atlib/choir/src/passes/pass/work.zig:169tiny.choir.passes.pass.work.hashMapCapacity[function] atlib/choir/src/passes/pass/work.zig:150tiny.choir.passes.saturation.eliminationWorkBound[function] atlib/choir/src/passes/saturation.zig:25
Complete caller list for passes.pass.work.arrayListGrowth
13 direct callers.
lib.accy.src.preparation.activation.activationWork[function] — private source atlib/accy/src/preparation/activation.zig:163in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.canonicalization.canonicalizationWork[function] — private source atlib/accy/src/preparation/canonicalization.zig:103in nearest public ownertiny.accy.preparation.canonicalizationlib.accy.src.preparation.einsum.einsumWorkspace[function] — private source atlib/accy/src/preparation/einsum.zig:283in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.folding.foldingWork[function] — private source atlib/accy/src/preparation/folding.zig:77in nearest public ownertiny.accy.preparation.foldinglib.accy.src.preparation.fusion.pass.FusionWork.bounds[method] — private source atlib/accy/src/preparation/fusion/pass.zig:141in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.FusionWork.includeBlock[method] — private source atlib/accy/src/preparation/fusion/pass.zig:124in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.test_fusion_planning_contract_scales_through_map_growth_and_rejects_overflow[function] — test source atlib/accy/src/preparation/fusion/pass.zig:1901in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.indexing.indexingWork[function] — private source atlib/accy/src/preparation/indexing.zig:190in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.loss.lossWork[function] — private source atlib/accy/src/preparation/loss.zig:126in nearest public ownerlib.accy.src.preparation.losstiny.choir.passes.canonicalization.patternPopulationBounds[function] atlib/choir/src/passes/canonicalization.zig:105lib.choir.src.passes.pass.work.checkContainerGrowth[function] — private source atlib/choir/src/passes/pass/work.zig:187in nearest public ownertiny.choir.passes.pass.worklib.choir.src.passes.pass.work.test_U0_work_container_growth_bounds_cover_retained_allocations[function] — test source atlib/choir/src/passes/pass/work.zig:175in nearest public ownertiny.choir.passes.pass.worktiny.choir.passes.saturation.eliminationWorkBound[function] atlib/choir/src/passes/saturation.zig:25
Complete caller list for passes.pass.work.begin
11 direct callers.
lib.accy.src.preparation.publication.captureRecord[function] — private source atlib/accy/src/preparation/publication.zig:498in nearest public ownertiny.accy.preparation.publicationlib.accy.src.preparation.publication.configure[function] — private source atlib/accy/src/preparation/publication.zig:440in nearest public ownertiny.accy.preparation.publicationlib.choir.src.product.operation.JobData.sourceDescriptors[method] — private source atlib/choir/src/product/operation.zig:429in nearest public ownertiny.choir.product.operationtiny.choir.OperationProduct.successor[method] atlib/choir/src/product/operation.zig:312tiny.choir.product.operation.capture[function] atlib/choir/src/product/operation.zig:137lib.choir.src.product.operation.verifySources[function] — private source atlib/choir/src/product/operation.zig:181in nearest public ownertiny.choir.product.operationlib.choir.src.product.revision.store.Draft.create[function] — private source atlib/choir/src/product/revision/store.zig:737in nearest public ownertiny.choir.product.revision.storelib.choir.src.product.revision.store.reserveOutput[function] — private source atlib/choir/src/product/revision/store.zig:1145in nearest public ownertiny.choir.product.revision.storelib.choir.src.product.revision.store.reserveWorkspace[function] — private source atlib/choir/src/product/revision/store.zig:1160in nearest public ownertiny.choir.product.revision.storelib.choir.src.product.revision.store.runTestProducer[function] — private source atlib/choir/src/product/revision/store.zig:1992in nearest public ownertiny.choir.product.revision.storelib.choir.src.product.revision.store.transport[function] — private source atlib/choir/src/product/revision/store.zig:1120in nearest public ownertiny.choir.product.revision.store
Complete caller list for passes.pass.work.hashMapCapacity
9 direct callers.
lib.accy.src.preparation.fusion.pass.FusionWork.bounds[method] — private source atlib/accy/src/preparation/fusion/pass.zig:141in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.test_fusion_planning_contract_scales_through_map_growth_and_rejects_overflow[function] — test source atlib/accy/src/preparation/fusion/pass.zig:1901in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.kernelization.lowering.work.traversal[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:79in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.shape.pass.ShapeWork.storage[method] — private source atlib/accy/src/preparation/shape/pass.zig:119in nearest public ownerlib.accy.src.preparation.shape.passlib.accy.src.preparation.shape.pass.analysisWork[function] — private source atlib/accy/src/preparation/shape/pass.zig:134in nearest public ownerlib.accy.src.preparation.shape.passlib.accy.src.preparation.shape.pass.computeShapeLayoutAnalysis[function] — private source atlib/accy/src/preparation/shape/pass.zig:191in nearest public ownerlib.accy.src.preparation.shape.passlib.choir.src.passes.pass.work.checkContainerGrowth[function] — private source atlib/choir/src/passes/pass/work.zig:187in nearest public ownertiny.choir.passes.pass.worktiny.choir.passes.pass.work.hashMapGrowth[function] atlib/choir/src/passes/pass/work.zig:161lib.choir.src.passes.pass.work.test_U0_work_container_growth_bounds_cover_retained_allocations[function] — test source atlib/choir/src/passes/pass/work.zig:175in nearest public ownertiny.choir.passes.pass.work
Complete caller list for passes.pass.work.multiply
27 direct callers.
lib.accy.src.preparation.activation.ActivationShape.inspect[function] — private source atlib/accy/src/preparation/activation.zig:139in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.activation.ActivationWork.visit[method] — private source atlib/accy/src/preparation/activation.zig:87in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.activation.activationWork[function] — private source atlib/accy/src/preparation/activation.zig:163in nearest public ownertiny.accy.preparation.activationlib.accy.src.preparation.canonicalization.canonicalizationWork[function] — private source atlib/accy/src/preparation/canonicalization.zig:103in nearest public ownertiny.accy.preparation.canonicalizationlib.accy.src.preparation.dtype.dtypePassWork[function] — private source atlib/accy/src/preparation/dtype.zig:29in nearest public ownertiny.accy.preparation.dtypelib.accy.src.preparation.einsum.EinsumWork.equation[method] — private source atlib/accy/src/preparation/einsum.zig:189in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.einsumTuningWork[function] — private source atlib/accy/src/preparation/einsum.zig:255in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.einsumWork[function] — private source atlib/accy/src/preparation/einsum.zig:317in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.einsum.einsumWorkspace[function] — private source atlib/accy/src/preparation/einsum.zig:283in nearest public ownertiny.accy.preparation.einsumlib.accy.src.preparation.folding.foldingWork[function] — private source atlib/accy/src/preparation/folding.zig:77in nearest public ownertiny.accy.preparation.foldinglib.accy.src.preparation.fusion.pass.FusionWork.bounds[method] — private source atlib/accy/src/preparation/fusion/pass.zig:141in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.fusion.pass.FusionWork.includeBlock[method] — private source atlib/accy/src/preparation/fusion/pass.zig:124in nearest public ownerlib.accy.src.preparation.fusion.passlib.accy.src.preparation.indexing.indexingTuningWork[function] — private source atlib/accy/src/preparation/indexing.zig:176in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.indexing.indexingWork[function] — private source atlib/accy/src/preparation/indexing.zig:190in nearest public ownertiny.accy.preparation.indexinglib.accy.src.preparation.kernelization.lowering.work.analysis[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:17in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.kernelization.lowering.work.attemptStorage[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:56in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.kernelization.lowering.work.traversal[function] — private source atlib/accy/src/preparation/kernelization/lowering/work.zig:79in nearest public ownerlib.accy.src.preparation.kernelization.lowering.worklib.accy.src.preparation.loss.lossWork[function] — private source atlib/accy/src/preparation/loss.zig:126in nearest public ownerlib.accy.src.preparation.losslib.accy.src.preparation.shape.pass.ShapeWork.storage[method] — private source atlib/accy/src/preparation/shape/pass.zig:119in nearest public ownerlib.accy.src.preparation.shape.passlib.accy.src.preparation.shape.pass.analysisWork[function] — private source atlib/accy/src/preparation/shape/pass.zig:134in nearest public ownerlib.accy.src.preparation.shape.passtiny.choir.passes.canonicalization.patternPopulationBounds[function] atlib/choir/src/passes/canonicalization.zig:105lib.choir.src.passes.control.ControlWork.includeVisits[method] — private source atlib/choir/src/passes/control.zig:1504in nearest public ownertiny.choir.passes.control_flowlib.choir.src.passes.control.ControlWork.inspect[function] — private source atlib/choir/src/passes/control.zig:1466in nearest public ownertiny.choir.passes.control_flowtiny.choir.passes.pass.work.arrayListGrowth[function] atlib/choir/src/passes/pass/work.zig:169tiny.choir.passes.pass.work.hashMapCapacity[function] atlib/choir/src/passes/pass/work.zig:150tiny.choir.passes.pass.work.hashMapGrowth[function] atlib/choir/src/passes/pass/work.zig:161tiny.choir.passes.saturation.eliminationWorkBound[function] atlib/choir/src/passes/saturation.zig:25
Audit
| Definitions | 16 |
|---|---|
| Public names | 16 |
| Members | 17 |
| Version | 26.7.0 |
| Revision | daab053ee433 |