@f-inverse/jammi-client 0.49.0 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/gen/jammi/v1/audit_pb.d.ts +1 -1
- package/dist/gen/jammi/v1/audit_pb.js +1 -1
- package/dist/gen/jammi/v1/catalog_pb.d.ts +306 -29
- package/dist/gen/jammi/v1/catalog_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/catalog_pb.js +65 -37
- package/dist/gen/jammi/v1/catalog_pb.js.map +1 -1
- package/dist/gen/jammi/v1/embedding_pb.d.ts +401 -43
- package/dist/gen/jammi/v1/embedding_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/embedding_pb.js +128 -9
- package/dist/gen/jammi/v1/embedding_pb.js.map +1 -1
- package/dist/gen/jammi/v1/error_pb.d.ts +994 -24
- package/dist/gen/jammi/v1/error_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/error_pb.js +184 -24
- package/dist/gen/jammi/v1/error_pb.js.map +1 -1
- package/dist/gen/jammi/v1/eval_pb.d.ts +1 -1
- package/dist/gen/jammi/v1/eval_pb.js +1 -1
- package/dist/gen/jammi/v1/gang_pb.d.ts +730 -0
- package/dist/gen/jammi/v1/gang_pb.d.ts.map +1 -0
- package/dist/gen/jammi/v1/gang_pb.js +268 -0
- package/dist/gen/jammi/v1/gang_pb.js.map +1 -0
- package/dist/gen/jammi/v1/inference_pb.d.ts +69 -32
- package/dist/gen/jammi/v1/inference_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/inference_pb.js +23 -43
- package/dist/gen/jammi/v1/inference_pb.js.map +1 -1
- package/dist/gen/jammi/v1/job_pb.d.ts +774 -0
- package/dist/gen/jammi/v1/job_pb.d.ts.map +1 -0
- package/dist/gen/jammi/v1/job_pb.js +154 -0
- package/dist/gen/jammi/v1/job_pb.js.map +1 -0
- package/dist/gen/jammi/v1/lifecycle_pb.d.ts +1 -1
- package/dist/gen/jammi/v1/lifecycle_pb.js +1 -1
- package/dist/gen/jammi/v1/peer_pb.d.ts +325 -0
- package/dist/gen/jammi/v1/peer_pb.d.ts.map +1 -0
- package/dist/gen/jammi/v1/peer_pb.js +138 -0
- package/dist/gen/jammi/v1/peer_pb.js.map +1 -0
- package/dist/gen/jammi/v1/pipeline_pb.d.ts +218 -10
- package/dist/gen/jammi/v1/pipeline_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/pipeline_pb.js +57 -11
- package/dist/gen/jammi/v1/pipeline_pb.js.map +1 -1
- package/dist/gen/jammi/v1/training_pb.d.ts +91 -345
- package/dist/gen/jammi/v1/training_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/training_pb.js +18 -76
- package/dist/gen/jammi/v1/training_pb.js.map +1 -1
- package/dist/gen/jammi/v1/trigger_pb.d.ts +3 -1
- package/dist/gen/jammi/v1/trigger_pb.d.ts.map +1 -1
- package/dist/gen/jammi/v1/trigger_pb.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,730 @@
|
|
|
1
|
+
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
2
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
3
|
+
/**
|
|
4
|
+
* Describes the file jammi/v1/gang.proto.
|
|
5
|
+
*/
|
|
6
|
+
export declare const file_jammi_v1_gang: GenFile;
|
|
7
|
+
/**
|
|
8
|
+
* A control frame a rank sends on its `RunRank` stream.
|
|
9
|
+
*
|
|
10
|
+
* @generated from message jammi.v1.gang.RankControl
|
|
11
|
+
*/
|
|
12
|
+
export type RankControl = Message<"jammi.v1.gang.RankControl"> & {
|
|
13
|
+
/**
|
|
14
|
+
* @generated from oneof jammi.v1.gang.RankControl.control
|
|
15
|
+
*/
|
|
16
|
+
control: {
|
|
17
|
+
/**
|
|
18
|
+
* @generated from field: jammi.v1.gang.Assign assign = 1;
|
|
19
|
+
*/
|
|
20
|
+
value: Assign;
|
|
21
|
+
case: "assign";
|
|
22
|
+
} | {
|
|
23
|
+
/**
|
|
24
|
+
* @generated from field: jammi.v1.gang.Cancel cancel = 2;
|
|
25
|
+
*/
|
|
26
|
+
value: Cancel;
|
|
27
|
+
case: "cancel";
|
|
28
|
+
} | {
|
|
29
|
+
/**
|
|
30
|
+
* The round protocol, coordinator → member (all after `Admitted`).
|
|
31
|
+
* The coordinator's rank-ordered fold of round `round`, followed by
|
|
32
|
+
* `chunk_count` `round_chunk` frames carrying its Arrow IPC bytes.
|
|
33
|
+
*
|
|
34
|
+
* @generated from field: jammi.v1.gang.RoundPayload round_result = 3;
|
|
35
|
+
*/
|
|
36
|
+
value: RoundPayload;
|
|
37
|
+
case: "roundResult";
|
|
38
|
+
} | {
|
|
39
|
+
/**
|
|
40
|
+
* @generated from field: jammi.v1.gang.RoundChunk round_chunk = 4;
|
|
41
|
+
*/
|
|
42
|
+
value: RoundChunk;
|
|
43
|
+
case: "roundChunk";
|
|
44
|
+
} | {
|
|
45
|
+
/**
|
|
46
|
+
* The coordinator observed every member's `RoundAck` for this round:
|
|
47
|
+
* apply it. A member that never receives this for a round it ACKed
|
|
48
|
+
* applies nothing for that round.
|
|
49
|
+
*
|
|
50
|
+
* @generated from field: jammi.v1.gang.RoundCommit round_commit = 5;
|
|
51
|
+
*/
|
|
52
|
+
value: RoundCommit;
|
|
53
|
+
case: "roundCommit";
|
|
54
|
+
} | {
|
|
55
|
+
/**
|
|
56
|
+
* The round is abandoned on every rank; `detail` is the gang's fault.
|
|
57
|
+
*
|
|
58
|
+
* @generated from field: jammi.v1.gang.RoundFault round_fault = 6;
|
|
59
|
+
*/
|
|
60
|
+
value: RoundFault;
|
|
61
|
+
case: "roundFault";
|
|
62
|
+
} | {
|
|
63
|
+
/**
|
|
64
|
+
* The transport every rank of this gang moves its round bytes by: the
|
|
65
|
+
* coordinator's decision, sent to every member once all are admitted
|
|
66
|
+
* and before round 0 — the first frame after `Admitted`.
|
|
67
|
+
*
|
|
68
|
+
* @generated from field: jammi.v1.gang.Bind bind = 7;
|
|
69
|
+
*/
|
|
70
|
+
value: Bind;
|
|
71
|
+
case: "bind";
|
|
72
|
+
} | {
|
|
73
|
+
case: undefined;
|
|
74
|
+
value?: undefined;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Describes the message jammi.v1.gang.RankControl.
|
|
79
|
+
* Use `create(RankControlSchema)` to create a new message.
|
|
80
|
+
*/
|
|
81
|
+
export declare const RankControlSchema: GenMessage<RankControl>;
|
|
82
|
+
/**
|
|
83
|
+
* How a gang's round bytes move (`jammi_ai::fine_tune::collective::transport`).
|
|
84
|
+
* The control round — agreement, fault, commit — is the same on either.
|
|
85
|
+
*
|
|
86
|
+
* @generated from message jammi.v1.gang.Bind
|
|
87
|
+
*/
|
|
88
|
+
export type Bind = Message<"jammi.v1.gang.Bind"> & {
|
|
89
|
+
/**
|
|
90
|
+
* @generated from oneof jammi.v1.gang.Bind.transport
|
|
91
|
+
*/
|
|
92
|
+
transport: {
|
|
93
|
+
/**
|
|
94
|
+
* The bytes ride the round frames themselves.
|
|
95
|
+
*
|
|
96
|
+
* @generated from field: jammi.v1.gang.InlineTransport inline = 1;
|
|
97
|
+
*/
|
|
98
|
+
value: InlineTransport;
|
|
99
|
+
case: "inline";
|
|
100
|
+
} | {
|
|
101
|
+
/**
|
|
102
|
+
* The round frames carry descriptors only; once they agree, the bytes
|
|
103
|
+
* move by an NCCL all-gather among the ranks.
|
|
104
|
+
*
|
|
105
|
+
* @generated from field: jammi.v1.gang.NcclTransport nccl = 2;
|
|
106
|
+
*/
|
|
107
|
+
value: NcclTransport;
|
|
108
|
+
case: "nccl";
|
|
109
|
+
} | {
|
|
110
|
+
case: undefined;
|
|
111
|
+
value?: undefined;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Describes the message jammi.v1.gang.Bind.
|
|
116
|
+
* Use `create(BindSchema)` to create a new message.
|
|
117
|
+
*/
|
|
118
|
+
export declare const BindSchema: GenMessage<Bind>;
|
|
119
|
+
/**
|
|
120
|
+
* @generated from message jammi.v1.gang.InlineTransport
|
|
121
|
+
*/
|
|
122
|
+
export type InlineTransport = Message<"jammi.v1.gang.InlineTransport"> & {};
|
|
123
|
+
/**
|
|
124
|
+
* Describes the message jammi.v1.gang.InlineTransport.
|
|
125
|
+
* Use `create(InlineTransportSchema)` to create a new message.
|
|
126
|
+
*/
|
|
127
|
+
export declare const InlineTransportSchema: GenMessage<InlineTransport>;
|
|
128
|
+
/**
|
|
129
|
+
* @generated from message jammi.v1.gang.NcclTransport
|
|
130
|
+
*/
|
|
131
|
+
export type NcclTransport = Message<"jammi.v1.gang.NcclTransport"> & {
|
|
132
|
+
/**
|
|
133
|
+
* The communicator id the coordinator minted (`ncclGetUniqueId`, 128
|
|
134
|
+
* bytes): the capability to join this gang's communicator.
|
|
135
|
+
*
|
|
136
|
+
* @generated from field: bytes id = 1;
|
|
137
|
+
*/
|
|
138
|
+
id: Uint8Array;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Describes the message jammi.v1.gang.NcclTransport.
|
|
142
|
+
* Use `create(NcclTransportSchema)` to create a new message.
|
|
143
|
+
*/
|
|
144
|
+
export declare const NcclTransportSchema: GenMessage<NcclTransport>;
|
|
145
|
+
/**
|
|
146
|
+
* The job coordinates only. No training-set identity (resolved by the
|
|
147
|
+
* handler from the `jobs` row) and no lease duration (the rank derives its
|
|
148
|
+
* own admission window from the same row). A second `Assign` on an
|
|
149
|
+
* already-admitted stream is a protocol violation.
|
|
150
|
+
*
|
|
151
|
+
* @generated from message jammi.v1.gang.Assign
|
|
152
|
+
*/
|
|
153
|
+
export type Assign = Message<"jammi.v1.gang.Assign"> & {
|
|
154
|
+
/**
|
|
155
|
+
* @generated from field: string job_id = 1;
|
|
156
|
+
*/
|
|
157
|
+
jobId: string;
|
|
158
|
+
/**
|
|
159
|
+
* @generated from field: int64 attempt = 2;
|
|
160
|
+
*/
|
|
161
|
+
attempt: bigint;
|
|
162
|
+
/**
|
|
163
|
+
* @generated from field: uint32 rank = 3;
|
|
164
|
+
*/
|
|
165
|
+
rank: number;
|
|
166
|
+
/**
|
|
167
|
+
* @generated from field: uint32 world = 4;
|
|
168
|
+
*/
|
|
169
|
+
world: number;
|
|
170
|
+
/**
|
|
171
|
+
* @generated from field: string coordinator_instance_id = 5;
|
|
172
|
+
*/
|
|
173
|
+
coordinatorInstanceId: string;
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Describes the message jammi.v1.gang.Assign.
|
|
177
|
+
* Use `create(AssignSchema)` to create a new message.
|
|
178
|
+
*/
|
|
179
|
+
export declare const AssignSchema: GenMessage<Assign>;
|
|
180
|
+
/**
|
|
181
|
+
* End this rank's own session cooperatively.
|
|
182
|
+
*
|
|
183
|
+
* @generated from message jammi.v1.gang.Cancel
|
|
184
|
+
*/
|
|
185
|
+
export type Cancel = Message<"jammi.v1.gang.Cancel"> & {};
|
|
186
|
+
/**
|
|
187
|
+
* Describes the message jammi.v1.gang.Cancel.
|
|
188
|
+
* Use `create(CancelSchema)` to create a new message.
|
|
189
|
+
*/
|
|
190
|
+
export declare const CancelSchema: GenMessage<Cancel>;
|
|
191
|
+
/**
|
|
192
|
+
* An event frame on a `RunRank` stream.
|
|
193
|
+
*
|
|
194
|
+
* @generated from message jammi.v1.gang.RankEvent
|
|
195
|
+
*/
|
|
196
|
+
export type RankEvent = Message<"jammi.v1.gang.RankEvent"> & {
|
|
197
|
+
/**
|
|
198
|
+
* @generated from oneof jammi.v1.gang.RankEvent.event
|
|
199
|
+
*/
|
|
200
|
+
event: {
|
|
201
|
+
/**
|
|
202
|
+
* @generated from field: jammi.v1.gang.Admitted admitted = 1;
|
|
203
|
+
*/
|
|
204
|
+
value: Admitted;
|
|
205
|
+
case: "admitted";
|
|
206
|
+
} | {
|
|
207
|
+
/**
|
|
208
|
+
* @generated from field: jammi.v1.gang.Aborted aborted = 2;
|
|
209
|
+
*/
|
|
210
|
+
value: Aborted;
|
|
211
|
+
case: "aborted";
|
|
212
|
+
} | {
|
|
213
|
+
/**
|
|
214
|
+
* @generated from field: jammi.v1.gang.Outcome outcome = 3;
|
|
215
|
+
*/
|
|
216
|
+
value: Outcome;
|
|
217
|
+
case: "outcome";
|
|
218
|
+
} | {
|
|
219
|
+
/**
|
|
220
|
+
* The round protocol, member → coordinator (all after `Admitted`).
|
|
221
|
+
* This member's contribution to round `round`, followed by
|
|
222
|
+
* `chunk_count` `round_chunk` frames carrying its Arrow IPC bytes.
|
|
223
|
+
*
|
|
224
|
+
* @generated from field: jammi.v1.gang.RoundPayload round_contribution = 4;
|
|
225
|
+
*/
|
|
226
|
+
value: RoundPayload;
|
|
227
|
+
case: "roundContribution";
|
|
228
|
+
} | {
|
|
229
|
+
/**
|
|
230
|
+
* @generated from field: jammi.v1.gang.RoundChunk round_chunk = 5;
|
|
231
|
+
*/
|
|
232
|
+
value: RoundChunk;
|
|
233
|
+
case: "roundChunk";
|
|
234
|
+
} | {
|
|
235
|
+
/**
|
|
236
|
+
* This member holds the coordinator's result for `round`, decoded and
|
|
237
|
+
* UNAPPLIED, and will apply it on `RoundCommit`.
|
|
238
|
+
*
|
|
239
|
+
* @generated from field: jammi.v1.gang.RoundAck round_ack = 6;
|
|
240
|
+
*/
|
|
241
|
+
value: RoundAck;
|
|
242
|
+
case: "roundAck";
|
|
243
|
+
} | {
|
|
244
|
+
/**
|
|
245
|
+
* This member abandons the round; `detail` is why.
|
|
246
|
+
*
|
|
247
|
+
* @generated from field: jammi.v1.gang.RoundFault round_fault = 7;
|
|
248
|
+
*/
|
|
249
|
+
value: RoundFault;
|
|
250
|
+
case: "roundFault";
|
|
251
|
+
} | {
|
|
252
|
+
case: undefined;
|
|
253
|
+
value?: undefined;
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* Describes the message jammi.v1.gang.RankEvent.
|
|
258
|
+
* Use `create(RankEventSchema)` to create a new message.
|
|
259
|
+
*/
|
|
260
|
+
export declare const RankEventSchema: GenMessage<RankEvent>;
|
|
261
|
+
/**
|
|
262
|
+
* The rank was admitted: held under re-verification until it ends `Aborted`.
|
|
263
|
+
*
|
|
264
|
+
* @generated from message jammi.v1.gang.Admitted
|
|
265
|
+
*/
|
|
266
|
+
export type Admitted = Message<"jammi.v1.gang.Admitted"> & {
|
|
267
|
+
/**
|
|
268
|
+
* This member can move its round bytes by an NCCL transport: a CUDA build,
|
|
269
|
+
* a CUDA device, and a `[worker] collective` other than "cpu". The
|
|
270
|
+
* coordinator chooses NCCL for the gang only when every rank can.
|
|
271
|
+
*
|
|
272
|
+
* @generated from field: bool nccl = 1;
|
|
273
|
+
*/
|
|
274
|
+
nccl: boolean;
|
|
275
|
+
};
|
|
276
|
+
/**
|
|
277
|
+
* Describes the message jammi.v1.gang.Admitted.
|
|
278
|
+
* Use `create(AdmittedSchema)` to create a new message.
|
|
279
|
+
*/
|
|
280
|
+
export declare const AdmittedSchema: GenMessage<Admitted>;
|
|
281
|
+
/**
|
|
282
|
+
* @generated from message jammi.v1.gang.Aborted
|
|
283
|
+
*/
|
|
284
|
+
export type Aborted = Message<"jammi.v1.gang.Aborted"> & {
|
|
285
|
+
/**
|
|
286
|
+
* @generated from field: jammi.v1.gang.AbortReason reason = 1;
|
|
287
|
+
*/
|
|
288
|
+
reason: AbortReason;
|
|
289
|
+
};
|
|
290
|
+
/**
|
|
291
|
+
* Describes the message jammi.v1.gang.Aborted.
|
|
292
|
+
* Use `create(AbortedSchema)` to create a new message.
|
|
293
|
+
*/
|
|
294
|
+
export declare const AbortedSchema: GenMessage<Aborted>;
|
|
295
|
+
/**
|
|
296
|
+
* The terminal outcome of a rank body's natural end. Frozen here (additive,
|
|
297
|
+
* costs nothing at the freeze gate — `api_freeze.rs` decodes only
|
|
298
|
+
* `PACKAGE`/`RPC` tokens) though this rpc's own admission stage ships neither
|
|
299
|
+
* this variant's producer (a rank body) nor its consumer (the coordinator's
|
|
300
|
+
* terminal write on receipt).
|
|
301
|
+
*
|
|
302
|
+
* @generated from message jammi.v1.gang.Outcome
|
|
303
|
+
*/
|
|
304
|
+
export type Outcome = Message<"jammi.v1.gang.Outcome"> & {
|
|
305
|
+
/**
|
|
306
|
+
* @generated from oneof jammi.v1.gang.Outcome.result
|
|
307
|
+
*/
|
|
308
|
+
result: {
|
|
309
|
+
/**
|
|
310
|
+
* @generated from field: jammi.v1.gang.TrainedOutcome trained = 1;
|
|
311
|
+
*/
|
|
312
|
+
value: TrainedOutcome;
|
|
313
|
+
case: "trained";
|
|
314
|
+
} | {
|
|
315
|
+
/**
|
|
316
|
+
* @generated from field: jammi.v1.gang.FailedOutcome failed = 2;
|
|
317
|
+
*/
|
|
318
|
+
value: FailedOutcome;
|
|
319
|
+
case: "failed";
|
|
320
|
+
} | {
|
|
321
|
+
case: undefined;
|
|
322
|
+
value?: undefined;
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* Describes the message jammi.v1.gang.Outcome.
|
|
327
|
+
* Use `create(OutcomeSchema)` to create a new message.
|
|
328
|
+
*/
|
|
329
|
+
export declare const OutcomeSchema: GenMessage<Outcome>;
|
|
330
|
+
/**
|
|
331
|
+
* @generated from message jammi.v1.gang.TrainedOutcome
|
|
332
|
+
*/
|
|
333
|
+
export type TrainedOutcome = Message<"jammi.v1.gang.TrainedOutcome"> & {
|
|
334
|
+
/**
|
|
335
|
+
* @generated from field: string artifact_digest = 1;
|
|
336
|
+
*/
|
|
337
|
+
artifactDigest: string;
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Describes the message jammi.v1.gang.TrainedOutcome.
|
|
341
|
+
* Use `create(TrainedOutcomeSchema)` to create a new message.
|
|
342
|
+
*/
|
|
343
|
+
export declare const TrainedOutcomeSchema: GenMessage<TrainedOutcome>;
|
|
344
|
+
/**
|
|
345
|
+
* @generated from message jammi.v1.gang.FailedOutcome
|
|
346
|
+
*/
|
|
347
|
+
export type FailedOutcome = Message<"jammi.v1.gang.FailedOutcome"> & {
|
|
348
|
+
/**
|
|
349
|
+
* @generated from field: string reason = 1;
|
|
350
|
+
*/
|
|
351
|
+
reason: string;
|
|
352
|
+
};
|
|
353
|
+
/**
|
|
354
|
+
* Describes the message jammi.v1.gang.FailedOutcome.
|
|
355
|
+
* Use `create(FailedOutcomeSchema)` to create a new message.
|
|
356
|
+
*/
|
|
357
|
+
export declare const FailedOutcomeSchema: GenMessage<FailedOutcome>;
|
|
358
|
+
/**
|
|
359
|
+
* `all_gather`'s per-rank row counts, wrapped so `RoundDescriptor.counts`
|
|
360
|
+
* distinguishes "this verb carries no counts" (absent) from "every rank
|
|
361
|
+
* contributes zero rows" (present, all zero).
|
|
362
|
+
*
|
|
363
|
+
* @generated from message jammi.v1.gang.Counts
|
|
364
|
+
*/
|
|
365
|
+
export type Counts = Message<"jammi.v1.gang.Counts"> & {
|
|
366
|
+
/**
|
|
367
|
+
* @generated from field: repeated uint64 values = 1;
|
|
368
|
+
*/
|
|
369
|
+
values: bigint[];
|
|
370
|
+
};
|
|
371
|
+
/**
|
|
372
|
+
* Describes the message jammi.v1.gang.Counts.
|
|
373
|
+
* Use `create(CountsSchema)` to create a new message.
|
|
374
|
+
*/
|
|
375
|
+
export declare const CountsSchema: GenMessage<Counts>;
|
|
376
|
+
/**
|
|
377
|
+
* One tensor's shape and element type as far as a round's descriptor cares:
|
|
378
|
+
* the full shape for `all_reduce_sum` and `broadcast`; the TRAILING shape
|
|
379
|
+
* (dim 0 dropped) for `all_gather`, whose dim 0 is already `counts`.
|
|
380
|
+
*
|
|
381
|
+
* @generated from message jammi.v1.gang.TensorSignature
|
|
382
|
+
*/
|
|
383
|
+
export type TensorSignature = Message<"jammi.v1.gang.TensorSignature"> & {
|
|
384
|
+
/**
|
|
385
|
+
* @generated from field: repeated uint64 dims = 1;
|
|
386
|
+
*/
|
|
387
|
+
dims: bigint[];
|
|
388
|
+
/**
|
|
389
|
+
* @generated from field: jammi.v1.gang.ElementType dtype = 2;
|
|
390
|
+
*/
|
|
391
|
+
dtype: ElementType;
|
|
392
|
+
};
|
|
393
|
+
/**
|
|
394
|
+
* Describes the message jammi.v1.gang.TensorSignature.
|
|
395
|
+
* Use `create(TensorSignatureSchema)` to create a new message.
|
|
396
|
+
*/
|
|
397
|
+
export declare const TensorSignatureSchema: GenMessage<TensorSignature>;
|
|
398
|
+
/**
|
|
399
|
+
* One rank's declaration of what a round computes: the verb, and every
|
|
400
|
+
* per-call argument other than the tensor bytes that determines the round's
|
|
401
|
+
* result. The coordinator publishes a round ONLY once every rank's
|
|
402
|
+
* descriptor equals its own; a disagreement is a typed refusal on EVERY
|
|
403
|
+
* rank naming both descriptors, symmetric with the in-process collective.
|
|
404
|
+
*
|
|
405
|
+
* @generated from message jammi.v1.gang.RoundDescriptor
|
|
406
|
+
*/
|
|
407
|
+
export type RoundDescriptor = Message<"jammi.v1.gang.RoundDescriptor"> & {
|
|
408
|
+
/**
|
|
409
|
+
* The round this rank is entering, counted from 0 on every rank. Agreed
|
|
410
|
+
* like every other field: a contribution from a stale round is a typed
|
|
411
|
+
* disagreement naming both descriptors, never folded.
|
|
412
|
+
*
|
|
413
|
+
* @generated from field: uint64 round = 7;
|
|
414
|
+
*/
|
|
415
|
+
round: bigint;
|
|
416
|
+
/**
|
|
417
|
+
* @generated from field: jammi.v1.gang.RoundVerb verb = 1;
|
|
418
|
+
*/
|
|
419
|
+
verb: RoundVerb;
|
|
420
|
+
/**
|
|
421
|
+
* @generated from field: uint32 world = 2;
|
|
422
|
+
*/
|
|
423
|
+
world: number;
|
|
424
|
+
/**
|
|
425
|
+
* `broadcast`'s root; absent for every other verb.
|
|
426
|
+
*
|
|
427
|
+
* @generated from field: optional uint32 root = 3;
|
|
428
|
+
*/
|
|
429
|
+
root?: number | undefined;
|
|
430
|
+
/**
|
|
431
|
+
* `all_gather`'s full counts vector; absent for every other verb.
|
|
432
|
+
*
|
|
433
|
+
* @generated from field: jammi.v1.gang.Counts counts = 4;
|
|
434
|
+
*/
|
|
435
|
+
counts?: Counts | undefined;
|
|
436
|
+
/**
|
|
437
|
+
* @generated from field: repeated jammi.v1.gang.TensorSignature tensors = 5;
|
|
438
|
+
*/
|
|
439
|
+
tensors: TensorSignature[];
|
|
440
|
+
/**
|
|
441
|
+
* An opaque digest the caller binds on every rank (a trainer binds its
|
|
442
|
+
* canonical trainable-variable key order); absent when nothing is bound.
|
|
443
|
+
* Compared like every other field: a rank bound to a different value, or
|
|
444
|
+
* to none, disagrees.
|
|
445
|
+
*
|
|
446
|
+
* @generated from field: optional string agreement = 6;
|
|
447
|
+
*/
|
|
448
|
+
agreement?: string | undefined;
|
|
449
|
+
};
|
|
450
|
+
/**
|
|
451
|
+
* Describes the message jammi.v1.gang.RoundDescriptor.
|
|
452
|
+
* Use `create(RoundDescriptorSchema)` to create a new message.
|
|
453
|
+
*/
|
|
454
|
+
export declare const RoundDescriptorSchema: GenMessage<RoundDescriptor>;
|
|
455
|
+
/**
|
|
456
|
+
* A contribution (member → coordinator) or a result (coordinator →
|
|
457
|
+
* member) for round `round`: the descriptor it was computed under, how many
|
|
458
|
+
* `RoundChunk` frames follow, and — for `all_reduce_max_flags` only, which
|
|
459
|
+
* carries no tensor — the control word. Every tensor's bytes travel in the
|
|
460
|
+
* chunks, each at most the listener's `[server.limits] max_message_bytes`.
|
|
461
|
+
*
|
|
462
|
+
* @generated from message jammi.v1.gang.RoundPayload
|
|
463
|
+
*/
|
|
464
|
+
export type RoundPayload = Message<"jammi.v1.gang.RoundPayload"> & {
|
|
465
|
+
/**
|
|
466
|
+
* @generated from field: uint64 round = 1;
|
|
467
|
+
*/
|
|
468
|
+
round: bigint;
|
|
469
|
+
/**
|
|
470
|
+
* @generated from field: jammi.v1.gang.RoundDescriptor descriptor = 2;
|
|
471
|
+
*/
|
|
472
|
+
descriptor?: RoundDescriptor | undefined;
|
|
473
|
+
/**
|
|
474
|
+
* @generated from field: uint32 chunk_count = 3;
|
|
475
|
+
*/
|
|
476
|
+
chunkCount: number;
|
|
477
|
+
/**
|
|
478
|
+
* @generated from field: uint32 flags = 4;
|
|
479
|
+
*/
|
|
480
|
+
flags: number;
|
|
481
|
+
};
|
|
482
|
+
/**
|
|
483
|
+
* Describes the message jammi.v1.gang.RoundPayload.
|
|
484
|
+
* Use `create(RoundPayloadSchema)` to create a new message.
|
|
485
|
+
*/
|
|
486
|
+
export declare const RoundPayloadSchema: GenMessage<RoundPayload>;
|
|
487
|
+
/**
|
|
488
|
+
* One slice of a payload's Arrow IPC bytes: chunk `index` of the
|
|
489
|
+
* `chunk_count` its `RoundPayload` announced, in order.
|
|
490
|
+
*
|
|
491
|
+
* @generated from message jammi.v1.gang.RoundChunk
|
|
492
|
+
*/
|
|
493
|
+
export type RoundChunk = Message<"jammi.v1.gang.RoundChunk"> & {
|
|
494
|
+
/**
|
|
495
|
+
* @generated from field: uint64 round = 1;
|
|
496
|
+
*/
|
|
497
|
+
round: bigint;
|
|
498
|
+
/**
|
|
499
|
+
* @generated from field: uint32 index = 2;
|
|
500
|
+
*/
|
|
501
|
+
index: number;
|
|
502
|
+
/**
|
|
503
|
+
* @generated from field: bytes ipc = 3;
|
|
504
|
+
*/
|
|
505
|
+
ipc: Uint8Array;
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* Describes the message jammi.v1.gang.RoundChunk.
|
|
509
|
+
* Use `create(RoundChunkSchema)` to create a new message.
|
|
510
|
+
*/
|
|
511
|
+
export declare const RoundChunkSchema: GenMessage<RoundChunk>;
|
|
512
|
+
/**
|
|
513
|
+
* A member holds round `round`'s result, decoded and unapplied.
|
|
514
|
+
*
|
|
515
|
+
* @generated from message jammi.v1.gang.RoundAck
|
|
516
|
+
*/
|
|
517
|
+
export type RoundAck = Message<"jammi.v1.gang.RoundAck"> & {
|
|
518
|
+
/**
|
|
519
|
+
* @generated from field: uint64 round = 1;
|
|
520
|
+
*/
|
|
521
|
+
round: bigint;
|
|
522
|
+
};
|
|
523
|
+
/**
|
|
524
|
+
* Describes the message jammi.v1.gang.RoundAck.
|
|
525
|
+
* Use `create(RoundAckSchema)` to create a new message.
|
|
526
|
+
*/
|
|
527
|
+
export declare const RoundAckSchema: GenMessage<RoundAck>;
|
|
528
|
+
/**
|
|
529
|
+
* Every member ACKed round `round`: apply it.
|
|
530
|
+
*
|
|
531
|
+
* @generated from message jammi.v1.gang.RoundCommit
|
|
532
|
+
*/
|
|
533
|
+
export type RoundCommit = Message<"jammi.v1.gang.RoundCommit"> & {
|
|
534
|
+
/**
|
|
535
|
+
* @generated from field: uint64 round = 1;
|
|
536
|
+
*/
|
|
537
|
+
round: bigint;
|
|
538
|
+
};
|
|
539
|
+
/**
|
|
540
|
+
* Describes the message jammi.v1.gang.RoundCommit.
|
|
541
|
+
* Use `create(RoundCommitSchema)` to create a new message.
|
|
542
|
+
*/
|
|
543
|
+
export declare const RoundCommitSchema: GenMessage<RoundCommit>;
|
|
544
|
+
/**
|
|
545
|
+
* Round `round` is abandoned on every rank; `detail` is the gang's fault,
|
|
546
|
+
* quoted by every later refusal on the rank that receives it.
|
|
547
|
+
*
|
|
548
|
+
* @generated from message jammi.v1.gang.RoundFault
|
|
549
|
+
*/
|
|
550
|
+
export type RoundFault = Message<"jammi.v1.gang.RoundFault"> & {
|
|
551
|
+
/**
|
|
552
|
+
* @generated from field: uint64 round = 1;
|
|
553
|
+
*/
|
|
554
|
+
round: bigint;
|
|
555
|
+
/**
|
|
556
|
+
* @generated from field: string detail = 2;
|
|
557
|
+
*/
|
|
558
|
+
detail: string;
|
|
559
|
+
};
|
|
560
|
+
/**
|
|
561
|
+
* Describes the message jammi.v1.gang.RoundFault.
|
|
562
|
+
* Use `create(RoundFaultSchema)` to create a new message.
|
|
563
|
+
*/
|
|
564
|
+
export declare const RoundFaultSchema: GenMessage<RoundFault>;
|
|
565
|
+
/**
|
|
566
|
+
* Why a session ended without ever handing control to a rank body. Additive:
|
|
567
|
+
* a later reason joins this set; none already declared is ever renamed or
|
|
568
|
+
* removed.
|
|
569
|
+
*
|
|
570
|
+
* @generated from enum jammi.v1.gang.AbortReason
|
|
571
|
+
*/
|
|
572
|
+
export declare enum AbortReason {
|
|
573
|
+
/**
|
|
574
|
+
* @generated from enum value: ABORT_REASON_UNSPECIFIED = 0;
|
|
575
|
+
*/
|
|
576
|
+
UNSPECIFIED = 0,
|
|
577
|
+
/**
|
|
578
|
+
* This host is draining — the only host-initiated cut.
|
|
579
|
+
*
|
|
580
|
+
* @generated from enum value: ABORT_REASON_DRAIN = 1;
|
|
581
|
+
*/
|
|
582
|
+
DRAIN = 1,
|
|
583
|
+
/**
|
|
584
|
+
* A row fact refuted admission (status, claimant, attempt, lease, or the
|
|
585
|
+
* training-set identity no longer holds) — assembly-scoped.
|
|
586
|
+
*
|
|
587
|
+
* @generated from enum value: ABORT_REASON_REFUTED = 2;
|
|
588
|
+
*/
|
|
589
|
+
REFUTED = 2,
|
|
590
|
+
/**
|
|
591
|
+
* The rank itself sent `Cancel`.
|
|
592
|
+
*
|
|
593
|
+
* @generated from enum value: ABORT_REASON_CANCELLED = 3;
|
|
594
|
+
*/
|
|
595
|
+
CANCELLED = 3,
|
|
596
|
+
/**
|
|
597
|
+
* The admitted session reached its park bound with no body to run.
|
|
598
|
+
*
|
|
599
|
+
* @generated from enum value: ABORT_REASON_NO_BODY = 4;
|
|
600
|
+
*/
|
|
601
|
+
NO_BODY = 4,
|
|
602
|
+
/**
|
|
603
|
+
* This host's own object store faulted at re-verification — member-scoped,
|
|
604
|
+
* never counted against the assembly's attempt budget.
|
|
605
|
+
*
|
|
606
|
+
* @generated from enum value: ABORT_REASON_STORE_UNAVAILABLE = 5;
|
|
607
|
+
*/
|
|
608
|
+
STORE_UNAVAILABLE = 5,
|
|
609
|
+
/**
|
|
610
|
+
* The catalog did not answer within tolerance — transient, assembly-scoped,
|
|
611
|
+
* never counted against the assembly's attempt budget.
|
|
612
|
+
*
|
|
613
|
+
* @generated from enum value: ABORT_REASON_UNAVAILABLE = 6;
|
|
614
|
+
*/
|
|
615
|
+
UNAVAILABLE = 6
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Describes the enum jammi.v1.gang.AbortReason.
|
|
619
|
+
*/
|
|
620
|
+
export declare const AbortReasonSchema: GenEnum<AbortReason>;
|
|
621
|
+
/**
|
|
622
|
+
* The collective a round computes. CLOSED: a reader matches every value
|
|
623
|
+
* exhaustively, and `ROUND_VERB_UNSPECIFIED` (or any value it does not
|
|
624
|
+
* know) is refused, never treated as any verb.
|
|
625
|
+
*
|
|
626
|
+
* @generated from enum jammi.v1.gang.RoundVerb
|
|
627
|
+
*/
|
|
628
|
+
export declare enum RoundVerb {
|
|
629
|
+
/**
|
|
630
|
+
* @generated from enum value: ROUND_VERB_UNSPECIFIED = 0;
|
|
631
|
+
*/
|
|
632
|
+
UNSPECIFIED = 0,
|
|
633
|
+
/**
|
|
634
|
+
* @generated from enum value: ROUND_VERB_ALL_GATHER = 1;
|
|
635
|
+
*/
|
|
636
|
+
ALL_GATHER = 1,
|
|
637
|
+
/**
|
|
638
|
+
* @generated from enum value: ROUND_VERB_ALL_REDUCE_SUM = 2;
|
|
639
|
+
*/
|
|
640
|
+
ALL_REDUCE_SUM = 2,
|
|
641
|
+
/**
|
|
642
|
+
* @generated from enum value: ROUND_VERB_ALL_REDUCE_MAX_FLAGS = 3;
|
|
643
|
+
*/
|
|
644
|
+
ALL_REDUCE_MAX_FLAGS = 3,
|
|
645
|
+
/**
|
|
646
|
+
* @generated from enum value: ROUND_VERB_BROADCAST = 4;
|
|
647
|
+
*/
|
|
648
|
+
BROADCAST = 4,
|
|
649
|
+
/**
|
|
650
|
+
* @generated from enum value: ROUND_VERB_BARRIER = 5;
|
|
651
|
+
*/
|
|
652
|
+
BARRIER = 5
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Describes the enum jammi.v1.gang.RoundVerb.
|
|
656
|
+
*/
|
|
657
|
+
export declare const RoundVerbSchema: GenEnum<RoundVerb>;
|
|
658
|
+
/**
|
|
659
|
+
* The element type of one tensor a round carries. The `Peer` collective
|
|
660
|
+
* carries exactly these three; every other element type is refused at the
|
|
661
|
+
* seam before a descriptor is ever built.
|
|
662
|
+
*
|
|
663
|
+
* @generated from enum jammi.v1.gang.ElementType
|
|
664
|
+
*/
|
|
665
|
+
export declare enum ElementType {
|
|
666
|
+
/**
|
|
667
|
+
* @generated from enum value: ELEMENT_TYPE_UNSPECIFIED = 0;
|
|
668
|
+
*/
|
|
669
|
+
UNSPECIFIED = 0,
|
|
670
|
+
/**
|
|
671
|
+
* @generated from enum value: ELEMENT_TYPE_F32 = 1;
|
|
672
|
+
*/
|
|
673
|
+
F32 = 1,
|
|
674
|
+
/**
|
|
675
|
+
* @generated from enum value: ELEMENT_TYPE_F16 = 2;
|
|
676
|
+
*/
|
|
677
|
+
F16 = 2,
|
|
678
|
+
/**
|
|
679
|
+
* @generated from enum value: ELEMENT_TYPE_BF16 = 3;
|
|
680
|
+
*/
|
|
681
|
+
BF16 = 3
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Describes the enum jammi.v1.gang.ElementType.
|
|
685
|
+
*/
|
|
686
|
+
export declare const ElementTypeSchema: GenEnum<ElementType>;
|
|
687
|
+
/**
|
|
688
|
+
* GangService — the coordinator-to-member admission wire for a multi-host
|
|
689
|
+
* gang run. One rpc, `RunRank`, bidi: a member opens the stream and sends
|
|
690
|
+
* exactly one `Assign` naming its job coordinates (never training-set
|
|
691
|
+
* identity, which lives on the `jobs` row and is resolved host-side, never
|
|
692
|
+
* carried on the wire); the handler admits or refuses it, and an admitted
|
|
693
|
+
* session is HELD under re-verification until it ends `Aborted{reason}`.
|
|
694
|
+
*
|
|
695
|
+
* No `FetchPartition`: a rank reads its partition from the shared object
|
|
696
|
+
* store using the row's own recorded training-set identity — peer-local,
|
|
697
|
+
* never a wire fetch of bytes every member can already read.
|
|
698
|
+
*
|
|
699
|
+
* The ROUND PROTOCOL between admitted ranks rides the same stream, after
|
|
700
|
+
* `Admitted`, as the `round_*` arms of both frames (see "The round protocol"
|
|
701
|
+
* below): a member's contribution flows member → coordinator on `RankEvent`,
|
|
702
|
+
* the coordinator's rank-ordered fold flows coordinator → member on
|
|
703
|
+
* `RankControl`, and a round applies on a rank only after `RoundCommit`,
|
|
704
|
+
* which the coordinator sends only after every member's `RoundAck`.
|
|
705
|
+
*
|
|
706
|
+
* Served ONLY on the internal `[server] peer_bind` listener, beside
|
|
707
|
+
* `PeerService` — never on the public gRPC + Flight SQL listener (which
|
|
708
|
+
* answers UNIMPLEMENTED for these paths), never wrapped by the tenant-binding
|
|
709
|
+
* layer. Invariant I-GANG: a caller-supplied tenant is never read; the
|
|
710
|
+
* member derives the tenant from the verified `jobs` row and resolves a
|
|
711
|
+
* multi-host job's training set under that tenant alone.
|
|
712
|
+
*
|
|
713
|
+
* Message shape and arity are frozen by review, not by the api-freeze
|
|
714
|
+
* guard: that guard decodes only the `PACKAGE`/`(Service, Method)` tokens.
|
|
715
|
+
* A later change MAY add fields or oneof variants but MUST NOT rename or
|
|
716
|
+
* remove anything declared here.
|
|
717
|
+
*
|
|
718
|
+
* @generated from service jammi.v1.gang.GangService
|
|
719
|
+
*/
|
|
720
|
+
export declare const GangService: GenService<{
|
|
721
|
+
/**
|
|
722
|
+
* @generated from rpc jammi.v1.gang.GangService.RunRank
|
|
723
|
+
*/
|
|
724
|
+
runRank: {
|
|
725
|
+
methodKind: "bidi_streaming";
|
|
726
|
+
input: typeof RankControlSchema;
|
|
727
|
+
output: typeof RankEventSchema;
|
|
728
|
+
};
|
|
729
|
+
}>;
|
|
730
|
+
//# sourceMappingURL=gang_pb.d.ts.map
|