One participant holds x=1; the other holds x=1 and x=2. A second GPU
issue computes the second contribution. Both gradients participate in the
next shared parameter; a repeated issue counter is private to each channel.
127def pgContribution =
128 (lambda unrestricted layout : (family NvidiaPlanHostLayout) .
129 (lambda unrestricted entry : Nat .
130 (lambda unrestricted data : Nat .
131 (lambda unrestricted inputOffset : Nat .
132 (lambda unrestricted targetOffset : Nat .
133 (lambda unrestricted outputOffset : Nat .
134 (lambda unrestricted counter : Nat .
135 (lambda unrestricted scratch : Nat .
136 (lambda unrestricted second : Nat .
137 (lambda unrestricted worker : Nat .
138 (lambda unrestricted weight : Nat .
139 (lambda unrestricted destination : Nat .
140 (pgGradient
141 layout
142 entry
143 data
144 inputOffset
145 targetOffset
146 outputOffset
147 counter
148 scratch
149 weight
150 destination
151 1
152 (peerByRole
153 worker
154 peerEnd
155 (pgGradient
156 layout
157 entry
158 data
159 inputOffset
160 targetOffset
161 outputOffset
162 counter
163 scratch
164 weight
165 second
166 2
167 (peerBinary peerAdd destination destination second peerEnd))))))))))))))))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.