The sum phase: the replicated sum, or, with gradient partitioning, every
owner's projection and then one reduction per coordinate owner.
1289def dpoSumPhase =
1290 (lambda unrestricted owners : Nat .
1291 (lambda unrestricted sum : (family GlobalProtocol (family OrderedCombineOperation (family RegionTransferIdentity)) (family RegionTransferIdentity) (family ProtocolNoDecision)) .
1292 (lambda unrestricted gradients : (family StdList (family GlobalProtocol (family OrderedCombineOperation (family RegionTransferIdentity)) (family RegionTransferIdentity) (family ProtocolNoDecision))) .
1293 (lambda unrestricted tail : (family GlobalProtocol (family DataParallelOwnedOperation) (family RegionTransferIdentity) (family ProtocolNoDecision)) .
1294 (nat-eliminate
1295 (lambda unrestricted partitioned : Nat .
1296 (family
1297 GlobalProtocol
1298 (family DataParallelOwnedOperation)
1299 (family RegionTransferIdentity)
1300 (family ProtocolNoDecision)))
1301 (dpoSpliced
1302 (lambda unrestricted value : (family OrderedCombineOperation (family RegionTransferIdentity)) .
1303 (constructor DataParallelOwnedOperation DataParallelOwnedSum value))
1304 sum
1305 tail)
1306 (lambda unrestricted previous : Nat .
1307 (lambda unrestricted ignored : (family GlobalProtocol (family DataParallelOwnedOperation) (family RegionTransferIdentity) (family ProtocolNoDecision)) .
1308 (dpoEachRole
1309 owners
1310 (constructor DataParallelOwnedOperation DataParallelOwnedProject)
1311 (stdListFold
1312 Nat
1313 (family
1314 GlobalProtocol
1315 (family DataParallelOwnedOperation)
1316 (family RegionTransferIdentity)
1317 (family ProtocolNoDecision))
1318 (lambda unrestricted target : Nat .
1319 (lambda unrestricted rest : (family GlobalProtocol (family DataParallelOwnedOperation) (family RegionTransferIdentity) (family ProtocolNoDecision)) .
1320 (dpoSpliced
1321 (lambda unrestricted value : (family OrderedCombineOperation (family RegionTransferIdentity)) .
1322 (constructor
1323 DataParallelOwnedOperation
1324 DataParallelOwnedGradient
1325 target
1326 value))
1327 (stdListHeadOr
1328 (family
1329 GlobalProtocol
1330 (family OrderedCombineOperation (family RegionTransferIdentity))
1331 (family RegionTransferIdentity)
1332 (family ProtocolNoDecision))
1333 sum
1334 (stdListDrop
1335 (family
1336 GlobalProtocol
1337 (family OrderedCombineOperation (family RegionTransferIdentity))
1338 (family RegionTransferIdentity)
1339 (family ProtocolNoDecision))
1340 target
1341 gradients))
1342 rest)))
1343 tail
1344 (stdListNaturalsBelow
1345 (stdListLength
1346 (family
1347 GlobalProtocol
1348 (family OrderedCombineOperation (family RegionTransferIdentity))
1349 (family RegionTransferIdentity)
1350 (family ProtocolNoDecision))
1351 gradients))))))
1352 (naturalNonzero
1353 (stdListLength
1354 (family
1355 GlobalProtocol
1356 (family OrderedCombineOperation (family RegionTransferIdentity))
1357 (family RegionTransferIdentity)
1358 (family ProtocolNoDecision))
1359 gradients)))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.