diff --git a/offload-wg/meeting-minutes/images/image1.png b/offload-wg/meeting-minutes/images/image1.png new file mode 100644 index 0000000..0525f9f Binary files /dev/null and b/offload-wg/meeting-minutes/images/image1.png differ diff --git a/offload-wg/meeting-minutes/images/image2.png b/offload-wg/meeting-minutes/images/image2.png new file mode 100644 index 0000000..7925fd7 Binary files /dev/null and b/offload-wg/meeting-minutes/images/image2.png differ diff --git a/offload-wg/meeting-minutes/images/image3.png b/offload-wg/meeting-minutes/images/image3.png new file mode 100644 index 0000000..5260d23 Binary files /dev/null and b/offload-wg/meeting-minutes/images/image3.png differ diff --git a/offload-wg/meeting-minutes/images/image4.png b/offload-wg/meeting-minutes/images/image4.png new file mode 100644 index 0000000..659c247 Binary files /dev/null and b/offload-wg/meeting-minutes/images/image4.png differ diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-01-24.md b/offload-wg/meeting-minutes/offload-minutes-2024-01-24.md new file mode 100644 index 0000000..d5aa50f --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-01-24.md @@ -0,0 +1,141 @@ +# Wednesday, Jan 24, 2024, 7:00 - 8:00 am PST + +# Agenda (35 people) + + 1. # Welcome + + 2. Ics file is broken. Johannes will try again. + 3. Offload folder PR: [https://github.com/llvm/llvm-project/pull/77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787029401&usg=AOvVaw2jBAnkgBVLrk9MTjnpn2OY) + 4. Possible API discussions + + + 1. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820787030065&usg=AOvVaw1gTqNz6vBPlgVcY9n_BarK) + 2. Discussion started, see issue: [https://github.com/llvm/llvm-project/issues/79304](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/79304&sa=D&source=editors&ust=1779820787030544&usg=AOvVaw2grbhrR4ErOtpjuisVi3Oc) + + + 1. Stability guarantee? + 2. Error handling + 3. Nameing, prefix, suffix + 4. Source locations + 5. Count API invocations + 6. Coding style: + + + 1. Clang format everything + 2. C++, rules of LLVM + 3. API is C? + + + 7. "Language" libraries on top of plugin API: + + + 1. Libllvmomptarget.so, Libllvmkernel.so, Libllvmjulia.so, … + + + 8. Unit testing, coverage testing + + + 5. Next steps: + + + 1. Do we need a separate offload pr subscribe team, something like [https://github.com/orgs/llvm/teams/pr-subscribers-offload](https://www.google.com/url?q=https://github.com/orgs/llvm/teams/pr-subscribers-offload&sa=D&source=editors&ust=1779820787032991&usg=AOvVaw0kZ7Mid7XBftIwDwjpMvJU)? + + + 1. Shilei will take care as soon as the folders exist + 2. Labeling (libomptarget, offload) + + + 2. Should we use discourse RFC for key component design discussion instead of llvm issues? + 3. ZORG offload builder (as template for people), in addition to OpenMP offload builder. + 4. Backward compatibility of user exposed env variables ([https://openmp.llvm.org/design/Runtimes.html#libopenmptarget-environment-vars](https://www.google.com/url?q=https://openmp.llvm.org/design/Runtimes.html%23libopenmptarget-environment-vars&sa=D&source=editors&ust=1779820787034727&usg=AOvVaw1YwA_A-JzwpO_1pjsQ1gpx)) + + + +# + +* * * + +# + +# Fri, Jan 12, 2024, 9:00 - 10:00 am PST + +# Agenda (27 people) + + 1. Welcome + + + * Inline notes + + + 2. Future meetings + + + * Wednesday 7am pacific, every two weeks. + + + * Starting Jan 24, 24 + * Updates to the OpenMP invite will happen too, two separate invites. + + + * Alternating with the OpenMP meeting + + + 3. Webpage, docs, etc. + + + * Talk to Anton for webpage + * Offload folder PR: [https://github.com/llvm/llvm-project/pull/77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787037383&usg=AOvVaw1KUeK2kVlFaWa5yoJL3V9-) + + + * Please review + + + * Sphinx webpage, like Clang and OpenMP (.llvm.org) + + + 4. Initial PRs + + + * Offload folder PR: [https://github.com/llvm/llvm-project/pull/77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787038309&usg=AOvVaw0IcEZHvfeyw9tLcG4dSMjj) + * Move libomptarget PR: [https://github.com/llvm/llvm-project/pull/75125](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/75125&sa=D&source=editors&ust=1779820787038786&usg=AOvVaw0NB3X7N6KzVTSH8azoeme1) + + + * Plan: move then "restore"; Johannes + * Driver switch to pickup liboffload; Joseph + + + * Offload will become the default path for OpenMP shortly after + + + 5. Naming + + + * "offload" wins. + + + 6. Working groups + + + * API Design + + + * Error model, source information, … + + + * Testing + + + * Buildbots, unit tests, lit tests + + + 7. Rust compiler, offload linking + + + * Will this make it easier for the rust compiler + * Should we include/serve (NVIDIA, AMD, …) libdevice? + + + * Will talk to Artem + + + 8. diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-02-07.md b/offload-wg/meeting-minutes/offload-minutes-2024-02-07.md new file mode 100644 index 0000000..5c2f33d --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-02-07.md @@ -0,0 +1,19 @@ +# Wednesday, Feb 7, 2024, 7:00 - 8:00 am PST + +# Agenda + + 325. Removing OpenMP specific operations from the plugin interface + 326. Establishing a consistent init / shutdown order (Stop using global constructors) + 327. Removing the dynamically opened plugin interface + + + 1. Static libraries instead + + + 328. LLVM/libc things to move into LLVM/offload? + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-02-21.md b/offload-wg/meeting-minutes/offload-minutes-2024-02-21.md new file mode 100644 index 0000000..30ac738 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-02-21.md @@ -0,0 +1,22 @@ +# Wednesday, Feb 21, 2024, 7:00 - 8:00 am PST + +# Agenda + + 322. API Tooling (auto generation of headers, documentation, etc) + + + 1. Brief overview of how we do this in Unified Runtime + + + 323. New PR for the move + + + 1. [https://github.com/llvm/llvm-project/pull/82459](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/82459&sa=D&source=editors&ust=1779820787026322&usg=AOvVaw0R2vX1FH5yGDKQlm6SSYOc) + + + 324. + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-03-06.md b/offload-wg/meeting-minutes/offload-minutes-2024-03-06.md new file mode 100644 index 0000000..f7b834a --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-03-06.md @@ -0,0 +1,27 @@ +# Wednesday, March 06, 2024, 7:00 - 8:00 am PST + +# Agenda + + 320. New PR for the move + + + 1. [https://github.com/llvm/llvm-project/pull/82459](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/82459&sa=D&source=editors&ust=1779820787023856&usg=AOvVaw1oMl_uJAgpl-C3legj-iar) + + + + JP can build liboffload. + + Add steps in PR on what was done to help downstream to recreate the steps + + 321. [[Offload][NFC] Add offload subfolder and README #77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787024458&usg=AOvVaw1VFkqgZt6GaIBNTEdPMJAc) + + + 1. Meeting time needs to be updated (ICS file also?) + 2. Should land well in advance before #82459 + 3. Github llvm teams (pr-subscribers, etc) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-03-20.md b/offload-wg/meeting-minutes/offload-minutes-2024-03-20.md new file mode 100644 index 0000000..d77cfa0 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-03-20.md @@ -0,0 +1,41 @@ +# Wednesday, March 20, 2024, 7:00 - 8:00 am PST + +# Agenda + + 316. New PR for the move is done. Zorg patches are up: + + + 1. [https://github.com/llvm/llvm-zorg/pull/141](https://www.google.com/url?q=https://github.com/llvm/llvm-zorg/pull/141&sa=D&source=editors&ust=1779820787020249&usg=AOvVaw3WSvWnQlFKJzbd62h9gi1N) + 2. [https://github.com/llvm/llvm-zorg/pull/142](https://www.google.com/url?q=https://github.com/llvm/llvm-zorg/pull/142&sa=D&source=editors&ust=1779820787020492&usg=AOvVaw1C-J8sqmc97KUE6pzl87BU) + 3. [https://github.com/llvm/llvm-project/pull/77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787020713&usg=AOvVaw0xRo3vjPQ-gNi-N0rInliJ) + 4. [https://github.com/llvm/llvm-project/pull/75125](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/75125&sa=D&source=editors&ust=1779820787020941&usg=AOvVaw1c5rvbBUc1O3vrd1N5j5ry) + + + 1. Llvm org mailing list + + + 317. PGO for GPUs is a working end-to-end prototype now + + + 1. [https://github.com/EthanLuisMcDonough/llvm-project/tree/gpuprofdriver](https://www.google.com/url?q=https://github.com/EthanLuisMcDonough/llvm-project/tree/gpuprofdriver&sa=D&source=editors&ust=1779820787021427&usg=AOvVaw39IDxk-Lw6Yh34bdy2Sfxc) + 2. # Compile with PGO instrumentation +clang -L/dev/shm/YOURNAME/clang/install/lib -L/dev/shm/YOURNAME/clang/install/lib/x86_64-unknown-linux-gnu -fopenmp --offload-arch=native -fprofile-generate-gpu YOUR_FILE.c /dev/shm/YOURNAME/clang/install/lib/x86_64-unknown-linux-gnu/libomptarget.rtl.YOUR_GPU_TARGET.so +# Reprocess data +llvm-profdata merge YOUR_GPU_TARGET.default.profraw -o YOUR_GPU_TARGET.profdata +# Recompile +clang -L/dev/shm/YOURNAME/clang/install/lib -L/dev/shm/YOURNAME/clang/install/lib/x86_64-unknown-linux-gnu -fopenmp --offload-arch=native -fprofile-use-gpu=YOUR_GPU_TARGET.profdata YOUR_FILE.c + + + 318. Tablegen tooling update + 319. Testing + + + 1. Keep a list of issues we discuss in the meetings + + + +# Make 1-3 people the "bug keepers" + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-04-03.md b/offload-wg/meeting-minutes/offload-minutes-2024-04-03.md new file mode 100644 index 0000000..8d43230 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-04-03.md @@ -0,0 +1,47 @@ +# Wednesday, April 3, 2024, 7:00 - 8:00 am PST + +# Agenda + + 312. Statically link plugins + + + 1. [https://github.com/llvm/llvm-project/pull/87009](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/87009&sa=D&source=editors&ust=1779820787017245&usg=AOvVaw0_B1NZktpBdtBakPNPLeR_) + + + 1. Reviews please :) + + + 313. New PR for the move is done. Zorg patches are up: + + + 1. [https://github.com/llvm/llvm-zorg/pull/141](https://www.google.com/url?q=https://github.com/llvm/llvm-zorg/pull/141&sa=D&source=editors&ust=1779820787017665&usg=AOvVaw0dw9vixN8B8SgoIAdtotlj) + 2. [https://github.com/llvm/llvm-zorg/pull/142](https://www.google.com/url?q=https://github.com/llvm/llvm-zorg/pull/142&sa=D&source=editors&ust=1779820787017900&usg=AOvVaw3MAFRjkEoFOZnyHl6LE4-1) + 3. [https://github.com/llvm/llvm-project/pull/77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787018166&usg=AOvVaw0yOvmeyKWQrdWZcfrCfrae) + 4. [https://github.com/llvm/llvm-project/pull/75125](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/75125&sa=D&source=editors&ust=1779820787018440&usg=AOvVaw375Wo0AsJ-ETs6Im9FDK_w) + + + 1. Llvm org mailing list + + + 5. Ompt + standalone built issues being looked at + + + 314. Offload Buildbot: + + + 1. [https://lab.llvm.org/staging/#/builders/191](https://www.google.com/url?q=https://lab.llvm.org/staging/%23/builders/191&sa=D&source=editors&ust=1779820787019018&usg=AOvVaw1zaa4emJFQDM-bLCBM6LBM) + + + 315. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" + + + +# GPU/Device PGO working, PRs are being prepared + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-04-17.md b/offload-wg/meeting-minutes/offload-minutes-2024-04-17.md new file mode 100644 index 0000000..8a9b95e --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-04-17.md @@ -0,0 +1,54 @@ +# Wednesday, April 17, 2024, 7:00 - 8:00 am PST + +# Agenda + + 306. Statically link plugins + + + 1. [https://github.com/llvm/llvm-project/pull/87009](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/87009&sa=D&source=editors&ust=1779820787013872&usg=AOvVaw0CfOfnhOUO_jz5g4x2e49r) + + + 1. Reviews please :) + + + 307. New PR for the move is done. Zorg patches are up: + + + 1. [https://github.com/llvm/llvm-project/pull/77154](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/77154&sa=D&source=editors&ust=1779820787014397&usg=AOvVaw2-W3Kt6uI3cya_5LGx3Q4O) + 2. [https://github.com/llvm/llvm-project/pull/75125](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/75125&sa=D&source=editors&ust=1779820787014622&usg=AOvVaw3qlJSjRxZr2MTsCZ9dxih5) + + + 1. llvm org mailing list + + + 3. Ompt + standalone built issues being looked at + + + 1. [https://github.com/llvm/llvm-project/pull/88957](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88957&sa=D&source=editors&ust=1779820787015086&usg=AOvVaw1fK11o7LpN9Ti5gn3tuGBd) builds on top of #75125 + + + 308. Offload Buildbot: + + + 1. [https://lab.llvm.org/staging/#/builders/191](https://www.google.com/url?q=https://lab.llvm.org/staging/%23/builders/191&sa=D&source=editors&ust=1779820787015394&usg=AOvVaw2xR9ysEJa1ukLOp_v6Y74J) + + + 309. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" + + + 310. GPU/Device PGO working, PRs are being prepared + 311. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820787016111&usg=AOvVaw0boRLBoxUt9COsMMVR1jIy) + 2. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto&sa=D&source=editors&ust=1779820787016489&usg=AOvVaw1z9qVxYxqB8YPxR8jEXnDP) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-05-01.md b/offload-wg/meeting-minutes/offload-minutes-2024-05-01.md new file mode 100644 index 0000000..fc9883f --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-05-01.md @@ -0,0 +1,51 @@ +# Wednesday, May 1, 2024, 7:00 - 8:00 am PST + +# Agenda + + 298. Statically link plugins + + + 1. [https://github.com/llvm/llvm-project/pull/87009](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/87009&sa=D&source=editors&ust=1779820787010777&usg=AOvVaw19qWaiJhOa46a8-TFtt9-o) + + + 1. Reviews please :) + + + 299. New PR for the move is done. Zorg patches are up: + + + 1. Ompt + standalone built issues being looked at + + + 1. [https://github.com/llvm/llvm-project/pull/88957](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88957&sa=D&source=editors&ust=1779820787011293&usg=AOvVaw06peFB3mhJrjb-0yEZ4Okx) builds on top of #75125 + + + 300. Offload Buildbot: + + + 1. [https://lab.llvm.org/staging/#/builders/191](https://www.google.com/url?q=https://lab.llvm.org/staging/%23/builders/191&sa=D&source=editors&ust=1779820787011588&usg=AOvVaw0wSdqZN_D6Ht-O5wLRypCr) + 2. Non-buildbot testing pipelines: [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820787011870&usg=AOvVaw3Ipl3eY1OVBBhCCVPuL6l7) + + + 301. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 302. GPU/Device PGO working, PRs are being prepared + 303. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820787012554&usg=AOvVaw2FWGOIDClePy8WGwbyYUc5) (Please review) + + + 304. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820787013023&usg=AOvVaw3Zy3nhTbChLloZfJPeOhCm) + 305. Adding SYCL offload support (Intel : Arvind) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-05-15.md b/offload-wg/meeting-minutes/offload-minutes-2024-05-15.md new file mode 100644 index 0000000..0be0fe1 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-05-15.md @@ -0,0 +1,36 @@ +# Wednesday, May 15, 2024, 7:00 - 8:00 am PST + +# Agenda + + 289. Build regressions: [https://github.com/llvm/llvm-project/issues/75124#issuecomment-2106147001](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/75124%23issuecomment-2106147001&sa=D&source=editors&ust=1779820787008295&usg=AOvVaw3YL46-66oYQPN2BWxeaDZy) + 290. Statically link plugins has landed + 291. Offload Buildbot: + + + 1. [https://lab.llvm.org/staging/#/builders/191](https://www.google.com/url?q=https://lab.llvm.org/staging/%23/builders/191&sa=D&source=editors&ust=1779820787008663&usg=AOvVaw2fBDzlGLF9-5qxPd17u_mp) + 2. Non-buildbot testing pipelines: [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820787008947&usg=AOvVaw0CGhU66_IlJM-5XsIJx1AC) + + + 292. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 293. GPU/Device PGO working, PRs are being prepared + 294. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820787009594&usg=AOvVaw2p1SMeF8u_ap0F5-bB7YVL) (Please review) + + + 295. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820787009960&usg=AOvVaw3qNHifsLosgddmUgVPu7oo) + 296. Adding SYCL offload support (Intel : Arvind) + 297. Does the meeting invite ICS file need to be updated? + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-05-29.md b/offload-wg/meeting-minutes/offload-minutes-2024-05-29.md new file mode 100644 index 0000000..aacea45 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-05-29.md @@ -0,0 +1,66 @@ +# Wednesday, May 29, 2024, 7:00 - 8:00 am PST + +# Agenda + + 281. Build regressions: [https://github.com/llvm/llvm-project/issues/75124#issuecomment-2106147001](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/75124%23issuecomment-2106147001&sa=D&source=editors&ust=1779820787004311&usg=AOvVaw1RuFshsfc6DzhaUbZ4N5Nc) + + + +Probably a 32bit build issue which is not supported + + 282. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820787004785&usg=AOvVaw2XkZfl-42rlQcI2U3L3q6k) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820787004994&usg=AOvVaw0yhyKHDSBg3FJsfBaHxikO) + + + 283. Unified Memory Framework (Intel) + + + 1. Intel to present in 2 weeks + + + 284. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820787005419&usg=AOvVaw0lh1ZwPBhJSHltc6noYB69) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820787005638&usg=AOvVaw2fDK74dtRKWEQuv9mCyUZI) + + + 285. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 286. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820787006192&usg=AOvVaw2bn44R-qZ2iNdtGvAawMC1) (Please review) + 2. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820787006462&usg=AOvVaw1oKC0bqjkctWvL22PBq-aH) + + + 1. API draft Joseph typed up + + + 3. What are the next steps for introducing API changes? + + + 1. Design the entire new API before beginning to implement it? (By porting the existing plugins?) + 2. Move the existing plugins API to the tablegen framework and then introduce changes? + 3. Ignore the tablegen framework for now and change the existing plugin API directly? + + + 287. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820787007483&usg=AOvVaw2Y8R1K6kPHtms9NldoiZxh) + 288. Does the meeting invite ICS file need to be updated? + + + 1. Currently appearing at 8am PST + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-06-12.md b/offload-wg/meeting-minutes/offload-minutes-2024-06-12.md new file mode 100644 index 0000000..45906ad --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-06-12.md @@ -0,0 +1,62 @@ +# Wednesday, June 12, 2024, 7:00 - 8:00 am PST + +# Agenda + + 273. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820787000233&usg=AOvVaw2Nnyx7VpyykB2TEwDWtiuO) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820787000458&usg=AOvVaw1epVN73IG05bKa-w2R7gUm) + + + 274. Unified Memory Framework (Intel) + 275. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820787000811&usg=AOvVaw1N6-z70NnMWuV2UOiwjaqy) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820787001049&usg=AOvVaw2ST3QqxokmeqXko0_vKB8O) + + + 276. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 277. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820787001596&usg=AOvVaw2GOKjMZ_hGC3qzLHQfpm8o) (Please review) + 2. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820787001862&usg=AOvVaw2V-Di1w28T1flBaFiApoYz) + + + 1. API draft Joseph typed up + + + 3. What are the next steps for introducing API changes? + + + 1. Design the entire new API before beginning to implement it? (By porting the existing plugins?) + 2. Move the existing plugins API to the tablegen framework and then introduce changes? + 3. Ignore the tablegen framework for now and change the existing plugin API directly? + + + 278. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820787002909&usg=AOvVaw3Xbj2xOrc2hc8nZGILikGX) + 279. Does the meeting invite ICS file need to be updated? + + + 1. Currently appearing at 8am PST + + + 280. Draft RFC on upstreaming the SYCL runtime with a short term dependency on UR + + + 1. [https://docs.google.com/document/d/1QI8opRuabWASxqe8Lu_dGLVO1dXlibzgBi_M-UEHxyw/edit?usp=sharing](https://www.google.com/url?q=https://docs.google.com/document/d/1QI8opRuabWASxqe8Lu_dGLVO1dXlibzgBi_M-UEHxyw/edit?usp%3Dsharing&sa=D&source=editors&ust=1779820787003585&usg=AOvVaw2dEZgbv_7Lu0PondhnVq7Q) + 2. Feedback welcome before the RFC is finished and shared + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-06-26.md b/offload-wg/meeting-minutes/offload-minutes-2024-06-26.md new file mode 100644 index 0000000..5968842 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-06-26.md @@ -0,0 +1,69 @@ +# Wednesday, June 26, 2024, 7:00 - 8:00 am PST + +# Agenda + + 264. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786995294&usg=AOvVaw3G6wx2Gi_qulkkTLf8pd2Z) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786995595&usg=AOvVaw2QJFwvywbveg3WUUlIQDww) + + + 265. Unified Memory Framework (Intel) + 266. GPU ASAN (alternative) prototype ready + + + +![](images/image4.png) + + 267. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786996147&usg=AOvVaw2lX-cHBpis7Jsd7hfmEJU4) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786996412&usg=AOvVaw0IQlQUMOJRU-iZQAPo0tG6) + + + 268. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 269. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820786997140&usg=AOvVaw0DGno1k5HE22xkvy3i8YXO) (Please review) + 2. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820786997437&usg=AOvVaw1q5b_2mNly7YvbCyaOgMTa) + + + 1. API draft Joseph typed up + + + 3. What are the next steps for introducing API changes? + + + 1. Design the entire new API before beginning to implement it? (By porting the existing plugins?) + 2. Move the existing plugins API to the tablegen framework and then introduce changes? + 3. Ignore the tablegen framework for now and change the existing plugin API directly? + + + 270. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820786998574&usg=AOvVaw0h6tih1leWtvKas0U0bRVU) + 271. Does the meeting invite ICS file need to be updated? + + + 1. Currently appearing at 8am PST + + + 272. Draft RFC on upstreaming the SYCL runtime with a short term dependency on UR + + + 1. [https://docs.google.com/document/d/1QI8opRuabWASxqe8Lu_dGLVO1dXlibzgBi_M-UEHxyw/edit?usp=sharing](https://www.google.com/url?q=https://docs.google.com/document/d/1QI8opRuabWASxqe8Lu_dGLVO1dXlibzgBi_M-UEHxyw/edit?usp%3Dsharing&sa=D&source=editors&ust=1779820786999315&usg=AOvVaw0V8sp1qSLxRJ04Xt43r_JV) + + + +# Feedback welcome before the RFC is finished and shared + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-07-10.md b/offload-wg/meeting-minutes/offload-minutes-2024-07-10.md new file mode 100644 index 0000000..2ffb99a --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-07-10.md @@ -0,0 +1,72 @@ +# Wednesday, July 10, 2024, 7:00 - 8:00 am PST + +# Agenda + + 256. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786989266&usg=AOvVaw0TN6B5D9AnFxzcW0PTVKBm) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786989495&usg=AOvVaw1krN-O6JUsN2Y4XBRNen31) + + + 257. GPU ASAN (alternative) prototype ready + + + +![](images/image4.png) + + 258. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786989966&usg=AOvVaw1_63YP631hMfU0F_mj6sl2) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786990203&usg=AOvVaw35y5aqWIPEdWwtLYCZyWtk) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786990487&usg=AOvVaw3XroXKnBZMkkKglqK1hkAb) + + + 259. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94549](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94549&sa=D&source=editors&ust=1779820786990817&usg=AOvVaw36JL5EEcW8EcNb6274lN1G) + 2. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786991088&usg=AOvVaw1-fd2SZHpxru5LkgwYnCyA) + 3. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786991312&usg=AOvVaw2XgpneMofG15s5MTFlHRdR) + + + 260. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 261. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820786991958&usg=AOvVaw051L-NFJy63Eghbazrx82q) (Please review) + 2. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820786992237&usg=AOvVaw2HDc06egtoDyxG1gePLoeF) + + + 1. API draft Joseph typed up + + + 3. What are the next steps for introducing API changes? + + + 1. Design the entire new API before beginning to implement it? (By porting the existing plugins?) + 2. Move the existing plugins API to the tablegen framework and then introduce changes? + 3. Ignore the tablegen framework for now and change the existing plugin API directly? + + + 262. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820786993743&usg=AOvVaw0KRfAcXM2ntSiUR8VOqunI) + 263. Draft RFC on upstreaming the SYCL runtime with a short term dependency on UR + + + 1. [https://docs.google.com/document/d/1QI8opRuabWASxqe8Lu_dGLVO1dXlibzgBi_M-UEHxyw/edit?usp=sharing](https://www.google.com/url?q=https://docs.google.com/document/d/1QI8opRuabWASxqe8Lu_dGLVO1dXlibzgBi_M-UEHxyw/edit?usp%3Dsharing&sa=D&source=editors&ust=1779820786994321&usg=AOvVaw1gjnqPGFAP2qA9BscJ-WVb) + 2. Feedback welcome before the RFC is finished and shared + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-07-24.md b/offload-wg/meeting-minutes/offload-minutes-2024-07-24.md new file mode 100644 index 0000000..bab37c6 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-07-24.md @@ -0,0 +1,65 @@ +# Wednesday, July 24, 2024, 7:00 - 8:00 am PST + +# Agenda + + 248. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786984291&usg=AOvVaw0vz16IIfgWa6F5KTYF58DP) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786984539&usg=AOvVaw0BJgjp2BSBJpS0_tduvJH6) + + + 249. GPU ASAN (alternative) prototype ready + + + +![](images/image4.png) + + 250. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786985007&usg=AOvVaw1a7W1Us4CCP0RE2LdPM9b1) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786985232&usg=AOvVaw28dEb44kpn3g38BDG2tYM_) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786985455&usg=AOvVaw2_W85KxCuEovXV1iiYRaj0) + + + 251. CUDA on LLVM/Offload + + + 1. 2. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786985769&usg=AOvVaw2sbDuoGObOpj9NutZfKCND) + 3. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786986005&usg=AOvVaw0JZ9FnljvvB-5yuersQNC3) + + + 252. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 253. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820786986650&usg=AOvVaw0Z7q6dG5q6ITnuB6wGNuFG) (Please review) + 2. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820786987014&usg=AOvVaw0VGqMTbpAtz7M6BtFtiA_x) + + + 1. API draft Joseph typed up + + + 3. What are the next steps for introducing API changes? + + + 1. Design the entire new API before beginning to implement it? (By porting the existing plugins?) + 2. Move the existing plugins API to the tablegen framework and then introduce changes? + 3. Ignore the tablegen framework for now and change the existing plugin API directly? + + + 254. Parallel Thin LTO (WIP) [https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean](https://www.google.com/url?q=https://github.com/ggeorgakoudis/llvm-project/tree/hip-omp-parallel-thinlto-clean&sa=D&source=editors&ust=1779820786988157&usg=AOvVaw3rp85A2WNkC-e_z0HWGpHQ) + 255. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786988565&usg=AOvVaw0qI3ZgZIcqwy9S8YUwukc1) + + + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-08-07.md b/offload-wg/meeting-minutes/offload-minutes-2024-08-07.md new file mode 100644 index 0000000..00f7920 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-08-07.md @@ -0,0 +1,71 @@ +# Wednesday, Aug 07, 2024, 7:00 - 8:00 am PST + +# Agenda + + 239. LLVM Dev deadline approaching + 240. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786978750&usg=AOvVaw0KzQxIAM_Rqwf0emgeg74a) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786979060&usg=AOvVaw2oIaxf_3NY3vUNBA5XwfNU) + + + 241. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image4.png) + + 242. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786979954&usg=AOvVaw3Q7AgF7xIzx_YVRJaSjD8G) + + + 243. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786980280&usg=AOvVaw1M7O3mmI1USrI2ke1ROsTS) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786980536&usg=AOvVaw2smHnc75PB-88sQ2QNCJok) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786980812&usg=AOvVaw3AEWYDtC9iGyotP1CgA0a0) + + + 244. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786981156&usg=AOvVaw0FJapr2RVLLYwzgBq5Ev-4) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786981406&usg=AOvVaw31eNEH2Mo_p7N1TBNw9ojI) + + + 245. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 246. offload-tblgen + + + 1. [https://github.com/llvm/llvm-project/pull/88923](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/88923&sa=D&source=editors&ust=1779820786982052&usg=AOvVaw1vMlV1Wf2pa-AEdISp7VAp) (Please review) + 2. [https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d](https://www.google.com/url?q=https://gist.github.com/jhuber6/2117cfd03b7c78d91f5481ac63da682d&sa=D&source=editors&ust=1779820786982366&usg=AOvVaw07YzHzw-x4bkTFz7tzeT8k) + + + 1. API draft Joseph typed up + + + 3. What are the next steps for introducing API changes? + + + 1. Design the entire new API before beginning to implement it? (By porting the existing plugins?) + 2. Move the existing plugins API to the tablegen framework and then introduce changes? + 3. Ignore the tablegen framework for now and change the existing plugin API directly? + + + 247. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786983618&usg=AOvVaw0E6NWlM5MUCPzd-4NgTpTZ) diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-08-21.md b/offload-wg/meeting-minutes/offload-minutes-2024-08-21.md new file mode 100644 index 0000000..c766fcf --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-08-21.md @@ -0,0 +1,68 @@ +# Wednesday, Aug 21, 2024, 7:00 - 8:00 am PST + +# Agenda + + 229. LLVM Dev deadline approaching + 230. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786974397&usg=AOvVaw0GFgQ4rGrWpsz-iBkbZR0M) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786974607&usg=AOvVaw3pC4k_2730dfYKRzWBSG7Q) + + + 231. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image4.png) + + 232. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786975376&usg=AOvVaw34LDWCaLpcTxIJ11b_sdOz) + + + 233. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786975642&usg=AOvVaw0KV7LJaJySmK6mEdrVx2WV) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786975867&usg=AOvVaw3hUObEjM8wBY9uZcyA4eQr) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786976087&usg=AOvVaw3FV1ZetEqcpEk__med5MVG) + + + 234. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786976356&usg=AOvVaw3JsnJKOtcapWBlO21Dnmcy) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786976554&usg=AOvVaw3aejX6CBk1_AknRySx82Ny) + + + 235. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 236. offload-tblgen + + + 1. Current ongoing work to create a first PR that: + + + 1. Introduces offload-tblgen + 2. Implements auto-generated validation and tracing + 3. Implements minimal new API functions needed to run sycl-ls / urinfo via Unified Runtime (basically just device discovery and device property querying) + + + 2. Not quite finished yet but intend to present at the next meeting + + + 237. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786977886&usg=AOvVaw0eZ13td7FCGWZe7ezFrS5z) + 238. diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-09-04.md b/offload-wg/meeting-minutes/offload-minutes-2024-09-04.md new file mode 100644 index 0000000..4ab3d33 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-09-04.md @@ -0,0 +1,66 @@ +# Wednesday, Sep 4, 2024, 7:00 - 8:00 am PST + +# Agenda + + 221. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786970035&usg=AOvVaw1RepF9trMJkhmSyDXjfhXX) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786970254&usg=AOvVaw0zP9USKdnQZ9XmkaE8W_Z4) + + + 222. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image4.png) + + 223. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786971094&usg=AOvVaw0-oS24wTVoCZPb2ZhttqJp) + + + 224. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786971377&usg=AOvVaw2_1cgoCgCPa3L5CMlqn6it) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786971633&usg=AOvVaw3rLKrvjEegrhIhxa-lnmjy) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786971901&usg=AOvVaw0peh9S4Ns3KgZLAG29ug4Z) + + + 225. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786972186&usg=AOvVaw1jN7jmnwC2hIche5NumFwE) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786972388&usg=AOvVaw0RBGAt_hlwykEtIVVaC0pS) + + + 226. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 227. offload-tblgen + + + 1. Current ongoing work to create a first PR that: + + + 1. Introduces offload-tblgen + 2. Implements auto-generated validation and tracing + 3. Implements minimal new API functions needed to run sycl-ls / urinfo via Unified Runtime (basically just device discovery and device property querying) + + + 2. Not quite finished yet but intend to present at the next meeting + + + 228. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786973731&usg=AOvVaw3rGPJgRLWt_2vQgy6I5ilo) diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-09-18.md b/offload-wg/meeting-minutes/offload-minutes-2024-09-18.md new file mode 100644 index 0000000..4fd3d59 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-09-18.md @@ -0,0 +1,65 @@ +# Wednesday, Sep 18, 2024, 7:00 - 8:00 am PST + +# Agenda + + 212. Draft PR to enable offload in precommit CI + + + 1. [https://github.com/llvm/llvm-project/pull/109103](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/109103&sa=D&source=editors&ust=1779820786965640&usg=AOvVaw2A8GUXqCIk22GIqjgFwnji) + + + 213. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/76587](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/76587&sa=D&source=editors&ust=1779820786965976&usg=AOvVaw1eUBJRjsvJn17yLFZfQvFe) + 2. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786966173&usg=AOvVaw15brgZbSejAx4Piuqp83zb) + + + 214. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image4.png) + + 215. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786966955&usg=AOvVaw2JpMOw_dHTKUGnviaT-Vyq) + + + 216. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786967219&usg=AOvVaw3gph6XUkyUtk0P-DKFOlZJ) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786967461&usg=AOvVaw1h-rwghonu9y5f-9ekFRB2) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786967725&usg=AOvVaw0wea01H-B15v0pYPvgw5x8) + + + 217. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786968024&usg=AOvVaw28WEOwZjDgohmiaaj4l-Kw) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786968243&usg=AOvVaw0SVMFHbLupsw9hvBK79ylD) + + + 218. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 219. Initial PR for new API and tablegen tooling is up: [https://github.com/llvm/llvm-project/pull/108413](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/108413&sa=D&source=editors&ust=1779820786968897&usg=AOvVaw3hCgHKga3nTut5uGQIQdaQ) + 220. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786969274&usg=AOvVaw0W5-L1e2pM1lh_ERlNzKbZ) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-10-02.md b/offload-wg/meeting-minutes/offload-minutes-2024-10-02.md new file mode 100644 index 0000000..7ce26a3 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-10-02.md @@ -0,0 +1,69 @@ +# Wednesday, Oct 02, 2024, 7:00 - 8:00 am PST + +# Agenda + + 204. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786961222&usg=AOvVaw0QcwrTwZPasCjsou9xbRdk) + + + 205. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image4.png) + + 206. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786962144&usg=AOvVaw2o8U5lr5awWhev1X2SrhIg) + + + 207. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786962439&usg=AOvVaw2yawJAaFYXYLeXT2QGBPhB) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786962723&usg=AOvVaw18hLEwnRhbjcVjIbUlBMjN) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786962976&usg=AOvVaw0EoQ39-U2ripRJCQzLfcje) + + + 208. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786963258&usg=AOvVaw0M8k_WeuvdUNuZmBQeQyED) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786963470&usg=AOvVaw0fAM5F6WP_Kk14gSPCFrUO) + + + 209. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 210. Initial PR for new API and tablegen tooling is up: [https://github.com/llvm/llvm-project/pull/108413](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/108413&sa=D&source=editors&ust=1779820786964069&usg=AOvVaw060GXotFVzrYA4jo8Jw3r-) + + + 1. New updates (Oct 2nd): + + + 1. Generated files are checked in + 2. Error handling is improved + 3. Unit tests added + + + 2. Open items: + + + 1. Decide on naming convention (offloadFoo is too verbose, camel case vs snake case) + 2. API versioning (tied to LLVM version?) + + + 211. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786965070&usg=AOvVaw1xFGd4U8xP7VrracQHoom7) diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-10-16.md b/offload-wg/meeting-minutes/offload-minutes-2024-10-16.md new file mode 100644 index 0000000..19564a0 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-10-16.md @@ -0,0 +1,75 @@ +# Wednesday, Oct 16, 2024, 7:00 - 8:00 am PST + +# Agenda + + 196. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786956392&usg=AOvVaw08MQke788a9vqxXX98g5g9) + + + 197. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image1.png)![](images/image3.png)![](images/image2.png) + + 198. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786957416&usg=AOvVaw1Lzn4qoel034AJLwqhNF2i) + + + 199. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786957727&usg=AOvVaw3B5_PAYMByh32WaVW1mnkC) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786958001&usg=AOvVaw2bRxB9zF3hnuIeEvms1IHH) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786958246&usg=AOvVaw1nqU8Ssy24JSyGzUCWK1R2) + + + 200. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786958566&usg=AOvVaw2L0DrVeTxgesW37hsKsBtF) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786958776&usg=AOvVaw0f3av-cXxjr9d05trXKeH4) + + + 201. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 202. Initial PR for new API and tablegen tooling is up: [https://github.com/llvm/llvm-project/pull/108413](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/108413&sa=D&source=editors&ust=1779820786959445&usg=AOvVaw2keNJ9-ilbTuexnrm_Y-a5) + + + 1. New updates (Oct 2nd): + + + 1. Generated files are checked in + 2. Error handling is improved + 3. Unit tests added + + + 2. Open items: + + + 1. Decide on naming convention (offloadFoo is too verbose, camel case vs snake case) + 2. API versioning (tied to LLVM version?) + + + 203. New RFC for SYCL upstreaming - [https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323](https://www.google.com/url?q=https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming-questions/80323&sa=D&source=editors&ust=1779820786960452&usg=AOvVaw2rUyRis6K9a0Ktj7I4D2i2) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-10-30.md b/offload-wg/meeting-minutes/offload-minutes-2024-10-30.md new file mode 100644 index 0000000..20ae585 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-10-30.md @@ -0,0 +1,7 @@ +# Wednesday, Oct 30, 2024, 7:00 - 8:00 am PST + +No change, same as oct 16 2024 + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2024-11-13.md b/offload-wg/meeting-minutes/offload-minutes-2024-11-13.md new file mode 100644 index 0000000..893e325 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2024-11-13.md @@ -0,0 +1,7 @@ +# Wednesday, Nov 13, 2024, 7:00 - 8:00 am PST + +# No change, same as oct 16 2024 + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-01-08.md b/offload-wg/meeting-minutes/offload-minutes-2025-01-08.md new file mode 100644 index 0000000..810a402 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-01-08.md @@ -0,0 +1,74 @@ +# Wednesday, Jan 08 2025, 7:00 - 8:00 am PST + +# Agenda + + 188. PR Review LIST + 189. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786950476&usg=AOvVaw1NeEN1xpb0_hFpASOKDsF8) + + + 190. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image1.png)![](images/image3.png)![](images/image2.png) + + 191. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786951343&usg=AOvVaw27jsuv0_t0vcc5uWdnCs-2) + + + 192. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786951624&usg=AOvVaw2Qv9vSX7m3mQ2T-d8xotkR) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786951846&usg=AOvVaw3jsWMZV5IFKuevrlXquG6y) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786952076&usg=AOvVaw29_6Ai0TWyltyYgRzCzvTa) + + + 193. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786952412&usg=AOvVaw2jF4ffEc5jRDPBeb3fiaGy) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786952681&usg=AOvVaw2NSkcV3ThXD8MaxYOvZzN4) + + + 194. Testing + + + 1. Keep a list of issues we discuss in the meetings + 2. Make 1-3 people the "bug keepers" (Joseph, Johannes) + + + 195. Initial PR for new API and tablegen tooling has finally merged + + + 1. Thanks to everyone for the help with the various reviews, reverts and getting it properly landed eventually + 2. Draft follow-up PR to demonstrate the new tooling: [https://github.com/llvm/llvm-project/pull/119549](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/119549&sa=D&source=editors&ust=1779820786953671&usg=AOvVaw2i2HutyM2JdIUz0K-D8iS2) + + + 1. Shows the minimal changes required to add to the API, and the resulting auto-generated files (in the include/generated folder) + + + 3. Second follow up that implements the remaining initial API: +[https://github.com/llvm/llvm-project/pull/122106](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/122106&sa=D&source=editors&ust=1779820786954293&usg=AOvVaw3u86Wr6S4gA9SiUtGCf8hv) + + + 1. Still WIP but enough to run a basic SYCL program! + + + +# Intend to finish this soon. Want to confirm - are we ok with (many, ongoing) breaking changes until we reach some kind of stability? Above PRs are based on the existing plugin design; don't want to be stuck if we decide to change things. + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-01-22.md b/offload-wg/meeting-minutes/offload-minutes-2025-01-22.md new file mode 100644 index 0000000..8a25bce --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-01-22.md @@ -0,0 +1,67 @@ +# Wednesday, Jan 22 2025, 7:00 - 8:00 am PST + +# Agenda + + 180. Port DeviceRTL to C++ [https://github.com/llvm/llvm-project/pull/123673](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/123673&sa=D&source=editors&ust=1779820786945336&usg=AOvVaw2eed0bpCrakiUN2cCKBufc) + 181. PR Review LIST + 182. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786945766&usg=AOvVaw3FfwSmgRFW5YxLLSN7z1ai) + + + 183. GPU ASAN (alternative) prototype ready + + + 1. bad/double-free and kernel traces merged + 2. Testing out "new-new" design to avoid memory allocations/accesses all together + + + +![](images/image1.png)![](images/image3.png)![](images/image2.png) + + 184. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786946569&usg=AOvVaw19jjCe0R5hijj1l3XnCNlu) + + + 185. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786946843&usg=AOvVaw2BgetwJWoEHZZGlqAVvkwI) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786947074&usg=AOvVaw2lqTaSWzVtJcoxadtS8LZS) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786947310&usg=AOvVaw1G0KKZ7fakSODUEGQ9vUPB) + + + 186. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786947589&usg=AOvVaw1TqYsZL8Kt8Dax3fvB4ldr) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786947811&usg=AOvVaw3ofGQiDTUVqtQBuf0642wG) + + + 187. Initial PR for new API and tablegen tooling has finally merged + + + 1. Thanks to everyone for the help with the various reviews, reverts and getting it properly landed eventually + 2. Draft follow-up PR to demonstrate the new tooling: [https://github.com/llvm/llvm-project/pull/119549](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/119549&sa=D&source=editors&ust=1779820786948528&usg=AOvVaw0yTJZDPhq9vHpQdC3RzfaF) + + + 1. Shows the minimal changes required to add to the API, and the resulting auto-generated files (in the include/generated folder) + + + 3. Second follow up that implements the remaining initial API: +[https://github.com/llvm/llvm-project/pull/122106](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/122106&sa=D&source=editors&ust=1779820786949091&usg=AOvVaw33L19vTA7t6SJHfhgauiu4) + + + 1. Still WIP but enough to run a basic SYCL program! + 2. Intend to finish this soon. Want to confirm - are we ok with (many, ongoing) breaking changes until we reach some kind of stability? Above PRs are based on the existing plugin design; don't want to be stuck if we decide to change things. + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-02-05.md b/offload-wg/meeting-minutes/offload-minutes-2025-02-05.md new file mode 100644 index 0000000..3e49be3 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-02-05.md @@ -0,0 +1,7 @@ +# Wednesday, Feb 5 2025, 7:00 - 8:00 am PST + +Same as below. + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-02-19.md b/offload-wg/meeting-minutes/offload-minutes-2025-02-19.md new file mode 100644 index 0000000..f443a7e --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-02-19.md @@ -0,0 +1,35 @@ +# Wednesday, Feb 19 2025, 7:00 - 8:00 am PST + +# Agenda + + 176. PR Review LIST + + + 1. Implement the remaining initial Offload API: [https://github.com/llvm/llvm-project/pull/122106](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/122106&sa=D&source=editors&ust=1779820786942037&usg=AOvVaw0RsLWqC8PMWh9gpAI-OuZE) + + + 177. Liboffload API + + + 1. Second PR is ready for review (see earlier link). Enough to get a simple SYCL program working on offload. + + + 1. Some changes based on review feedback - reverted plugin changes and added a new version of memcpy that takes a special host device to represent copies to/from host. Old memcpy versions are still included for comparison. Is everyone happy with the new version? + 2. Follow-up PR includes testing with device binaries for program & kernel testing. WIP but available here: [https://github.com/llvm/llvm-project/pull/127803](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/127803&sa=D&source=editors&ust=1779820786943181&usg=AOvVaw3ThJm3IY95wTQmfUhGTzXQ) (only the last commit) + + + 178. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786943643&usg=AOvVaw1iZGSTPrH2wNA1d3louR1z) + + + 179. GPU ASAN (alternative) prototype ready + + + +# Testing out "new-new" design to avoid memory allocations/accesses all together + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-03-05.md b/offload-wg/meeting-minutes/offload-minutes-2025-03-05.md new file mode 100644 index 0000000..7784b9e --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-03-05.md @@ -0,0 +1,7 @@ +# Wednesday, Mar 05 2025, 7:00 - 8:00 am PST + +Same as below. + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-03-19.md b/offload-wg/meeting-minutes/offload-minutes-2025-03-19.md new file mode 100644 index 0000000..867b77e --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-03-19.md @@ -0,0 +1,61 @@ +# Wednesday, Mar 19 2025, 7:00 - 8:00 am PST + +# Agenda + + 169. PR Review LIST + + + 1. Implement the remaining initial Offload API: [https://github.com/llvm/llvm-project/pull/122106](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/122106&sa=D&source=editors&ust=1779820786938573&usg=AOvVaw0AUTEamJBYvRUSAf6mVmMG) + + + 170. Liboffload API + + + 1. Second PR is ready for review (see earlier link). Enough to get a simple SYCL program working on offload. + + + 1. Feedback should all be addressed now + + + 171. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786939251&usg=AOvVaw3uSX7rbJ5Z6WCsvpdXLcyd) + + + 172. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses all together + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 173. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786940045&usg=AOvVaw0x6-sCucPfwE8oHWzZ5-FU) + 2. Is this ready for review? Are there public discussions on this? + + + 174. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786940441&usg=AOvVaw3zIwrtYcwLTlbFU0MoneTg) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786940662&usg=AOvVaw26mDgWPMfAAuC-NScQ0Weg) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786940886&usg=AOvVaw1PVhPJEuNtsOxXrp_oRnV8) + + + 175. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786941172&usg=AOvVaw20c-YSovVnEkxYiO4N4VXk) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786941376&usg=AOvVaw1MKREJqFs80OPr0QQxq7WD) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-04-02.md b/offload-wg/meeting-minutes/offload-minutes-2025-04-02.md new file mode 100644 index 0000000..d6200df --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-04-02.md @@ -0,0 +1,61 @@ +# Wednesday, April 2 2025, 7:00 - 8:00 am PST + +# Agenda + + 162. PR Review LIST + + + 1. Implement the remaining initial Offload API: [https://github.com/llvm/llvm-project/pull/122106](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/122106&sa=D&source=editors&ust=1779820786935037&usg=AOvVaw2KkqfFCLkkDCXT1rsdVgei) + + + 163. Liboffload API + + + 1. Second PR is ready for review (see earlier link). Enough to get a simple SYCL program working on offload. + + + 1. Feedback should all be addressed now + + + 164. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786935731&usg=AOvVaw0iV8sP2EgOeN5iO222MlY4) + + + 165. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses all together + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 166. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786936520&usg=AOvVaw18wtpEAN8-8mTk1ZjB9WUp) + 2. Is this ready for review? Are there public discussions on this? + + + 167. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786936928&usg=AOvVaw0qU9vPr94Z24yMrxl_BW5R) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786937165&usg=AOvVaw2keXspSmBeBlEPprObDJOW) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786937398&usg=AOvVaw3yM8SSvq9v__h914CaQdLo) + + + 168. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786937668&usg=AOvVaw3Xwoo11ZFE200dRlXFsfiw) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786937873&usg=AOvVaw18hT236djXqkPnuafDkpJj) + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-04-16.md b/offload-wg/meeting-minutes/offload-minutes-2025-04-16.md new file mode 100644 index 0000000..fc4c89a --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-04-16.md @@ -0,0 +1,61 @@ +# Wednesday, April 16 2025, 7:00 - 8:00 am PST + +# Agenda + + 155. PR Review LIST + + + 1. Implement the remaining initial Offload API: [https://github.com/llvm/llvm-project/pull/122106](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/122106&sa=D&source=editors&ust=1779820786931280&usg=AOvVaw188FwVhSaUZiyhPQZgv9AS) + + + 156. Liboffload API + + + 1. Second PR is ready for review (see earlier link). Enough to get a simple SYCL program working on offload. + + + 1. Still working on device/platform discovery design - should be finished soon. All other feedback should be resolved. + + + 157. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786932067&usg=AOvVaw3eIIvnpJUoVQP4HfT9ODM2) + + + 158. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses all together + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 159. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786932950&usg=AOvVaw1yFKKCvJks3F0PyqC76Kga) + 2. Is this ready for review? Are there public discussions on this? + + + 160. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786933388&usg=AOvVaw251a0h-bOpu6YX_C2f_oYe) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786933617&usg=AOvVaw1WCm5e0Ket1V_gT6FBBzgH) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786933838&usg=AOvVaw2DuZKGMcn-PfZfh8_vMEsx) + + + 161. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786934117&usg=AOvVaw0fBceLBX7mBa4djMPOZGLX) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786934330&usg=AOvVaw1uuLuTaeC1pJaC-6gIDvpZ) + + + +# + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-04-30.md b/offload-wg/meeting-minutes/offload-minutes-2025-04-30.md new file mode 100644 index 0000000..4f05b31 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-04-30.md @@ -0,0 +1,64 @@ +# Wednesday, April 30 2025, 7:00 - 8:00 am PST + +# Agenda + + 147. PR Review LIST + + + 1. [https://github.com/llvm/llvm-project/pull/137339](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/137339&sa=D&source=editors&ust=1779820786926760&usg=AOvVaw1InrdfQQ08ATqIGFJOmlp4) + + + 148. Liboffload API + + + 1. PR adding the initial API has merged + 2. Also added a check-offload-unit target for the new unit tests + 3. We have an open PR to better handle plugin errors in liboffload. + 4. The liboffload API introduces some error codes (although not an exhaustive set at this point). Should the PluginInterface return these error codes or its own error codes that we translate? + + + 149. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786928093&usg=AOvVaw0elEEmONVXxpf2hzAL18wl) + + + 150. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses all together + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 151. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786928946&usg=AOvVaw0OxTEm_ErfK79eK3iLL94Q) + 2. Is this ready for review? Are there public discussions on this? + + + 152. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786929438&usg=AOvVaw1GW573dG5KtDTadPzE_RPm) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786929719&usg=AOvVaw0zQFMsoWp-uUAPkzLAcEnU) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786929973&usg=AOvVaw1tiuXdjB95a-fy8BKl7Syr) + + + 153. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786930268&usg=AOvVaw1MT-IiQI_Zf84On_u44o0A) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786930482&usg=AOvVaw0t9Hh9w3xnaonZ-j0V1J7I) + + + 154. Link to the .ics file for the meeting series has expired - could someone reupload it? + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-05-14.md b/offload-wg/meeting-minutes/offload-minutes-2025-05-14.md new file mode 100644 index 0000000..68b5c6c --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-05-14.md @@ -0,0 +1,65 @@ +# Wednesday, May 14 2025, 7:00 - 8:00 am PST + +# Agenda + + 140. PR Review LIST + 141. Liboffload API + + + 1. Work on better error handling from the plugins is ongoing + + + 1. [https://github.com/llvm/llvm-project/pull/138258](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/138258&sa=D&source=editors&ust=1779820786921619&usg=AOvVaw3XuqdyG2xNmXttDRn2fJmD) + 2. [https://github.com/llvm/llvm-project/pull/139275](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/139275&sa=D&source=editors&ust=1779820786921854&usg=AOvVaw2FX97T6BWNNYtdLwkRRFXw) + + + 2. Currently investigating improvements to memory management + + + 1. Liboffload tracks all allocations in a DenseMap - this is a workaround we'd like to get rid of + 2. WIP changes allow plugins to free memory without knowing the allocation type + 3. The MemoryManager abstraction is awkward - the only way to check if an allocation belongs to it is either knowing the type or looking up the pointer. + 4. Would it be possible to decouple the generic MemoryManager from the plugin interface? I.e. make it an optional component that libomptarget can use. Individual plugins would still implement DeviceAllocatorTy. + 5. At the very least we need a way to disable it without relying on env vars + + + 142. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786923548&usg=AOvVaw2s2FK3mnpyC2ScjlEbx1GZ) + + + 143. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses all together + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 144. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786924348&usg=AOvVaw3X1PRbNcrjNqsy2mEIeeT4) + 2. Is this ready for review? Are there public discussions on this? + + + 145. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786924837&usg=AOvVaw3YKiCuS-3J4JGf5tFLQEMV) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786925119&usg=AOvVaw1GYN-s6QLigsQMNtwe828b) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786925430&usg=AOvVaw1OsTbSPU2yV5UwG7S9Oqko) + + + 146. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786925776&usg=AOvVaw0boO5_BZKG8oylk8L1jU_U) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786926050&usg=AOvVaw3tC2TJI4VLl65s_1QsgBux) + + + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-05-28.md b/offload-wg/meeting-minutes/offload-minutes-2025-05-28.md new file mode 100644 index 0000000..d9e8d2b --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-05-28.md @@ -0,0 +1,60 @@ +# Wednesday, May 28 2025, 7:00 - 8:00 am PST + +# Agenda + + 132. PR Review LIST + 133. Liboffload API + + + 1. PRs related to improving error handling have all been merged + 2. Currently investigating improvements to memory management + + + 1. PR up for removing the need to pass the allocation type when freeing memory + 2. Investigating how to implement SYCL/UR contexts on top of liboffload without adding the concept of a memory context to the plugins (no real equivalent in CUDA and HSA) + + + 3. We now have a [UR adapter for Offload](https://www.google.com/url?q=https://github.com/intel/llvm/tree/sycl/unified-runtime/source/adapters/offload&sa=D&source=editors&ust=1779820786917454&usg=AOvVaw2Ha42tgiB4tejXJPlsTvz2) \- planning on addressing low-hanging fruit in terms of missing functionality + + + 134. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786917906&usg=AOvVaw0pvKU8dS5PR-jyWCPaaE9E) + 135. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786918317&usg=AOvVaw1acnz2IzVE5TbewgIvYwR9) + + + 136. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses altogether + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 137. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786919210&usg=AOvVaw0R5-5TWbo7LOXp9gFane1U) + 2. Is this ready for review? Are there public discussions on this? + + + 138. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786919682&usg=AOvVaw33j4tT_BHglJYnF9X5pVjI) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786919927&usg=AOvVaw3stuBct0SpY40giPC10hkd) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786920221&usg=AOvVaw2i4rouTjOTtoawdJzurCPD) + + + 139. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786920521&usg=AOvVaw0UG64o6Njj71ruNT-SqM81) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786920727&usg=AOvVaw2LUNvislc2Js0JInxkikrq) + + + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-07-09.md b/offload-wg/meeting-minutes/offload-minutes-2025-07-09.md new file mode 100644 index 0000000..3c4a62f --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-07-09.md @@ -0,0 +1,71 @@ +# Wednesday, July 9, 2025, 9-10am CDT + +# Agenda + + 123. PR Review LIST + 124. Liboffload API + + + 1. Unclear how best to implement "kernel handles" + + + 1. void * handles? Handles with public fields? A type like ol_program_t? + 2. How best to implement an equivalent to olGetKernelInfo (is a "stat" like function preferred? Should it accept the program as an argument)? + + + 1. Fields required for UR: Name, number of arguments, string of attributes. + + + 3. How best to implement olGetKernelMaxGroupSize. It's an info method that requires the amount of dynamic memory to also be specified. + + + 1. [https://github.com/llvm/llvm-project/pull/142950](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/142950&sa=D&source=editors&ust=1779820786912778&usg=AOvVaw36BKADmET-JTuBdpzma6qU) + + + 125. Auto-generated documentation for liboffload: [https://github.com/llvm/llvm-project/pull/147323](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/147323&sa=D&source=editors&ust=1779820786913151&usg=AOvVaw2PZj3ObgFkfsAim2Pt23tD) + + + 1. Can we get the documentation hosted somewhere? Equivalent to openmp.llvm.org? + + + 126. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786913575&usg=AOvVaw1jcWpa06F2q5eJs_sRsaFi) + 127. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786913920&usg=AOvVaw03lCxNXWCmXdAGYvFIgZIk) + + + 128. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses altogether + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 129. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786914720&usg=AOvVaw1g9hrnv0Liy08KBnyoxNmo) + 2. Is this ready for review? Are there public discussions on this? + + + 130. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786915133&usg=AOvVaw1HDPtFOd9VINs6j5MeCiLT) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786915363&usg=AOvVaw0fd-tIa73D9tVkxfV4ENlT) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786915586&usg=AOvVaw2leACpJyArP4IS4Yw5XFsx) + + + 131. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786915874&usg=AOvVaw1MX_1fCFiUQJISCAibhkRH) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786916080&usg=AOvVaw1XHQw0hSnP2BGLsBp01u49) + + + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-07-23.md b/offload-wg/meeting-minutes/offload-minutes-2025-07-23.md new file mode 100644 index 0000000..81c0e28 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-07-23.md @@ -0,0 +1,80 @@ +# Wednesday, July 23 2025, 9:00 - 10:00 am CDT + +# Agenda + + 114. PR Review LIST + 115. Liboffload API + + + 1. Should liboffload have a "olLinkProgram" interface? ( [https://github.com/llvm/llvm-project/pull/148648](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/148648&sa=D&source=editors&ust=1779820786905911&usg=AOvVaw0K9zV2fWF6kUXGijdMs2Qy) ) + + + 1. This could get really complicated to support interfaces to all possible compilers. + 2. Wait until liboffload matures until deciding what to do with this. The PR will be closed for now and revisited later. It may eventually become a separate library. + + + 2. "OutEvent" vs olCreateEvent ( [https://github.com/llvm/llvm-project/pull/150217](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/150217&sa=D&source=editors&ust=1779820786906730&usg=AOvVaw3p8dNPmOi-PXOXju7SAc3J) ) + + + 1. If we do use OutEvent, do we want the event to have a field for the entry point that created it (like ur_command_t in UR)? + + + 1. Fix the name/description + + + 116. Auto-generated documentation for liboffload: [https://github.com/llvm/llvm-project/pull/147323](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/147323&sa=D&source=editors&ust=1779820786907401&usg=AOvVaw0Ik556K6zDizSLNbPDe1se) (merged) + + + 1. Can we get the documentation hosted somewhere? Equivalent to [openmp.llvm.org](https://www.google.com/url?q=http://openmp.llvm.org&sa=D&source=editors&ust=1779820786907718&usg=AOvVaw3T-OZamZ3bQdRF7reBsuCw)? + + + 1. Email Tanya Lattner + + + 117. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786908086&usg=AOvVaw051hjU8n6RczYG6ujPFuV1) + + + 1. Intern at LLNL implementing basic interface, expect PRs in the next week or so. + + + 118. Second PGO for GPU patches is ready, third under preparation + + + 1. [https://github.com/llvm/llvm-project/pull/93365](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/93365&sa=D&source=editors&ust=1779820786908602&usg=AOvVaw2rrjCoEmObeGfGZANlNvsl) (merged) + + + 1. delete + + + 119. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses altogether + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 120. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786909527&usg=AOvVaw2v37hfeFv6CxkPyarIRz3k) + 2. Is this ready for review? Are there public discussions on this? + + + 121. Performance monitoring + + + 1. [https://crpl.cis.udel.edu/lnt-sollve/](https://www.google.com/url?q=https://crpl.cis.udel.edu/lnt-sollve/&sa=D&source=editors&ust=1779820786910003&usg=AOvVaw1CHghx9rcHwhThe_76fRDb) + 2. [https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines](https://www.google.com/url?q=https://gitlab.e4s.io/uo-public/llvm-sollve/-/pipelines&sa=D&source=editors&ust=1779820786910295&usg=AOvVaw2qr6s3RxUW9Dzo1_mKGWMw) + + + 1. Caught: [https://github.com/llvm/llvm-project/pull/96909](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/96909&sa=D&source=editors&ust=1779820786910568&usg=AOvVaw3075k80feCnIaUvWIVVGCM) + + + 122. CUDA on LLVM/Offload + + + 1. [https://github.com/llvm/llvm-project/pull/94821](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/94821&sa=D&source=editors&ust=1779820786910910&usg=AOvVaw357GSSTc9vwpSG3TfeTPHm) + 2. [https://github.com/llvm/llvm-project/pull/95371](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/95371&sa=D&source=editors&ust=1779820786911158&usg=AOvVaw2YGZ-1aiBU2VVLlUxDAImH) + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-08-06.md b/offload-wg/meeting-minutes/offload-minutes-2025-08-06.md new file mode 100644 index 0000000..5f775f1 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-08-06.md @@ -0,0 +1,92 @@ +# Wednesday, August 6 2025, 9:00 - 10:00 am CDT + +# Agenda + + 108. PR Review LIST + + + 1. Kevin to review: [https://github.com/llvm/llvm-project/pull/143491](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/143491&sa=D&source=editors&ust=1779820786898994&usg=AOvVaw0OBJR8rwjEgytWP8JgtKmt) + 2. ATTACH [https://github.com/llvm/llvm-project/pull/149036](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/149036&sa=D&source=editors&ust=1779820786899303&usg=AOvVaw3BZpvd_rCS_ASneF9qp-fm) + + + 1. Issue with dependency between data transfer and ATTACH + 2. Joseph to review again + + + 109. Liboffload API + + + 1. How can we implement out of order queues? + + + 1. Codeplay looking at this internally, not sure how to implement this + 2. Any work in the queue can happen in any order + 3. Currently: pool of queues, rotated in round-robin fashion + + + 1. Non-blocking queue destruction would make it easier to implement (i.e. making queue easy to create/destroy) + 2. Nobody objects to this. + + + 2. Implementing host callbacks + + + 1. Is having a "worker thread" that listens for signal changes on amd acceptable? + 2. Is "no calling liboffload or libcuda functions in a callback" an acceptable limitation? + 3. Enqueuing work on host from device: have a worker thread that waits for signal about kernel completing, then executing post-work code. + 4. Joseph will take a look at PRs + + + 3. Should olDestroyQueue block until the queue has completed? ( [https://github.com/llvm/llvm-project/pull/152132](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/152132&sa=D&source=editors&ust=1779820786901672&usg=AOvVaw1WtJDzh-6ibUAPMkpC45xy) ) + + + 1. In OpenCL destroy queue blocks + 2. In non-blocking case, no more items can be added to the queue, but existing workloads continue to completion. + + + 1. Decision: non-blocking + + + 110. Auto-generated documentation for liboffload: [https://github.com/llvm/llvm-project/pull/147323](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/147323&sa=D&source=editors&ust=1779820786902404&usg=AOvVaw1Oz1vQxswGMYVokU4lOgpF) (merged) + + + 1. Can we get the documentation hosted somewhere? Equivalent to [openmp.llvm.org](https://www.google.com/url?q=http://openmp.llvm.org&sa=D&source=editors&ust=1779820786902743&usg=AOvVaw0tRNSUgD8lUDO2uBb94gMG)? + + + 1. Email Tanya Lattner (Benny from CodePlay) + + + 111. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786903202&usg=AOvVaw0FJEQ6PRBbTpW155aZbXQz) + + + 1. Intern at LLNL implementing basic interface, expect PRs in the next week or so. + + + 1. Jonas: still need some cleanup + + + 112. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses altogether + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 1. Kevin working on this, but no update yet. + + + 113. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786904497&usg=AOvVaw1BujyCxNw8DwKnF2B3MMtg) + 2. Is this ready for review? Are there public discussions on this? + + + 1. Kevin will ask about the progress about this. + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-08-20.md b/offload-wg/meeting-minutes/offload-minutes-2025-08-20.md new file mode 100644 index 0000000..4191b94 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-08-20.md @@ -0,0 +1,75 @@ +# Wednesday, August 20 2025, 9:00 - 10:00 am CDT + +# Agenda + + 102. PR Review LIST + + + 1. Michael: OMPT PR147389 is approved and ready to merge. + + + 103. Liboffload API + + + 1. How to handle ambiguities in pointers with olMemFree / olGetMemInfo + + + 1. For example, a system has both AMD and Nvidia cards, olMemAlloc is called on both to create device pointers. Both devices happen to select 0x1000 as the memory address, how should olMemFree free that memory? + + + 1. The current logic doesn't work for devices that have their own allocators + 2. In unified runtime you have to pass device id to free/getmeminfo. + 3. This is specifically for device_type allocators, so the memory won't be visible on host. + 4. Solution: pass device id to olMemFree / olGetMemInfo. Make it optional for managed allocations if possible. + 5. Callum: it would be useful to have an example of where this issue happens. + 6. Ross: will create a PR + + + 2. Liboffload does not support multiple active plugins in a single process image. Do other low-level APIs support this and is it planned to add this capability to liboffload? + + + 1. Joseph: this should work + 2. Plugin = vendor-specific portion of the library + 3. For example, SYCL would want to use that functionality. + + + 104. Can we get offload documentation hosted somewhere? Equivalent to [openmp.llvm.org](https://www.google.com/url?q=http://openmp.llvm.org&sa=D&source=editors&ust=1779820786895330&usg=AOvVaw3DPbjpZHgjIf5ZDjL1tEnA)? + + + 1. Email Tanya Lattner (Someone from Codeplay) + + + 1. Callum will follow-up, (can also email Brittany Watson [bwatson@llvm.org](mailto:bwatson@llvm.org), Tanya's backup) + + + 105. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786896034&usg=AOvVaw2WJJ74-_s1ixV9GyFt8aOF) + + + 1. Intern at LLNL implementing basic interface, expect PRs in the next week or so. + + + 1. Jonas: still need some cleanup + 2. There were some problems, but were resolved. PR expected to be ready this or next week. + + + 106. GPU ASAN (alternative) prototype ready + + + 1. Testing out "new-new" design to avoid memory allocations/accesses altogether + 2. Are there any PRs available for review? + 3. Is there a design discussion on discourse? + + + 1. Kevin working on this, but no update yet. + + + 107. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786897835&usg=AOvVaw2H_f98v5ziMhoYxcfM5qHv) + 2. Is this ready for review? Are there public discussions on this? + + + 1. Kevin will ask about the progress about this. + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-09-03.md b/offload-wg/meeting-minutes/offload-minutes-2025-09-03.md new file mode 100644 index 0000000..472a7d0 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-09-03.md @@ -0,0 +1,99 @@ +# Wednesday, September 3 2025, 9:00 - 10:00 am CDT + +# Agenda + + 96. PR Review LIST + + + 1. + + 97. Location for scripts / Infrastructure for testing (JP) + + + 1. Consolidate scripts that the buildbots run into llvm-project. Makes reproducibility better as it ties the scripts to the LLVM version. Also enables developers to easier recreate what the buildbots do locally. + 2. We already have the container recipes public, CMake cache files are in-tree that are used for the build. What's left is the actual scripts that are run when testing. + 3. Immediate ideas where to put these: + + + 1. llvm-project/offload/ci + 2. llvm-project/.ci/offload + 3. llvm-project/offload/infra + + + 98. Liboffload API + + + 1. Further discussion on device/memory allocation link - in regards to [https://github.com/llvm/llvm-project/pull/154733](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/154733&sa=D&source=editors&ust=1779820786886050&usg=AOvVaw1NI-XkZDZh5kOiriLlljsv) + + + 1. Binary search to find memory addresses is not possible or difficult since memory regions can overlap in weird ways for device allocations. + 2. Using a map has similar problems - we'd need to do a linear search to find the appropriate key anyway. + 3. We need AllocInfo for a hypothetical olGetMemInfo method which can query an allocations type, base and size. + + + 1. Sadly it doesn't seem possible to query this information directly from the pointer through HSA. + 2. We could also not provide this information and require the liboffload user to track it themselves if they need it. + + + 4. AllocInfo is also used to find the platform used for host/managed allocations. + + + 1. Wouldn't need this requirement if the "device" parameter to olMemFree was mandatory. + 2. Without olGetMemInfo and with olMemFree only allowing the start of the buffer we wouldn't need to track the size. + 3. Could we allocate an extra 8 bytes and use the start of the buffer to store the device handle? + + + 5. Piotr is keen on not having olMemCpy (and friends) not accept a device pointer, is this feasible? + + + 1. Required to identify whether the transfer is host to device, device to host or device to device. + 2. Required to identify the device itself, and which platform to use (could be queried through the queue instead?) + 3. Specifying both allows the API in the future to be able to transfer data from completely separate devices (using the host as an intermediate). + + + 6. Pass device id to alloc/free vs pass plugin id + + + 1. Joseph: it's easier for the user to keep track of the platform/plugin + 2. Runtime tracks active plugins + 3. In free, query the plugin for pointer info first + 4. + + 2. [https://github.com/llvm/llvm-project/pull/155626](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/155626&sa=D&source=editors&ust=1779820786889641&usg=AOvVaw08thW458VmXL3ae4akHGiC) \- Replace openmp offload info with liboffload one? Would mean losing some vendor specific data. + + + 1. Perhaps improve output format, otherwise good to merge + + + 99. Can we get offload documentation hosted somewhere? Equivalent to [openmp.llvm.org](https://www.google.com/url?q=http://openmp.llvm.org&sa=D&source=editors&ust=1779820786890236&usg=AOvVaw3HdD2Oy3k5bcDAovQFgodc)? + + + 1. Email Tanya Lattner (Someone from Codeplay) + + + 1. Callum will follow-up, (can also email Brittany Watson [bwatson@llvm.org](mailto:bwatson@llvm.org), Tanya's backup) + + + 1. No response yet + + + 100. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786891030&usg=AOvVaw2iOsdZ8GsAhDMX7oCFXJa_) + + + 1. Jonas is implementing basic interface, expect more PRs in the next week or so. + + + 1. [https://github.com/llvm/llvm-project/pull/156259](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/156259&sa=D&source=editors&ust=1779820786891475&usg=AOvVaw3eKZjzTu6tVwNNuX6l9Qjy) + 2. More PRs coming soon + + + 101. Parallel Thin LTO (WIP) + + + 1. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786891904&usg=AOvVaw2Tg4fUWSQSfWa04DCdF5wF) + 2. Is this ready for review? Are there public discussions on this? + + + 1. Kevin will ask about the progress about this. + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-09-17.md b/offload-wg/meeting-minutes/offload-minutes-2025-09-17.md new file mode 100644 index 0000000..5111960 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-09-17.md @@ -0,0 +1,115 @@ +# Wednesday, September 17 2025, 9:00 - 10:00 am CDT + +# Agenda + + 90. PR Review list + + + 1. + + 91. Location for scripts / Infrastructure for testing (JP) + + + 1. Consolidate scripts that the buildbots run into llvm-project. Makes reproducibility better as it ties the scripts to the LLVM version. Also enables developers to easier recreate what the buildbots do locally. + 2. We already have the container recipes public, CMake cache files are in-tree that are used for the build. What's left is the actual scripts that are run when testing. + 3. Immediate ideas where to put these: + + + 1. llvm-project/offload/ci + + + 4. No concerns + + + 92. Liboffload API + + + 1. Further discussion on device/memory allocation link - in regards to [https://github.com/llvm/llvm-project/pull/154733](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/154733&sa=D&source=editors&ust=1779820786876157&usg=AOvVaw1sp97uNKAco6rXr_OHSkKV) (closed), new PR: [https://github.com/llvm/llvm-project/pull/157478](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/157478&sa=D&source=editors&ust=1779820786876432&usg=AOvVaw3dqiMhlKbVKy0B6QDhdP1Q) + + + 1. Binary search to find memory addresses is not possible or difficult since memory regions can overlap in weird ways for device allocations. + 2. Using a map has similar problems - we'd need to do a linear search to find the appropriate key anyway. + 3. We need AllocInfo for a hypothetical olGetMemInfo method which can query an allocations type, base and size. + + + 1. Sadly it doesn't seem possible to query this information directly from the pointer through HSA. + 2. We could also not provide this information and require the liboffload user to track it themselves if they need it. + + + 4. AllocInfo is also used to find the platform used for host/managed allocations. + + + 1. Wouldn't need this requirement if the "device" parameter to olMemFree was mandatory. + 2. Without olGetMemInfo and with olMemFree only allowing the start of the buffer we wouldn't need to track the size. + 3. Could we allocate an extra 8 bytes and use the start of the buffer to store the device handle? + + + 5. Piotr is keen on not having olMemCpy (and friends) not accept a device pointer, is this feasible? + + + 1. Required to identify whether the transfer is host to device, device to host or device to device. + 2. Required to identify the device itself, and which platform to use (could be queried through the queue instead?) + 3. Specifying both allows the API in the future to be able to transfer data from completely separate devices (using the host as an intermediate). + + + 6. Pass device id to alloc/free vs pass plugin id + + + 1. Joseph: it's easier for the user to keep track of the platform/plugin + 2. Runtime tracks active plugins + 3. In free, query the plugin for pointer info first + + + 7. Joseph: why can't we re-allocate if we got a duplicate address from allocation? Keeping track of platforms adds too much burden on the user. + + + 1. Ross: We'd like to get the "owner" of each valid address. + 2. Joseph: In case of USM, the linux kernel should manage the address space. + 3. Sergey: Different drivers do not communicate with one another. + 4. Joseph: It's very unlikely to get a conflict, re-allocation would be rare + 5. Piotr: Multiple devices are common with integrated GPUs. + + + 8. Concern with memcpy having to do pointer lookup: may not be worth the effort. + + + 1. If memcpy took device ids the lookup wouldn't be needed + 2. Ross: there is a use-case with bare pointers + 3. Unified RT needs to know if the pointer is on host or on an actual device + 4. Further discussion to be continued in the PR + + + 2. Callum and Ross will stop working on the liboffload at the end of the month. Intel will pick up the work. + + + 93. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786882146&usg=AOvVaw3Igrumhb37xWYza14mQwJY) + + + 1. Jonas is implementing basic interface, expect more PRs in the next week or so. + + + 1. [https://github.com/llvm/llvm-project/pull/156259](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/156259&sa=D&source=editors&ust=1779820786882607&usg=AOvVaw3aek7CPT8PEcdkGo2T6XlM) + + + 1. Joseph added comments to the PR, waiting for response + 2. Jonas's internship has ended, but he will continue working on this (at a slower pace, perhaps). + + + 2. More PRs coming soon + + + 94. Parallel Thin LTO (WIP) + + + 1. Some parts are already in upstream. Shilei (?) has been working on that + 2. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786883645&usg=AOvVaw1S5tf4tvBjfFVIHDUJGBbW) + + + 95. Level zero plugin + + + 1. Review in progress + + + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-10-01.md b/offload-wg/meeting-minutes/offload-minutes-2025-10-01.md new file mode 100644 index 0000000..7de52c4 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-10-01.md @@ -0,0 +1,91 @@ +# Wednesday, October 1 2025, 9:00 - 10:00 am CDT + +# Agenda + + 83. PR Review list + + + 1. + + 84. Location for scripts / Infrastructure for testing (JP) + + + 1. Consolidate scripts that the buildbots run into llvm-project. Makes reproducibility better as it ties the scripts to the LLVM version. Also enables developers to easier recreate what the buildbots do locally. + 2. We already have the container recipes public, CMake cache files are in-tree that are used for the build. What's left is the actual scripts that are run when testing. + 3. Immediate ideas where to put these: + + + 1. llvm-project/offload/ci + + + 4. No concerns + + + 85. Liboffload API + + + 1. Further discussion on device/memory allocation link - in regards to [https://github.com/llvm/llvm-project/pull/154733](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/154733&sa=D&source=editors&ust=1779820786869315&usg=AOvVaw0ZZcDzlKlGEdEeJdLAtGDn) (closed), new PR: [https://github.com/llvm/llvm-project/pull/157478](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/157478&sa=D&source=editors&ust=1779820786869579&usg=AOvVaw0Kh1PEhSjSaw7SVP5qMosX) + + + 1. Joseph: why can't we re-allocate if we got a duplicate address from allocation? Keeping track of platforms adds too much burden on the user. + + + 1. Ross: We'd like to get the "owner" of each valid address. + 2. Joseph: In case of USM, the linux kernel should manage the address space. + 3. Sergey: Different drivers do not communicate with one another. + 4. Joseph: It's very unlikely to get a conflict, re-allocation would be rare + 5. Piotr: Multiple devices are common with integrated GPUs. + + + 2. Concern with memcpy having to do pointer lookup: may not be worth the effort. + + + 1. If memcpy took device ids the lookup wouldn't be needed + 2. Ross: there is a use-case with bare pointers + 3. Unified RT needs to know if the pointer is on host or on an actual device + 4. Further discussion to be continued in the PR + + + 2. Callum and Ross will stop working on the liboffload at the end of the month. Intel will pick up the work. + + + 86. [https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/llvm_kernel_languages&sa=D&source=editors&ust=1779820786871968&usg=AOvVaw1M1ldjLTD_HYszkr_G-Slo) + + + 1. Jonas is implementing basic interface, expect more PRs in the next week or so. + + + 1. [https://github.com/llvm/llvm-project/pull/156259](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/156259&sa=D&source=editors&ust=1779820786872424&usg=AOvVaw3Vzx3vxTUW162AsvJElBQN) + + + 1. Joseph added comments to the PR, waiting for response + 2. Jonas's internship has ended, but he will continue working on this (at a slower pace, perhaps). + + + 2. More PRs coming soon + + + 87. Parallel Thin LTO (WIP) + + + 1. Some parts are already in upstream. Shilei (?) has been working on that + 2. Second try: [https://github.com/jdoerfert/llvm-project/tree/thin_lto](https://www.google.com/url?q=https://github.com/jdoerfert/llvm-project/tree/thin_lto&sa=D&source=editors&ust=1779820786873409&usg=AOvVaw0UQwVpchQJl-EvDqiZDJ5F) + + + 88. Level zero plugin + + + 1. Review in progress + + + 89. Offload commit/PR github notifications (Alex/Nick) + + + 1. Should we have a subscriber group like clang? + 2. What if people only care about a subset of files + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2025-12-10.md b/offload-wg/meeting-minutes/offload-minutes-2025-12-10.md new file mode 100644 index 0000000..1cd092a --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2025-12-10.md @@ -0,0 +1,115 @@ +# Wednesday, December 10 2025, 9:00 - 10:00 am CST + +# Agenda + + 76. Next meeting: December 17, 2025 + 77. PR Review list + + + 1. + + 78. Level zero plugin + + + 1. Review in progress: https://github.com/llvm/llvm-project/pull/158900 + 2. Build bot needed + + + 1. Intel has setup a build bot already. + 2. Build bot will become active once the PR lands. + + + 3. Kevin's suggestions on the PR have been implemented. + 4. New plugin will be have to be activated for now; experimental status for now. + 5. Joseph will re-review the PR + + + 1. Concerns on the dependency on libomp; has been removed already. + + + 79. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Many ELF aspects are specific to OpenMP support + 2. Should move to libomptarget; might not work with CUDA/HIP anyways. + 3. Level Zero consumes SPIR-V and does not need ELF. + 4. Needs expansion of binary magic number detection. + 5. NEW: Formalizing program image format for olCreateProgram. Should it just accept Offload Binary (after its extended to support SYCL https://discourse.llvm.org/t/rfc-syclbin-a-format-for-sycl-device-code/88603/1 ) ? + + + 1. Working on extending olCreateProgram to accept other formats (e.g. SPIRV). + + + 1. [https://github.com/llvm/llvm-project/pull/166545](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/166545&sa=D&source=editors&ust=1779820786862377&usg=AOvVaw08Ch3w9cdiMm02TaSLNyB2) + + + 2. It should really accept any offload format. What should that format be? + 3. Will it use clang-linker-wrapper for SYCL? + + + 6. ELF is not an issue anymore, Alex has a workaround that takes care of it + 7. We should move all of this to libomptarget. + 8. Plan to close it + + + 80. API for initializing a subset of supported platforms --continued + + + 1. Lots of env variables, make them part of the config + 2. Ideas to abstract away the ABI changes when the config structure is modified? + + + 1. Making the structure internal hides the problem, but is cumbersome to use, when multiple calls are needed to set it up + 2. Alex: do these changes related to env variables need to be a part of initialization? + 3. Joseph: env vars control different aspects of the platform (global cfg and device cfg) + + + 3. How do we decide which platforms to initialize? + + + 1. Use an enum (keep what we have now) or a bitfield that could be "or" of different values? + 2. Assume the host is always initialized + 3. Alex: do we allow external platforms (not compiled-in)? + 4. Joseph: this used to be allowed, but was never used. Deleting it simplified the code + + + 4. In addition to the ability to filter out platforms there should be stable device identifiers + + + 1. SYCL has env variables to specify devices to use (identifiers provided by syclls) + 2. In order for that to work the device identifiers should be stable between applications. + 3. Proposal: add a requirement that plugins enumerate devices in the same order every time. + + + 81. Add context to offloading API + + + 1. [https://github.com/llvm/llvm-project/pull/158900](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/158900&sa=D&source=editors&ust=1779820786865986&usg=AOvVaw1B__ShoHbCI4peAWj4rhN7) + 2. Part of SYCL 2020 standard + 3. The plan is to make a prototype first to see what changes are required + + + 82. Dependency on old driver + + + 1. Some actions are different in the new driver + + + 1. Bundling is no longer needed, heterogeneous objects are now supported + + + 2. HIP is moving to the new driver + 3. A lot of cleanup can be done if the old driver is no longer needed + + + 1. Are there any other frontends that use the old driver? E.g. CUDA, OpenCL, SYCL + 2. SYCL is still working with the old driver, but is moving to the new one + + + 4. Plan: delete old driver in clang-23 + + + +* * * + +# diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-01-07.md b/offload-wg/meeting-minutes/offload-minutes-2026-01-07.md new file mode 100644 index 0000000..e57a69d --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-01-07.md @@ -0,0 +1,125 @@ +# Wednesday, January 7, 9:00 - 10:00 am CST + +# Agenda + + 69. PR Review list + + + 1. [OpenMP] Preserve the original address when use_device_ptr/addr lookup fails. ([#174659](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/174659&sa=D&source=editors&ust=1779820786849411&usg=AOvVaw0k-BAmfNQaPN0FWcTkcfaM)) + + + 1. \+ the stack for use_device_ptr(fb_nullify/preserve): [#169603](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/169603&sa=D&source=editors&ust=1779820786849693&usg=AOvVaw2eE2G3Oqw1u65RmjUQChXu), [#170578](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170578&sa=D&source=editors&ust=1779820786849799&usg=AOvVaw2kQNK4bv-Z4Mqk-bxUvTkn), [#173930](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/173930&sa=D&source=editors&ust=1779820786849904&usg=AOvVaw3zABi1H_VAVnE-gyd-Y0-v), [#173931](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/173931&sa=D&source=editors&ust=1779820786850007&usg=AOvVaw0QSBNrXd1K_tchv7FWhwhu) + + + 70. Level zero plugin + + + 1. A system with Intel hardware has been added to the upstream CI + + + 1. Next: Add tests that exercise this code. + + + 71. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Many ELF aspects are specific to OpenMP support + 2. Should move to libomptarget; might not work with CUDA/HIP anyways. + 3. Level Zero consumes SPIR-V and does not need ELF. + 4. Needs expansion of binary magic number detection. + 5. NEW: Formalizing program image format for olCreateProgram. Should it just accept Offload Binary (after its extended to support SYCL https://discourse.llvm.org/t/rfc-syclbin-a-format-for-sycl-device-code/88603/1 ) ? + + + 1. Working on extending olCreateProgram to accept other formats (e.g. SPIRV). + + + 1. [https://github.com/llvm/llvm-project/pull/166545](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/166545&sa=D&source=editors&ust=1779820786852086&usg=AOvVaw3_twTftuNtew_TaQoeUeBe) + + + 2. It should really accept any offload format. What should that format be? + 3. Will it use clang-linker-wrapper for SYCL? + + + 6. ELF is not an issue anymore, Alex has a workaround that takes care of it + 7. We should move all of this to libomptarget. + 8. Plan to close it + 9. Piotr has a PR for kernel launch changes: + + + 1. [https://github.com/llvm/llvm-project/pull/173263](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/173263&sa=D&source=editors&ust=1779820786853093&usg=AOvVaw3-5YPIAL7-vnkYxgKKTx2M) + + + 10. Joseph: we could implement code in the compiler that adds necessary information about the kernel arguments. + 11. Alex: we can't do that in SPIRV for OpenCL + 12. Joseph: Could we pre-compile SPIRV to ELF and have the rest of the code deal with ELF? + 13. Joseph: Could we look up a global name in SPIRV for the kernel and iterate over the arguments? + 14. Next: see if this is possible. Piotr will discuss this internally + + + 72. API for initializing a subset of supported platforms --continued + + + 1. Lots of env variables, make them part of the config + 2. Ideas to abstract away the ABI changes when the config structure is modified? + + + 1. Making the structure internal hides the problem, but is cumbersome to use, when multiple calls are needed to set it up + 2. Alex: do these changes related to env variables need to be a part of initialization? + 3. Joseph: env vars control different aspects of the platform (global cfg and device cfg) + + + 3. How do we decide which platforms to initialize? + + + 1. Use an enum (keep what we have now) or a bitfield that could be "or" of different values? + 2. Assume the host is always initialized + 3. Alex: do we allow external platforms (not compiled-in)? + 4. Joseph: this used to be allowed, but was never used. Deleting it simplified the code + + + 4. In addition to the ability to filter out platforms there should be stable device identifiers + + + 1. SYCL has env variables to specify devices to use (identifiers provided by sycalls) + 2. In order for that to work the device identifiers should be stable between applications. + 3. Proposal: add a requirement that plugins enumerate devices in the same order every time. + + + 5. Joseph: thinking about how to make is ABI-stable. Make it append-only for future extensions? + + + 73. Add context to offloading API + + + 1. [https://github.com/llvm/llvm-project/issues/171129](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/171129&sa=D&source=editors&ust=1779820786857404&usg=AOvVaw2iMW3jm-vmIYkYYZjVAAM7) + 2. Part of SYCL 2020 standard + 3. The plan is to make a prototype first to see what changes are required + + + 74. PR to remove standalone build for offload + 75. Dependency on old driver + + + 1. Some actions are different in the new driver + + + 1. Bundling is no longer needed, heterogeneous objects are now supported + + + 2. HIP is moving to the new driver + 3. A lot of cleanup can be done if the old driver is no longer needed + + + 1. Are there any other frontends that use the old driver? E.g. CUDA, OpenCL, SYCL + 2. SYCL is still working with the old driver, but is moving to the new one + + + 4. Plan: delete old driver in clang-23 + 5. Joseph: working on getting the new driver in HIP, tests are green so far + + + 1. We'd get the new driver by default with opt-out in clang-22, and only the new driver in clang-23. + + + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-01-21.md b/offload-wg/meeting-minutes/offload-minutes-2026-01-21.md new file mode 100644 index 0000000..fb35175 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-01-21.md @@ -0,0 +1,126 @@ +# Wednesday, January 21, 9:00 - 10:00 am CST + +# Agenda + + 62. PR Review list + + + 1. [OpenMP] Preserve the original address when use_device_ptr/addr lookup fails. ([#174659](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/174659&sa=D&source=editors&ust=1779820786839751&usg=AOvVaw1aVjGw3Zqnh2kUBg1yKTTu)) + + + 1. \+ the stack for use_device_ptr(fb_nullify/preserve): [#169603](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/169603&sa=D&source=editors&ust=1779820786840040&usg=AOvVaw24Xjn9poAyROB2PxaqZReh), [#170578](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170578&sa=D&source=editors&ust=1779820786840146&usg=AOvVaw27TPdeDhbjp6DrbpMm5IxI), [#173930](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/173930&sa=D&source=editors&ust=1779820786840247&usg=AOvVaw3Vnc3itIcaOXVFLvv7YIPJ), [#173931](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/173931&sa=D&source=editors&ust=1779820786840354&usg=AOvVaw1UtytDJalIc3WcMRezLA-O) + + + 63. Level zero plugin + + + 1. A system with Intel hardware has been added to the upstream CI + + + 1. Next: Add tests that exercise this code. + + + 64. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Many ELF aspects are specific to OpenMP support + 2. Should move to libomptarget; might not work with CUDA/HIP anyways. + 3. Level Zero consumes SPIR-V and does not need ELF. + 4. Needs expansion of binary magic number detection. + 5. NEW: Formalizing program image format for olCreateProgram. Should it just accept Offload Binary (after its extended to support SYCL https://discourse.llvm.org/t/rfc-syclbin-a-format-for-sycl-device-code/88603/1 ) ? + + + 1. Working on extending olCreateProgram to accept other formats (e.g. SPIRV). + + + 1. [https://github.com/llvm/llvm-project/pull/166545](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/166545&sa=D&source=editors&ust=1779820786842264&usg=AOvVaw3NfieK4jDn-xWxVWxWzR_g) + + + 2. It should really accept any offload format. What should that format be? + 3. Will it use clang-linker-wrapper for SYCL? + + + 6. ELF is not an issue anymore, Alex has a workaround that takes care of it + 7. We should move all of this to libomptarget. + 8. Plan to close it + 9. Piotr has a PR for kernel launch changes: + + + 1. [https://github.com/llvm/llvm-project/pull/173263](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/173263&sa=D&source=editors&ust=1779820786843186&usg=AOvVaw06LKeHRCxtaBr-PRPQVg4D) + + + 10. Joseph: we could implement code in the compiler that adds necessary information about the kernel arguments. + 11. Alex: we can't do that in SPIRV for OpenCL + 12. Joseph: Could we pre-compile SPIRV to ELF and have the rest of the code deal with ELF? + 13. Joseph: Could we look up a global name in SPIRV for the kernel and iterate over the arguments? + 14. Next: see if this is possible. Piotr will discuss this internally + + + 65. API for initializing a subset of supported platforms --continued + + + 1. Lots of env variables, make them part of the config + 2. Ideas to abstract away the ABI changes when the config structure is modified? + + + 1. Making the structure internal hides the problem, but is cumbersome to use, when multiple calls are needed to set it up + 2. Alex: do these changes related to env variables need to be a part of initialization? + 3. Joseph: env vars control different aspects of the platform (global cfg and device cfg) + + + 3. How do we decide which platforms to initialize? + + + 1. Use an enum (keep what we have now) or a bitfield that could be "or" of different values? + 2. Assume the host is always initialized + 3. Alex: do we allow external platforms (not compiled-in)? + 4. Joseph: this used to be allowed, but was never used. Deleting it simplified the code + + + 4. In addition to the ability to filter out platforms there should be stable device identifiers + + + 1. SYCL has env variables to specify devices to use (identifiers provided by sycalls) + 2. In order for that to work the device identifiers should be stable between applications. + 3. Proposal: add a requirement that plugins enumerate devices in the same order every time. + + + 5. Joseph: thinking about how to make is ABI-stable. Make it append-only for future extensions? + + + 66. Add context to offloading API + + + 1. [https://github.com/llvm/llvm-project/issues/171129](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/171129&sa=D&source=editors&ust=1779820786846859&usg=AOvVaw2_4yMogrZeC9tNt0fg1HVC) + 2. Part of SYCL 2020 standard + 3. The plan is to make a prototype first to see what changes are required + + + 67. PR to remove standalone build for offload + + + 1. [https://github.com/llvm/llvm-project/pull/170693](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170693&sa=D&source=editors&ust=1779820786847440&usg=AOvVaw36AVTcPfBuP4k99IfUN-vC) + + + 68. Dependency on old driver + + + 1. Some actions are different in the new driver + + + 1. Bundling is no longer needed, heterogeneous objects are now supported + + + 2. HIP is moving to the new driver + 3. A lot of cleanup can be done if the old driver is no longer needed + + + 1. Are there any other frontends that use the old driver? E.g. CUDA, OpenCL, SYCL + 2. SYCL is still working with the old driver, but is moving to the new one + + + 4. Plan: delete old driver in clang-23 + 5. Joseph: working on getting the new driver in HIP, tests are green so far + 6. We'd get the new driver by default with opt-out in clang-22, and only the new driver in clang-23. + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-02-04.md b/offload-wg/meeting-minutes/offload-minutes-2026-02-04.md new file mode 100644 index 0000000..230f922 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-02-04.md @@ -0,0 +1,101 @@ +# Wednesday, February 4, 9:00 - 10:00 am CST + +# Agenda + + 53. PR Review list + + + 1. + + + 54. Level zero plugin + + + 1. A system with Intel hardware has been added to the upstream CI + + + 1. Next: Add tests that exercise this code. + 2. Only 10-15% tests passing, the rest was XFAILED. + 3. Next: work on getting the tests pass + + + 1. SPIRV device RTL was merged, but is not used yet + + + 1. Johannes has some fixes (https://github.com/jdoerfert/llvm-project/tree/spirv-offload), seems like lots of errors are caused by a small number of issues + + + 2. Adding unit tests for L0 + + + 55. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. [...old discussion in prior meeting notes…] + 2. Joseph: Could we look up a global name in SPIRV for the kernel and iterate over the arguments? + 3. Next: see if this is possible. Piotr will discuss this internally + 4. There is an experimental API in L0 to get the argument sizes directly. The existing launch kernel API can be implemented this way. + 5. The OpenCL is still an issue. + + + 1. Generic kernel launch API: [https://github.com/llvm/llvm-project/pull/176742](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/176742&sa=D&source=editors&ust=1779820786835471&usg=AOvVaw0SpEpDqNrLZwFPdJcQppyB) + 2. Working on generalizing the interface + + + 56. API for initializing a subset of supported platforms --continued + + + 1. [...old discussion in prior meeting notes…] + 2. Joseph: thinking about how to make is ABI-stable. Make it append-only for future extensions? + 3. Low priority. + + + 57. Add context to offloading API + + + 1. [https://github.com/llvm/llvm-project/issues/171129](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/171129&sa=D&source=editors&ust=1779820786836362&usg=AOvVaw1htVwDflEUbiMlPLgtnlV4) + 2. Part of SYCL 2020 standard + 3. The plan is to make a prototype first to see what changes are required + + + 58. PR to remove standalone build for offload + + + 1. [https://github.com/llvm/llvm-project/pull/17w0693](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170693&sa=D&source=editors&ust=1779820786836941&usg=AOvVaw36PJX0YQ72CG02kvzy2JMz) + + + 59. Dependency on old driver + + + 1. Some actions are different in the new driver + + + 1. Bundling is no longer needed, heterogeneous objects are now supported + + + 2. HIP is moving to the new driver + 3. A lot of cleanup can be done if the old driver is no longer needed + + + 1. Are there any other frontends that use the old driver? E.g. CUDA, OpenCL, SYCL + 2. SYCL is still working with the old driver, but is moving to the new one + + + 4. Plan: delete old driver in clang-243 + 5. Joseph: working on getting the new driver in HIP, tests are green so far + 6. We'd get the new driver by default with opt-out in clang-23, and only the new driver in clang-24. + + + 60. GPU offload presentation at FOSDEM by JP Lehr + + + +Recording available here: [FOSDEM 2026 - GPU Offloading in LLVM: Architecture, API, and Plugins](https://www.google.com/url?q=https://fosdem.org/2026/schedule/event/XF8FT9-gpu_offloading_in_llvm_architecture_api_and_plugins/&sa=D&source=editors&ust=1779820786838642&usg=AOvVaw1qeiFvT_1d6UFqhtjercte) + + 61. Presentation about OMPT by Michael Halkenhauser in OpenMP in LLVM meeting on Feb 11 25 + + + +# Correction: February 25. (the Feb 11 meeting is canceled due to OpenMP F2F) + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-02-18.md b/offload-wg/meeting-minutes/offload-minutes-2026-02-18.md new file mode 100644 index 0000000..5b8a113 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-02-18.md @@ -0,0 +1,93 @@ +# Wednesday, February 18, 9:00 - 10:00 am CST + +# Agenda + + 45. PR Review list + + + 1. https://github.com/llvm/llvm-project/pull/174955 + + + 46. Dumping intermediate binaries for SPIRV + + + 1. An option for the runtime to do that, Joseph had concerns + 2. SPIRV requires more complex compilation jobs in runtime, dumping the intermediate files seems useful + 3. Joseph: ideally we'd have generic tools for this, but this may be complicated + 4. Alex: have a tool that uses runtime + + + 47. Level zero plugin + + + 1. A system with Intel hardware has been added to the upstream CI + + + 1. Next: Add tests that exercise this code. + 2. Only 10-15% tests passing, the rest was XFAILED. + 3. Next: work on getting the tests pass + + + 1. SPIRV device RTL was merged, but is not used yet + + + 1. Johannes has some fixes (https://github.com/jdoerfert/llvm-project/tree/spirv-offload), seems like lots of errors are caused by a small number of issues + + + 2. Adding unit tests for L0 + 3. Testing of device RTL was enabled, but added more failures, work in progress to address these + + + 48. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. [...old discussion in prior meeting notes…] + 2. Joseph: Could we look up a global name in SPIRV for the kernel and iterate over the arguments? + 3. Next: see if this is possible. Piotr will discuss this internally + 4. There is an experimental API in L0 to get the argument sizes directly. The existing launch kernel API can be implemented this way. + 5. The OpenCL is still an issue. + + + 1. Generic kernel launch API: [https://github.com/llvm/llvm-project/pull/176742](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/176742&sa=D&source=editors&ust=1779820786830002&usg=AOvVaw2ZzUJp8Kts-CrDE-GhyqWY) + 2. Working on generalizing the interface + 3. Lukasz is currently working on adding cooperative kernel launch support to the API, almost done + + + 49. API for initializing a subset of supported platforms --continued + + + 1. [...old discussion in prior meeting notes…] + 2. Joseph: thinking about how to make is ABI-stable. Make it append-only for future extensions? + 3. Low priority. + 4. Done. Using size as the version. + + + 1. Using size seems to be easier than keeping a separate version, since all preexisting members need to be kept. + 2. Using version allows removing fields. + 3. Alex: version is more flexible + + + 50. Add context to offloading API + + + 1. [https://github.com/llvm/llvm-project/issues/171129](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/171129&sa=D&source=editors&ust=1779820786831552&usg=AOvVaw2_qeZR9LYK0jMVktd03Hi3) + 2. Part of SYCL 2020 standard + 3. The plan is to make a prototype first to see what changes are required + 4. Low priority, remove from agenda until this comes back + + + 51. PR to remove standalone build for offload + + + 1. [https://github.com/llvm/llvm-project/pull/170693](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170693&sa=D&source=editors&ust=1779820786832232&usg=AOvVaw0I5LPOyD7xWK6WgIMR0Kfa) + + + 1. Undergoing updates. Work in progress. + + + 52. Presentation about OMPT by Michael Halkenhauser in OpenMP in LLVM meeting on Feb 11 25 + + + 1. Correction: February 25. (the Feb 11 meeting is canceled due to OpenMP F2F) + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-03-04.md b/offload-wg/meeting-minutes/offload-minutes-2026-03-04.md new file mode 100644 index 0000000..7bea514 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-03-04.md @@ -0,0 +1,102 @@ +# Wednesday, March 4, 9:00 - 10:00 am CST + +# Agenda + + 35. PR Review list + + + 1. https://github.com/llvm/llvm-project/pull/174955 + 2. [https://github.com/llvm/llvm-project/pull/174955](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/174955&sa=D&source=editors&ust=1779820786818134&usg=AOvVaw395KNjUrlovstWr2JivoSP) +https://github.com/llvm/llvm-project/pull/184343 + + + + 36. Bump minimum supported version of CUDA + 37. Dumping intermediate binaries for SPIRV + + + 1. An option for the runtime to do that, Joseph had concerns + 2. SPIRV requires more complex compilation jobs in runtime, dumping the intermediate files seems useful + 3. Joseph: ideally we'd have generic tools for this, but this may be complicated + 4. Alex: have a tool that uses runtime + + + 38. Level zero plugin + + + 1. A system with Intel hardware has been added to the upstream CI + + + 1. Next: Add tests that exercise this code. + 2. Only 10-15% tests passing, the rest was XFAILED. + 3. Next: work on getting the tests pass + + + 1. SPIRV device RTL was merged, but is not used yet + + + 1. Johannes has some fixes (https://github.com/jdoerfert/llvm-project/tree/spirv-offload), seems like lots of errors are caused by a small number of issues + + + 2. Adding unit tests for L0 + 3. Testing of device RTL was enabled, but added more failures, work in progress to address these + + + 39. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. [...old discussion in prior meeting notes…] + 2. Joseph: Could we look up a global name in SPIRV for the kernel and iterate over the arguments? + 3. Next: see if this is possible. Piotr will discuss this internally + 4. There is an experimental API in L0 to get the argument sizes directly. The existing launch kernel API can be implemented this way. + 5. The OpenCL is still an issue. + + + 1. Generic kernel launch API: [https://github.com/llvm/llvm-project/pull/176742](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/176742&sa=D&source=editors&ust=1779820786821832&usg=AOvVaw1MAtPte8y-T1Q91XS8yIq4) + 2. Working on generalizing the interface + 3. Lukasz is currently working on adding cooperative kernel launch support to the API, almost done + + + 40. API for initializing a subset of supported platforms --continued + + + 1. [...old discussion in prior meeting notes…] + 2. Joseph: thinking about how to make is ABI-stable. Make it append-only for future extensions? + 3. Low priority. + 4. Done. Using size as the version. + + + 1. Using size seems to be easier than keeping a separate version, since all preexisting members need to be kept. + 2. Using version allows removing fields. + 3. Alex: version is more flexible + + + 41. Add context to offloading API + + + 1. [https://github.com/llvm/llvm-project/issues/171129](https://www.google.com/url?q=https://github.com/llvm/llvm-project/issues/171129&sa=D&source=editors&ust=1779820786823567&usg=AOvVaw1LIZZn3gHZUoPcAaMYkRJv) + 2. Part of SYCL 2020 standard + 3. The plan is to make a prototype first to see what changes are required + 4. Low priority, remove from agenda until this comes back + + + 42. PR to remove standalone build for offload + + + 1. [https://github.com/llvm/llvm-project/pull/170693](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170693&sa=D&source=editors&ust=1779820786824252&usg=AOvVaw3_2dKNmqtCkFlMMjgRV_hy) + + + 1. Undergoing updates. Work in progress. + + + 43. AMDGPU Buildbots Update: Bots will be migrated to a manylinux-based docker image with gcc-13 toolchain. As part of it RHEL 8, RHEL 9, SLES 15 and at some point also Ubuntu buildbots will or may be retired. + + + 1. Dockerfiles to set up environment will be public. + 2. Timeline not fully clear, but test coverage always given. + 3. Most importantly: If people want coverage with a particular (old) GCC toolchain version that might not be something that we can provide. + + + 44. Presentation about OMPT by Michael Halkenhauser in OpenMP in LLVM meeting on Feb 25. Seeking feedback from the community. + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-03-18.md b/offload-wg/meeting-minutes/offload-minutes-2026-03-18.md new file mode 100644 index 0000000..4d55eec --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-03-18.md @@ -0,0 +1,68 @@ +# Wednesday, March 18, 9:00 - 10:00 am CDT + +# Agenda + + 27. PR Review list + + + 1. [https://github.com/llvm/llvm-project/pull/174955](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/174955&sa=D&source=editors&ust=1779820786813376&usg=AOvVaw2bTxG4_ZebUlG8pjeSwaH2) + 2. [https://github.com/llvm/llvm-project/pull/184343](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/184343&sa=D&source=editors&ust=1779820786813575&usg=AOvVaw2iEXI3QZ285GwP1ZE3PpZ0) + + + 28. Bump minimum supported version of CUDA + + + 1. CUDA version for launch API (11.8) + 2. Since Volta: independent thread scheduling API + + + 29. Dumping intermediate binaries for SPIRV + + + 1. An option for the runtime to do that, Joseph had concerns + 2. SPIRV requires more complex compilation jobs in runtime, dumping the intermediate files seems useful + 3. Joseph: ideally we'd have generic tools for this, but this may be complicated + 4. Alex: have a tool that uses runtime + 5. They went with an alternative approach + + + 1. Did it through offloading binary and improving the tooling. + + + 30. Level zero plugin + + + 1. Level 0 has landed, Intel working on improving test success rate + + + 31. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Worked on. Updates will be provided as needed. + + + 32. PR to remove standalone build for offload + + + 1. [https://github.com/llvm/llvm-project/pull/170693](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/170693&sa=D&source=editors&ust=1779820786815737&usg=AOvVaw0rXnq7SlTxZaIL-CLR9jwc) + + + 1. Undergoing updates. Work in progress. + 2. Will be updated today. + + + 33. AMDGPU Buildbots Update: Bots will be migrated to a manylinux-based docker image with gcc-13 toolchain. As part of it RHEL 8, RHEL 9, SLES 15 and at some point also Ubuntu buildbots will or may be retired. + + + 1. Dockerfiles to set up environment will be public. + 2. Timeline not fully clear, but test coverage always given. + 3. Most importantly: If people want coverage with a particular (old) GCC toolchain version that might not be something that we can provide. + + + 34. Presentation about OMPT by Michael Halkenhauser in OpenMP in LLVM meeting on Feb 25. Seeking feedback from the community. + + + 1. Slides: [LLVM-OpenMP-OMPT-Upstreaming-2026-02-25 - Google Slides](https://www.google.com/url?q=https://docs.google.com/presentation/d/1s3bhaZbhhmFODF_oT0k7CMi7zQg_A1VjTbVn6qpNnw8/edit?slide%3Did.g3aab30c8bc6_0_5%23slide%3Did.g3aab30c8bc6_0_5&sa=D&source=editors&ust=1779820786817304&usg=AOvVaw3SIbVDlbLH4sdBWKWskjgN) + 2. PR underway + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-04-01.md b/offload-wg/meeting-minutes/offload-minutes-2026-04-01.md new file mode 100644 index 0000000..e3a2e5f --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-04-01.md @@ -0,0 +1,77 @@ +# Wednesday, April 1, 9:00 - 10:00 am CDT + +# Agenda + + 19. PR Review list + + + 1. [https://github.com/llvm/llvm-project/pull/174955](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/174955&sa=D&source=editors&ust=1779820786807833&usg=AOvVaw2UR2vyE_DtO_V__blIdkVq) + 2. [https://github.com/llvm/llvm-project/pull/184343](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/184343&sa=D&source=editors&ust=1779820786808033&usg=AOvVaw3Qw4vDXo8uLiiaVI5iRUqJ) + 3. [https://github.com/llvm/llvm-project/pull/191100](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/191100&sa=D&source=editors&ust=1779820786808240&usg=AOvVaw2lAIREfSK_5Rk82rZ_Bo2R) + + + 20. Emissary API demo + + + 1. [https://github.com/llvm/llvm-project/pull/187602](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187602&sa=D&source=editors&ust=1779820786808526&usg=AOvVaw0HdFmKAwjn-fdeA_GOPa0n) + 2. Will show what an API developer needs to do, in contrast to what's there today. + 3. Joseph: this adds a lot of complexity that may not be necessary, specifically changes in clang codegen + 4. Greg: this is much more convenient for a developer, and it's significantly faster + + + 21. Bump minimum supported version of CUDA + + + 1. CUDA version for launch API (11.8) + 2. Since Volta: independent thread scheduling API + + + 1. Need to use cooperative dispatch + + + 22. Dumping intermediate binaries for SPIRV + + + 1. An option for the runtime to do that, Joseph had concerns + 2. SPIRV requires more complex compilation jobs in runtime, dumping the intermediate files seems useful + 3. Joseph: ideally we'd have generic tools for this, but this may be complicated + 4. Alex: have a tool that uses runtime + 5. They went with an alternative approach + + + 1. Did it through offloading binary and improving the tooling. + + + 23. Level zero plugin + + + 1. Level 0 has landed, Intel working on improving test success rate + + + 24. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Worked on. Updates will be provided as needed. + 2. With olCreateProgram we're assuming ELF, but for L0 we need to support SPIRV and other types. Alex may have other ideas about how to address it. + + + 25. Presentation about OMPT by Michael Halkenhauser in OpenMP in LLVM meeting on Feb 25. Seeking feedback from the community. + + + 1. Slides: [LLVM-OpenMP-OMPT-Upstreaming-2026-02-25 - Google Slides](https://www.google.com/url?q=https://docs.google.com/presentation/d/1s3bhaZbhhmFODF_oT0k7CMi7zQg_A1VjTbVn6qpNnw8/edit?slide%3Did.g3aab30c8bc6_0_5%23slide%3Did.g3aab30c8bc6_0_5&sa=D&source=editors&ust=1779820786811685&usg=AOvVaw1r_e8OJzJ3AAVSvLzDhZ96) + 2. PR underway + + + 26. Windows support for SYCL + + + 1. PR: [https://github.com/llvm/llvm-project/pull/187006](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786812237&usg=AOvVaw2-208xtCaYc1gWCxoGp4Fg) + + + 1. [Compiling liboffload on Windows](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786812399&usg=AOvVaw2cfkOkVvUpZ5R8A9Yb1qhu) + 2. [L0 implementation still needs a few tweaks](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786812557&usg=AOvVaw1KAvOav6anZj6GJkz4i1vm) + + + 2. Joseph: the bulk of this is generic C code, so it shouldn't be hard to get it working + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-04-15.md b/offload-wg/meeting-minutes/offload-minutes-2026-04-15.md new file mode 100644 index 0000000..63636f6 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-04-15.md @@ -0,0 +1,90 @@ +# Wednesday, April 15, 9:00 - 10:00 am CDT + +# Agenda + + 12. PR Review list + + + 1. [https://github.com/llvm/llvm-project/pull/174955 - defered, needs update](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/174955&sa=D&source=editors&ust=1779820786801335&usg=AOvVaw0ukDMIDXCM2H3wzVZFZqsB) + 2. [https://github.com/llvm/llvm-project/pull/184343](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/184343&sa=D&source=editors&ust=1779820786801680&usg=AOvVaw3Dk3Ntr6ayWmQpVE5ETm52) + 3. [https://github.com/llvm/llvm-project/pull/191100](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/191100&sa=D&source=editors&ust=1779820786802104&usg=AOvVaw3oHWu_1m8z1wab1Fg8lqor) + + + 13. Bump minimum supported version of CUDA + + + 1. CUDA version for launch API (11.8) + 2. Since Volta: independent thread scheduling API + + + 1. Need to use cooperative dispatch + + + 3. Ivan: A patch was merged that inadvertently uses a function from 12.4. This will be addressed separately. + + + 14. Dumping intermediate binaries for SPIRV + + + 1. An option for the runtime to do that, Joseph had concerns + 2. SPIRV requires more complex compilation jobs in runtime, dumping the intermediate files seems useful + 3. Joseph: ideally we'd have generic tools for this, but this may be complicated + 4. Alex: have a tool that uses runtime + 5. They went with an alternative approach + + + 1. Did it through offloading binary and improving the tooling. + + + 6. Slowly progressing + + + 15. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Worked on. Updates will be provided as needed. + 2. With olCreateProgram we're assuming ELF, but for L0 we need to support SPIRV and other types. Alex may have other ideas about how to address it. + 3. The initial image doesn't need to be ELF anymore. + + + 16. Windows support for SYCL + + + 1. PR: [https://github.com/llvm/llvm-project/pull/187006](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786804975&usg=AOvVaw3vVx9uM82b5B7rW7xpKivQ) + + + 1. [Compiling liboffload on Windows](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786805193&usg=AOvVaw3-33HN-EyvVg5vHs2Vt6qm) + 2. [L0 implementation still needs a few tweaks](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786805368&usg=AOvVaw3Sxx3SZqG8bPLtMALm6wok) + 3. [It now works with Windows. PR to be updated this week.](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786805553&usg=AOvVaw3EVuj0YsnvV_ROi6qc1Be5) + + + 2. Joseph: the bulk of this is generic C code, so it shouldn't be hard to get it working + + + 17. OpenACC support + + + 1. NVIDIA is in the process of upstreaming OpenACC support in flang. Will also upstream runtime implementation. + 2. Has prototype that uses liboffload/libomptarget + 3. RFC will published soon (within a couple of weeks) + 4. Joseph: sounds reasonable + + + 1. Noted that libomptarget should depend on liboffload, not the other way around. + + + 5. Public buildbot would be good to have + + + 18. Emissary API demo (done on April 1) + + + 1. https://github.com/llvm/llvm-project/pull/187602 + 2. Will show what an API developer needs to do, in contrast to what's there today. + 3. Joseph: this adds a lot of complexity that may not be necessary, specifically changes in clang codegen + + + +Greg: this is much more convenient for a developer, and it's significantly faster + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-04-29.md b/offload-wg/meeting-minutes/offload-minutes-2026-04-29.md new file mode 100644 index 0000000..1d2646a --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-04-29.md @@ -0,0 +1,77 @@ +# Wednesday, April 29, 9:00 - 10:00 am CDT + +# Agenda + + 6. PR Review list + + + 1. [https://github.com/llvm/llvm-project/pull/184343](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/184343&sa=D&source=editors&ust=1779820786794789&usg=AOvVaw1T9N3jKEZ_8Zx7tj_o0kVZ) + + + 1. Adds option for cooperative kernel launch + 2. Follow up proposal to OL_KERNEL_LAUNCH_PROP_TYPE_SIZE: [https://github.com/llvm/llvm-project/pull/194333](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/194333&sa=D&source=editors&ust=1779820786795451&usg=AOvVaw142LEZJv9K70LESOCfUwaJ) + 3. Lukasz removed sizes from the first PR. + + + 7. Bump minimum supported version of CUDA + + + 1. CUDA version for launch API (11.8) + 2. PR merged: [https://github.com/llvm/llvm-project/pull/191100](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/191100&sa=D&source=editors&ust=1779820786796151&usg=AOvVaw0J9mp4A1I14M6h96DMRr5I) + 3. [Done](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/191100&sa=D&source=editors&ust=1779820786796276&usg=AOvVaw23fZEFbmkuK4iuxvKbAZ1q) + + + 8. Dumping intermediate binaries for SPIRV + + + 1. An option for the runtime to do that, Joseph had concerns + 2. SPIRV requires more complex compilation jobs in runtime, dumping the intermediate files seems useful + 3. Joseph: ideally we'd have generic tools for this, but this may be complicated + 4. Alex: have a tool that uses runtime + 5. They went with an alternative approach + + + 1. Did it through offloading binary and improving the tooling. + + + 6. Slowly progressing + + + 9. ELF Program Image in Plugin Interface. Biggest problem with running SYCL with L0 plugin right now. Should we add an argument to olCreateProgram to choose program image type? + + + 1. Worked on. Updates will be provided as needed. + 2. With olCreateProgram we're assuming ELF, but for L0 we need to support SPIRV and other types. Alex may have other ideas about how to address it. + 3. The initial image doesn't need to be ELF anymore. + 4. Complete + + + 10. Windows support for SYCL + + + 1. PR: [https://github.com/llvm/llvm-project/pull/187006](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786798489&usg=AOvVaw1q11D-cfu6Gg-8_LghfT31) + + + 1. [Compiling liboffload on Windows](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786798670&usg=AOvVaw1or0mNzf9GTLFFX62pI0ao) + 2. [L0 implementation still needs a few tweaks](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786798841&usg=AOvVaw2BlTaLa-qK19k0A11I5FaD) + 3. [It now works with Windows. PR to be updated this week.](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786799065&usg=AOvVaw3Grt3uyxaVv7ogPRIb3S31) + + + 2. Joseph: the bulk of this is generic C code, so it shouldn't be hard to get it working + + + 11. OpenACC support + + + 1. NVIDIA is in the process of upstreaming OpenACC support in flang. Will also upstream runtime implementation. + 2. Has prototype that uses liboffload/libomptarget + 3. RFC will published soon (within a couple of weeks) + 4. Joseph: sounds reasonable + + + 1. Noted that libomptarget should depend on liboffload, not the other way around. + + + 5. Public buildbot would be good to have + +* * * diff --git a/offload-wg/meeting-minutes/offload-minutes-2026-05-13.md b/offload-wg/meeting-minutes/offload-minutes-2026-05-13.md new file mode 100644 index 0000000..51d3306 --- /dev/null +++ b/offload-wg/meeting-minutes/offload-minutes-2026-05-13.md @@ -0,0 +1,56 @@ +# Wednesday, May 13, 9:00 - 10:00 am CDT + +# Agenda + + 1. Meta: meeting minutes will be stored in the llvm-wgs repo. + + + 1. [https://github.com/llvm/llvm-wgs](https://www.google.com/url?q=https://github.com/llvm/llvm-wgs&sa=D&source=editors&ust=1779820786790091&usg=AOvVaw0Fs5VmwXwGEeVEt-S75EeU) + + + 2. PR Review list + + + 1. [https://github.com/llvm/llvm-project/pull/184343](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/184343&sa=D&source=editors&ust=1779820786790460&usg=AOvVaw3ls2z-niNSUtXaB5azNk1J) + + + 1. Adds option for cooperative kernel launch + 2. Lukasz removed sizes from the first PR. + 3. Merged + + + 2. [https://github.com/llvm/llvm-project/pull/196275](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/196275&sa=D&source=editors&ust=1779820786790918&usg=AOvVaw3AkhiDaf6WemxmkaaZW8Is) + + + 3. Follow up proposal to OL_KERNEL_LAUNCH_PROP_TYPE_SIZE: [https://github.com/llvm/llvm-project/pull/194333](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/194333&sa=D&source=editors&ust=1779820786791312&usg=AOvVaw3UryWzIfom14vAGhjsVl-b) + 4. Windows support for SYCL + + + 1. PR: [https://github.com/llvm/llvm-project/pull/187006](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786791699&usg=AOvVaw1ffVLPFOrk80QEU98NpoYf) + + + 1. [Compiling liboffload on Windows](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786791889&usg=AOvVaw05IkLK0gnKei3fOVPrgNo2) + 2. [L0 implementation still needs a few tweaks](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786792077&usg=AOvVaw3a2xSLqS1WAEnxsYwYbgOl) + 3. [It now works with Windows. PR to be updated this week.](https://www.google.com/url?q=https://github.com/llvm/llvm-project/pull/187006&sa=D&source=editors&ust=1779820786792269&usg=AOvVaw2Ky0eZH57sk3V2UglBt9xN) + + + 2. Joseph: the bulk of this is generic C code, so it shouldn't be hard to get it working + + + 5. OpenACC support + + + 1. NVIDIA is in the process of upstreaming OpenACC support in flang. Will also upstream runtime implementation. + 2. Has prototype that uses liboffload/libomptarget + 3. RFC will published soon (within a couple of weeks) + 4. Joseph: sounds reasonable + + + 1. Noted that libomptarget should depend on liboffload, not the other way around. + 2. Public buildbot would be good to have + + + 5. Still working on it. Making sure that the code that was going to be published with the RFC is in a good shape. + 6. RFC: [https://discourse.llvm.org/t/openacc-runtime-in-llvm-offload-libacctarget/90793](https://www.google.com/url?q=https://discourse.llvm.org/t/openacc-runtime-in-llvm-offload-libacctarget/90793&sa=D&source=editors&ust=1779820786793964&usg=AOvVaw0sSkDNXFAo4wmEeG8xzq83) + +* * *