)]}' { "commit": "c1808464b75435da9dcbb703e2fcf9d20cbb36ec", "tree": "a6c2a356f06e3fa9ec43a3212198a904246b1967", "parents": [ "dfbd323c3bf6db9c314b732852d3c96e6bdbe170" ], "author": { "name": "Johannes Doerfert", "email": "johannes@jdoerfert.de", "time": "Wed Feb 10 11:06:00 2021 -0600" }, "committer": { "name": "Copybara-Service", "email": "copybara-worker@google.com", "time": "Fri Feb 19 04:02:46 2021 -0800" }, "message": "[OpenMP] Unify omptarget API and usage wrt. `__tgt_async_info`\n\nThis patch unifies our libomptarget API in two ways:\n - always pass a `__tgt_async_info` object, the Queue member decides if\n it is in use or not.\n - (almost) always synchronize in the interface layer and not in the\n omptarget layer.\n\nA side effect is that we now put all constructor and static initializer\nkernels in a stream too, if the device utilizes `__tgt_async_info`.\n\nThe patch contains a TODO which can be addressed as we add support for\nasynchronous malloc and free in the plugin API. This is the only\n`synchronizeAsyncInfo` left in the omptarget layer.\n\nSite note: On a V100 system the GridMini performance for small sizes\nmore than doubled.\n\nReviewed By: tianshilei1992\n\nDifferential Revision: https://reviews.llvm.org/D96379\n\nGitOrigin-RevId: 758b8499310a5d44a41de67d656bd32dc3fd1023\n", "tree_diff": [ { "type": "modify", "old_id": "27fec34be63100ac558e7372946b6e046066e3dc", "old_mode": 33188, "old_path": "libomptarget/src/api.cpp", "new_id": "adacc5ae4c012516b038d2f05c7944380ea5be30", "new_mode": 33188, "new_path": "libomptarget/src/api.cpp" }, { "type": "modify", "old_id": "724b8871ebba8a1aa67251766919b4dcc41acd0f", "old_mode": 33188, "old_path": "libomptarget/src/device.cpp", "new_id": "50017ac1e906bb358461d60d7ede8e32bc1093b9", "new_mode": 33188, "new_path": "libomptarget/src/device.cpp" }, { "type": "modify", "old_id": "06e24e16606c420d4169e7e1a499b3a77990a939", "old_mode": 33188, "old_path": "libomptarget/src/device.h", "new_id": "84a0987e30fe5775d09855b3713846459b9353c6", "new_mode": 33188, "new_path": "libomptarget/src/device.h" }, { "type": "modify", "old_id": "0140c5592028476cd212003e26b6750e795c2acf", "old_mode": 33188, "old_path": "libomptarget/src/interface.cpp", "new_id": "095c4d31d1a885d2479a22bfd287902110989d80", "new_mode": 33188, "new_path": "libomptarget/src/interface.cpp" }, { "type": "modify", "old_id": "dc493459fb4761a5b15eb142bd5cfd7638eac084", "old_mode": 33188, "old_path": "libomptarget/src/omptarget.cpp", "new_id": "51dcfecbad6003bec06844c948704f0ce9289e9c", "new_mode": 33188, "new_path": "libomptarget/src/omptarget.cpp" }, { "type": "modify", "old_id": "746eea272d52ffec12baf5adcd4f4410dacb56d8", "old_mode": 33188, "old_path": "libomptarget/src/private.h", "new_id": "fc6997a2d977ba88a948b99ca262742f6b37feb5", "new_mode": 33188, "new_path": "libomptarget/src/private.h" }, { "type": "modify", "old_id": "efbac2c9862919efc07cfacc6170bfeeb0c92427", "old_mode": 33188, "old_path": "libomptarget/src/rtl.cpp", "new_id": "60f3d498306955816aa4a9b9c1d4e562654d0f29", "new_mode": 33188, "new_path": "libomptarget/src/rtl.cpp" } ] }