Source/Packages

Runtime.NativeDataParallelOwned

packages/execution/src/Runtime/NativeDataParallelOwned.alpha

2,874 lines126 declarations142.2 KiBSHA-256 de18258423c4

def · lines 1289–1359

dpoSumPhase

Full file
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.