Preserve the typed identity and launch-resource facts until the NVIDIA
backend has seen the complete launch graph. The old byte-only fold remains
as an oracle helper, but release realization consumes this target-owned
region vocabulary so unreachable images can be removed before QMD emission.
122def coppeliusNvidiaDeviceRegions =
123 (lambda unrestricted images : (family CoppeliusDeviceImages) .
124 (eliminate
125 CoppeliusDeviceImages
126 (lambda unrestricted current : (family CoppeliusDeviceImages) .
127 (family NvidiaDeviceRegions))
128 images
129 (branch
130 CoppeliusDeviceImagesEnd
131 .
132 (constructor NvidiaDeviceRegions NvidiaDeviceRegionsEnd))
133 (branch
134 CoppeliusDeviceImagesNext
135 image
136 tail
137 induction
138 .
139 (eliminate
140 CoppeliusDeviceImage
141 (lambda unrestricted current : (family CoppeliusDeviceImage) .
142 (family NvidiaDeviceRegions))
143 image
144 (branch
145 CoppeliusDeviceImageValue
146 identity
147 program
148 material
149 registers
150 blockX
151 sharedBytes
152 .
153 (constructor
154 NvidiaDeviceRegions
155 NvidiaDeviceRegionsNext
156 (constructor
157 NvidiaDeviceRegion
158 NvidiaDeviceProgramRegion
159 identity
160 program
161 registers
162 blockX
163 sharedBytes
164 (sm121LowerRealization program registers))
165 induction))))))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.