Commit b7274b6
committed
[Offload] Copy loaded images into managed storage
Summary:
Currently we have this `__tgt_device_image` indirection which just takes
a reference to some pointers. This was all find and good when the only
usage of this was from a section of GPU code that came from an ELF
constant section. However, we have expanded beyond that and now need to
worry about managing lifetimes. We have code that references the image
even after it was loaded internally. This patch changes the
implementation to instaed copy the memory buffer and manage it locally.
This PR reworks the JIT and other image handling to directly manage its
own memory. We now don't need to duplicate this behavior externally at
the Offload API level. Also we actually free these if the user unloads
them.
Upside, less likely to crash and burn. Downside, more latency when
loading an image.1 parent 134a58a commit b7274b6
File tree
8 files changed
+89
-198
lines changed- offload
- liboffload/src
- plugins-nextgen
- amdgpu/src
- common
- include
- src
- cuda/src
- host/src
8 files changed
+89
-198
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
| 160 | + | |
| 161 | + | |
164 | 162 | | |
165 | | - | |
166 | 163 | | |
167 | | - | |
| 164 | + | |
168 | 165 | | |
169 | 166 | | |
170 | 167 | | |
| |||
891 | 888 | | |
892 | 889 | | |
893 | 890 | | |
894 | | - | |
895 | | - | |
896 | | - | |
897 | | - | |
898 | | - | |
899 | | - | |
900 | | - | |
901 | | - | |
902 | | - | |
903 | | - | |
904 | | - | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
909 | 895 | | |
910 | | - | |
911 | | - | |
912 | | - | |
913 | | - | |
914 | | - | |
| 896 | + | |
915 | 897 | | |
| 898 | + | |
916 | 899 | | |
917 | 900 | | |
918 | 901 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
464 | 464 | | |
465 | 465 | | |
466 | 466 | | |
467 | | - | |
468 | | - | |
| 467 | + | |
| 468 | + | |
469 | 469 | | |
470 | 470 | | |
471 | 471 | | |
| |||
2160 | 2160 | | |
2161 | 2161 | | |
2162 | 2162 | | |
2163 | | - | |
| 2163 | + | |
| 2164 | + | |
| 2165 | + | |
| 2166 | + | |
| 2167 | + | |
| 2168 | + | |
2164 | 2169 | | |
2165 | 2170 | | |
2166 | 2171 | | |
| |||
2183 | 2188 | | |
2184 | 2189 | | |
2185 | 2190 | | |
2186 | | - | |
2187 | | - | |
2188 | | - | |
2189 | | - | |
2190 | 2191 | | |
2191 | 2192 | | |
2192 | 2193 | | |
2193 | 2194 | | |
2194 | 2195 | | |
2195 | | - | |
2196 | | - | |
2197 | | - | |
| 2196 | + | |
2198 | 2197 | | |
2199 | 2198 | | |
2200 | 2199 | | |
| |||
2321 | 2320 | | |
2322 | 2321 | | |
2323 | 2322 | | |
2324 | | - | |
2325 | | - | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
2326 | 2326 | | |
2327 | 2327 | | |
2328 | | - | |
| 2328 | + | |
2329 | 2329 | | |
2330 | 2330 | | |
2331 | 2331 | | |
| |||
3105 | 3105 | | |
3106 | 3106 | | |
3107 | 3107 | | |
3108 | | - | |
| 3108 | + | |
3109 | 3109 | | |
3110 | 3110 | | |
3111 | 3111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 54 | + | |
| 55 | + | |
61 | 56 | | |
62 | 57 | | |
63 | 58 | | |
64 | 59 | | |
65 | 60 | | |
66 | 61 | | |
67 | | - | |
68 | | - | |
| 62 | + | |
| 63 | + | |
69 | 64 | | |
70 | 65 | | |
71 | 66 | | |
72 | 67 | | |
73 | 68 | | |
74 | | - | |
| 69 | + | |
75 | 70 | | |
76 | 71 | | |
77 | 72 | | |
| |||
92 | 87 | | |
93 | 88 | | |
94 | 89 | | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | 90 | | |
104 | 91 | | |
105 | 92 | | |
| |||
Lines changed: 10 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
309 | | - | |
310 | | - | |
311 | | - | |
| 309 | + | |
| 310 | + | |
312 | 311 | | |
313 | 312 | | |
314 | 313 | | |
315 | 314 | | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | 315 | | |
| 316 | + | |
| 317 | + | |
323 | 318 | | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
| 319 | + | |
| 320 | + | |
329 | 321 | | |
330 | 322 | | |
331 | 323 | | |
332 | 324 | | |
333 | 325 | | |
334 | 326 | | |
335 | 327 | | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | 328 | | |
348 | | - | |
| 329 | + | |
349 | 330 | | |
350 | 331 | | |
351 | | - | |
352 | | - | |
353 | | - | |
| 332 | + | |
354 | 333 | | |
355 | 334 | | |
356 | 335 | | |
357 | 336 | | |
358 | 337 | | |
359 | 338 | | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | 339 | | |
364 | 340 | | |
365 | 341 | | |
| |||
831 | 807 | | |
832 | 808 | | |
833 | 809 | | |
834 | | - | |
| 810 | + | |
835 | 811 | | |
836 | | - | |
| 812 | + | |
837 | 813 | | |
838 | 814 | | |
839 | 815 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | 52 | | |
60 | 53 | | |
61 | 54 | | |
| |||
66 | 59 | | |
67 | 60 | | |
68 | 61 | | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
| 62 | + | |
| 63 | + | |
73 | 64 | | |
74 | | - | |
| 65 | + | |
75 | 66 | | |
76 | 67 | | |
77 | 68 | | |
| |||
238 | 229 | | |
239 | 230 | | |
240 | 231 | | |
241 | | - | |
| 232 | + | |
242 | 233 | | |
243 | 234 | | |
244 | 235 | | |
| |||
277 | 268 | | |
278 | 269 | | |
279 | 270 | | |
280 | | - | |
281 | | - | |
282 | | - | |
| 271 | + | |
| 272 | + | |
283 | 273 | | |
284 | 274 | | |
285 | 275 | | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
| 276 | + | |
| 277 | + | |
292 | 278 | | |
293 | 279 | | |
294 | 280 | | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
| 281 | + | |
308 | 282 | | |
309 | 283 | | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
314 | 287 | | |
| 288 | + | |
315 | 289 | | |
316 | 290 | | |
317 | 291 | | |
318 | 292 | | |
319 | 293 | | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
| 294 | + | |
334 | 295 | | |
0 commit comments