Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

ye-luo (Ye Luo)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 8 2018, 8:02 AM (268 w, 3 d)

Recent Activity

Mon, Sep 11

ye-luo committed rG6c8248e38bc7: [libomptarget] Rename AMDGPUSignalTy member Signal to HSASignal. (authored by ye-luo).
[libomptarget] Rename AMDGPUSignalTy member Signal to HSASignal.
Mon, Sep 11, 8:44 PM · Restricted Project, Restricted Project
ye-luo committed rG08352b99a43b: [libomptarget][NFC] update comments. (authored by ye-luo).
[libomptarget][NFC] update comments.
Mon, Sep 11, 8:31 PM · Restricted Project, Restricted Project

Aug 12 2023

ye-luo committed rG1c822e1e8278: [libomptarget] Avoid unintialized GenericPluginTy::NumDevices (authored by ye-luo).
[libomptarget] Avoid unintialized GenericPluginTy::NumDevices
Aug 12 2023, 10:04 PM · Restricted Project, Restricted Project

Jul 25 2023

ye-luo accepted D155621: [OpenMP][libomptarget] Improve plugin resource managers.
Jul 25 2023, 9:23 AM · Restricted Project, Restricted Project
ye-luo added a comment to D155621: [OpenMP][libomptarget] Improve plugin resource managers.

Glad to see more error traps.

Jul 25 2023, 8:49 AM · Restricted Project, Restricted Project

Jul 24 2023

ye-luo added inline comments to D153837: Synchronize after each GPU action in the nextgen plugin.
Jul 24 2023, 9:52 AM · Restricted Project, Restricted Project
ye-luo accepted D153837: Synchronize after each GPU action in the nextgen plugin.
Jul 24 2023, 9:51 AM · Restricted Project, Restricted Project

Jul 21 2023

ye-luo added inline comments to D137607: [OpenMP][AMDGPU] Add interop support for OpenMP AMD GPU plugin.
Jul 21 2023, 7:39 AM · Restricted Project, Restricted Project

Jul 11 2023

ye-luo added inline comments to D154523: [OpenMP][AMDGPU] Single eager resource init + HSA queue utilization tracking.
Jul 11 2023, 7:42 AM · Restricted Project, Restricted Project

Jun 27 2023

ye-luo added a comment to D153837: Synchronize after each GPU action in the nextgen plugin.

Please also include the environment variable in the patch summary.

Jun 27 2023, 12:26 PM · Restricted Project, Restricted Project

Jun 22 2023

ye-luo added a comment to D145329: AMDGPU: Always split blocks for si_end_cf.

ping @arsenm could you finalize this patch and close https://github.com/llvm/llvm-project/issues/61083?

Testing found a new crash in blender so I need to look at this more

Jun 22 2023, 11:24 AM · Restricted Project, Restricted Project

Jun 9 2023

ye-luo added a comment to D145329: AMDGPU: Always split blocks for si_end_cf.

ping @arsenm could you finalize this patch and close https://github.com/llvm/llvm-project/issues/61083?

Jun 9 2023, 6:02 PM · Restricted Project, Restricted Project

May 31 2023

ye-luo accepted D151324: [OpenMP] Remove 'keep_alive' functionality from the device RTL.

I don't remember what workload was choked on this. My quick testing shows everything being fine. So let us just land this.

May 31 2023, 3:07 PM · Restricted Project, Restricted Project

May 17 2023

ye-luo accepted D150807: [Clang] Remove direct linking of offloading runtimes from the arch tools.
May 17 2023, 12:38 PM · Restricted Project, Restricted Project

May 3 2023

ye-luo added inline comments to D149726: [OpenMP] Use CMAKE_CXX_STANDARD for setting the C++ version.
May 3 2023, 12:07 PM · Restricted Project, Restricted Project
ye-luo added a comment to D148808: [OpenMP][libomptarget][AMDGPU] Enable active HSA wait state.

Updating the patch description is also needed.

May 3 2023, 7:11 AM · Restricted Project, Restricted Project
ye-luo accepted D148808: [OpenMP][libomptarget][AMDGPU] Enable active HSA wait state.
May 3 2023, 7:11 AM · Restricted Project, Restricted Project

Apr 26 2023

ye-luo added a comment to D148808: [OpenMP][libomptarget][AMDGPU] Enable active HSA wait state.

From the meeting discussion.

  1. default to active waiting rather than 0.
  2. Consider a single LIBOMPTARGET_AMDGPU_STREAM_BUSYWAIT.
Apr 26 2023, 7:27 AM · Restricted Project, Restricted Project

Apr 25 2023

ye-luo added a comment to D148808: [OpenMP][libomptarget][AMDGPU] Enable active HSA wait state.

Why separate KERNEL_BUSYWAIT and DATA_BUSYWAIT? I don't feel the need of two separate controls.
What are the units? Documentation?

It is a matter of priorities. If you are doing async copies, you may not want them to every busy-wait because you have more important things to do on the CPU.

Apr 25 2023, 8:52 PM · Restricted Project, Restricted Project

Apr 20 2023

ye-luo added a comment to D148808: [OpenMP][libomptarget][AMDGPU] Enable active HSA wait state.

Why separate KERNEL_BUSYWAIT and DATA_BUSYWAIT? I don't feel the need of two separate controls.
What are the units? Documentation?

Apr 20 2023, 8:36 AM · Restricted Project, Restricted Project

Apr 12 2023

ye-luo added inline comments to D148027: [OpenMP][libomptarget] Remove error data member from AsyncInfoWrapperTy.
Apr 12 2023, 9:10 PM · Restricted Project, Restricted Project

Apr 6 2023

ye-luo added a comment to D147756: [Libomptarget] Load an image if it is compatible with at least one device.

Currently, we only load an image if its supported architecture matches all of the devices found.

Cannot understand

Apr 6 2023, 7:27 PM · Restricted Project, Restricted Project

Apr 5 2023

ye-luo added inline comments to D142850: [OpenMP][libomptarget] Do not rely on AsyncInfoWrapperTy's destructor to synchronize queue.
Apr 5 2023, 2:28 PM · Restricted Project, Restricted Project
ye-luo added inline comments to D142850: [OpenMP][libomptarget] Do not rely on AsyncInfoWrapperTy's destructor to synchronize queue.
Apr 5 2023, 7:37 AM · Restricted Project, Restricted Project

Mar 27 2023

ye-luo added a comment to D146849: [OpenMP][libomptarget] Active and blocking HSA wait states.

Unfortunately my original problem still persists with this patch. The active wait timed out and then still stuck in the blocking wait.
Tested 3, 30, 300, 3000, 30000, 300000, 3000000 on my W6800. I have to consider some software between hsa and the hardware is broken.

Mar 27 2023, 11:45 AM · Restricted Project, Restricted Project
ye-luo added a comment to D123446: [OpenMP] Remove shadow pointer map and introduce consistent locking.

Got compiler warning.

/scratch3/opt/llvm-clang/llvm-project/openmp/libomptarget/src/omptarget.cpp: In lambda function:
/scratch3/opt/llvm-clang/llvm-project/openmp/libomptarget/src/omptarget.cpp:1058:56: warning: cast from type 'void* const*' to type 'void*' casts away qualifiers [-Wcast-qual]
 1058 |                                     (void *)&ShadowPtr.TgtPtrVal,
      |
Mar 27 2023, 11:12 AM · Restricted Project, Restricted Project

Mar 24 2023

ye-luo added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

Got test failure

Failed Tests (1):
  libomptarget :: x86_64-pc-linux-gnu :: offloading/barrier_fence.c
Mar 24 2023, 7:11 PM · Restricted Project, Restricted Project
ye-luo added a reverting change for rG36d6217c4eb0: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs: rGead2d86ee9b1: Revert "[OpenMP] Ensure memory fences are created with barriers for AMDGPUs".
Mar 24 2023, 7:10 PM · Restricted Project, Restricted Project
ye-luo committed rGead2d86ee9b1: Revert "[OpenMP] Ensure memory fences are created with barriers for AMDGPUs" (authored by ye-luo).
Revert "[OpenMP] Ensure memory fences are created with barriers for AMDGPUs"
Mar 24 2023, 7:10 PM · Restricted Project, Restricted Project
ye-luo added a reverting change for D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs: rGead2d86ee9b1: Revert "[OpenMP] Ensure memory fences are created with barriers for AMDGPUs".
Mar 24 2023, 7:10 PM · Restricted Project, Restricted Project
ye-luo committed rG36d6217c4eb0: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs (authored by ye-luo).
[OpenMP] Ensure memory fences are created with barriers for AMDGPUs
Mar 24 2023, 6:40 PM · Restricted Project, Restricted Project
ye-luo closed D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.
Mar 24 2023, 6:40 PM · Restricted Project, Restricted Project
ye-luo added inline comments to D146849: [OpenMP][libomptarget] Active and blocking HSA wait states.
Mar 24 2023, 4:46 PM · Restricted Project, Restricted Project

Mar 23 2023

ye-luo accepted D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

Keep things moving.

Mar 23 2023, 8:47 PM · Restricted Project, Restricted Project
ye-luo committed rG3ab79124db5e: [OpenMP] Add notifyDataUnmapped back in disassociatePtr (authored by ye-luo).
[OpenMP] Add notifyDataUnmapped back in disassociatePtr
Mar 23 2023, 6:58 AM · Restricted Project, Restricted Project
ye-luo closed D146689: [OpenMP] Add notifyDataUnmapped back in disassociatePtr.
Mar 23 2023, 6:58 AM · Restricted Project, Restricted Project

Mar 22 2023

ye-luo retitled D146689: [OpenMP] Add notifyDataUnmapped back in disassociatePtr from [OpenMP] Add notifyDataUnmapped bacl in disassociatePtr to [OpenMP] Add notifyDataUnmapped back in disassociatePtr.
Mar 22 2023, 10:19 PM · Restricted Project, Restricted Project
ye-luo requested review of D146689: [OpenMP] Add notifyDataUnmapped back in disassociatePtr.
Mar 22 2023, 10:17 PM · Restricted Project, Restricted Project

Mar 21 2023

ye-luo added a comment to D145290: [OpenMP] Ensure memory fences are created with barriers for AMDGPUs.

@JonChesterfield is this patch good to go?

Mar 21 2023, 9:20 AM · Restricted Project, Restricted Project

Mar 17 2023

ye-luo accepted D142369: [Libomptarget] Emit a special warning when no images are found.

Still prefer a more clear message.

Mar 17 2023, 9:29 AM · Restricted Project, Restricted Project

Mar 13 2023

ye-luo accepted D145944: [Clang] Add --version and --help messages to amdgpu/nvptx-arch.
Mar 13 2023, 8:28 AM · Restricted Project, Restricted Project

Mar 8 2023

ye-luo accepted D145513: [Libomptarget] Update handling of architectures for DeviceRTL.
Mar 8 2023, 9:00 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D145513: [Libomptarget] Update handling of architectures for DeviceRTL.
Mar 8 2023, 8:53 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D145513: [Libomptarget] Update handling of architectures for DeviceRTL.
Mar 8 2023, 8:44 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D145513: [Libomptarget] Update handling of architectures for DeviceRTL.
Mar 8 2023, 8:22 AM · Restricted Project, Restricted Project

Feb 17 2023

ye-luo committed rGe2069be83ea8: [OpenMP] Make isDone lightweight without calling synchronize (authored by ye-luo).
[OpenMP] Make isDone lightweight without calling synchronize
Feb 17 2023, 6:46 PM · Restricted Project, Restricted Project
ye-luo closed D144315: [OpenMP] Make isDone lightweight without calling synchronize.
Feb 17 2023, 6:46 PM · Restricted Project, Restricted Project
ye-luo added reviewers for D144315: [OpenMP] Make isDone lightweight without calling synchronize: jhuber6, gValarini.
Feb 17 2023, 6:34 PM · Restricted Project, Restricted Project
ye-luo requested review of D144315: [OpenMP] Make isDone lightweight without calling synchronize.
Feb 17 2023, 6:31 PM · Restricted Project, Restricted Project

Feb 16 2023

ye-luo added inline comments to D144191: [Libomptarget] Check errors when synchronizing the async queue.
Feb 16 2023, 11:47 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D144191: [Libomptarget] Check errors when synchronizing the async queue.
Feb 16 2023, 8:12 AM · Restricted Project, Restricted Project

Feb 12 2023

ye-luo added a reviewer for D143871: [OpenMP] Recover non-blocking target nowait disabled by D141232: gValarini.
Feb 12 2023, 6:18 PM · Restricted Project, Restricted Project
ye-luo requested review of D143871: [OpenMP] Recover non-blocking target nowait disabled by D141232.
Feb 12 2023, 6:17 PM · Restricted Project, Restricted Project

Jan 29 2023

ye-luo accepted D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.
Jan 29 2023, 9:31 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.
Jan 29 2023, 8:34 AM · Restricted Project, Restricted Project

Jan 25 2023

ye-luo added inline comments to D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.
Jan 25 2023, 8:04 AM · Restricted Project, Restricted Project
ye-luo added a comment to D142512: [OpenMP][libomptarget] Fix mapping/prelock.cpp test.

My understanding from the weekly call is that "locked" is for a device agent not the device.
It can be used in hsa memory copy calls but is_device_ptr is for device(kernel) access and thus incorrect.

Jan 25 2023, 7:27 AM · Restricted Project, Restricted Project

Jan 24 2023

ye-luo added inline comments to D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.
Jan 24 2023, 8:48 PM · Restricted Project, Restricted Project
ye-luo added inline comments to D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.
Jan 24 2023, 7:58 PM · Restricted Project, Restricted Project
ye-luo added a comment to D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.

If it servers as notifying data mapping, __tgt_rtl_notify_data_map or something like that sounds more appropriate to me. __tgt_rtl_data_mapped sounds like checking whether it is mapped, and that's how it confused me initially.

Jan 24 2023, 7:06 PM · Restricted Project, Restricted Project
ye-luo added inline comments to D142514: [OpenMP][libomptarget] Notify the plugins regarding new mapping/unmappings.
Jan 24 2023, 5:33 PM · Restricted Project, Restricted Project

Jan 23 2023

ye-luo added a comment to D142369: [Libomptarget] Emit a special warning when no images are found.

It doesn't print well

$ OMP_TARGET_OFFLOAD=mandatory ./a.out 
Libomptarget error: Consult https://openmp.llvm.org/design/Runtimes.html for debugging options.
Libomptarget error: None of the images ( gfx90a 
Libomptarget error: Source location information not present. Compile with -g or -gline-tables-only.
Libomptarget fatal error 1: failure of target construct while offloading is mandatory
Jan 23 2023, 9:05 PM · Restricted Project, Restricted Project
ye-luo added a comment to D142399: [Libomptarget] Use the nextgen plugins by default..

@carlo.bertolli @kevinsala The only tests the nextgen plugins fail for me are the following. Any update on getting this resolved? I think we should aim to land this before the fork and then work on deleting the old plugins after.

Failed Tests (2):
  libomptarget :: amdgcn-amd-amdhsa :: mapping/prelock.cpp
  libomptarget :: amdgcn-amd-amdhsa-LTO :: mapping/prelock.cpp

The patch D141227 implements the lock/unlock API. Yesterday I updated the patch with new features. We can merge it if you all find it OK.

Regarding the tests, even with the previous patch applied, they fail in the code line below. Is that line actually valid? We are trying to map an address (locked) that cannot be accessed by the host. That pointer is the agent_ptr returned by hsa_amd_memory_lock. If the plugin tries to access that buffer it will segfault. That's what is probably happening in the nextgen plugin because it tries to call std::memcpy on that "host pointer" in __tgt_rtl_data_submit.

https://github.com/llvm/llvm-project/blob/main/openmp/libomptarget/test/mapping/prelock.cpp#L39

Jan 23 2023, 2:02 PM · Restricted Project, Restricted Project
ye-luo added a comment to D142369: [Libomptarget] Emit a special warning when no images are found.

When libomptarget failed to load the amd plugin due to missing hsa runtime so files.
I got

yeluo@epyc-server:~$ clang++ -fopenmp --offload-arch=gfx90a main.cpp
yeluo@epyc-server:~$ OMP_TARGET_OFFLOAD=mandatory ./a.out 
Libomptarget error: Consult https://openmp.llvm.org/design/Runtimes.html for debugging options.
Libomptarget error: None of the images found are compatible: gfx90a
Libomptarget error: Source location information not present. Compile with -g or -gline-tables-only.
Libomptarget fatal error 1: failure of target construct while offloading is mandatory

None of the images found are compatible: gfx90a this line is a bit hard to digest. Could you print a list of loaded plugins and a list of images.

The following is the list of images found. I could try to make that more explicit. And by default we should have every plugin loaded.

Jan 23 2023, 1:57 PM · Restricted Project, Restricted Project
ye-luo accepted D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.

Ref-counting lock/unlock makes a lot sense.

Jan 23 2023, 1:23 PM · Restricted Project, Restricted Project
ye-luo added a comment to D142369: [Libomptarget] Emit a special warning when no images are found.

When libomptarget failed to load the amd plugin due to missing hsa runtime so files.
I got

yeluo@epyc-server:~$ clang++ -fopenmp --offload-arch=gfx90a main.cpp
yeluo@epyc-server:~$ OMP_TARGET_OFFLOAD=mandatory ./a.out 
Libomptarget error: Consult https://openmp.llvm.org/design/Runtimes.html for debugging options.
Libomptarget error: None of the images found are compatible: gfx90a
Libomptarget error: Source location information not present. Compile with -g or -gline-tables-only.
Libomptarget fatal error 1: failure of target construct while offloading is mandatory
Jan 23 2023, 9:29 AM · Restricted Project, Restricted Project
ye-luo added a comment to D142369: [Libomptarget] Emit a special warning when no images are found.

How does the above message behaves when there is no GPU on the node.

Jan 23 2023, 8:02 AM · Restricted Project, Restricted Project

Jan 21 2023

ye-luo added a comment to D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.

This patch needs a rebase. Applying patch failed.

Jan 21 2023, 9:07 AM · Restricted Project, Restricted Project
ye-luo added a comment to D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.

I think it's good to go. If this is something you've tried in qmcpack so we have a real world example of it improving things then even better.

Jan 21 2023, 8:49 AM · Restricted Project, Restricted Project
ye-luo added a comment to D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.

Ping. What is left before merging?

Jan 21 2023, 8:26 AM · Restricted Project, Restricted Project

Jan 19 2023

ye-luo committed rG9fecd58e5e2e: [OpenMP] Build device runtimes for sm_89 and sm_90 (authored by ye-luo).
[OpenMP] Build device runtimes for sm_89 and sm_90
Jan 19 2023, 1:44 PM · Restricted Project, Restricted Project
ye-luo added a comment to D132676: [OpenMP][Fix] Track all threads that may delete an entry.

Quite close to the release. Let's merge this and deal with the remaining issue in a later patch.

Jan 19 2023, 6:26 AM · Restricted Project, Restricted Project

Jan 13 2023

ye-luo accepted D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).
Jan 13 2023, 9:28 AM · Restricted Project, Restricted Project

Jan 10 2023

ye-luo added a comment to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).

lock_memory and unlock_memory not symmetric.

I mean
lock_memory(ptr) # lock happens
lock_memory(ptr) # no-op
unlock_memory(ptr) # unlock happens
unlock_memory(ptr) # no-op

I just feel unsafe. Feel more safe if
lock_memory(ptr) # lock happens
lock_memory(ptr) # no-op
unlock_memory(ptr) # no-op
unlock_memory(ptr) # unlock happens
but this requires doing reference counting.

I've just tested this in a pure C++ (no openmp) program using ROCr directly.
Here's the result of the operations above (I am not sure we are doing no-op):
a is pinned after first lock
a is pinned after second lock
a is pinned after first unlock
a is not pinned after second unlock

Code (please fill the void as necessary, or I can provide actual file if you want to test locally):

double *a = (double *)aligned_alloc(4096, n*sizeof(double)); //new double[n];
double *b = (double *)aligned_alloc(4096, n*sizeof(double)); //new double[n];

double *pinned_a = nullptr;
err = hsa_amd_memory_lock((void *) a, n*sizeof(double), nullptr, 0, (void **) &pinned_a);
CHECK(err);

{
  bool already_pinned = false;
  hsa_amd_pointer_info_t info;
  info.size = sizeof(hsa_amd_pointer_info_t);
  err = hsa_amd_pointer_info(a, &info, nullptr, nullptr, nullptr);
  CHECK(err);
  already_pinned = (info.type == HSA_EXT_POINTER_TYPE_LOCKED);
  if (already_pinned) printf("a is pinned after first lock\n");
  else printf("a is not pinned after first lock\n");
}

double *repinned_a = nullptr;
err = hsa_amd_memory_lock((void *) a, n*sizeof(double), nullptr, 0, (void **) &repinned_a);
CHECK(err);

{
  bool already_pinned = false;
  hsa_amd_pointer_info_t info;
  info.size = sizeof(hsa_amd_pointer_info_t);
  err = hsa_amd_pointer_info(a, &info, nullptr, nullptr, nullptr);
  CHECK(err);
  already_pinned = (info.type == HSA_EXT_POINTER_TYPE_LOCKED);
if (already_pinned) printf("a is pinned after second lock\n");
else printf("a is pinned after second lock\n");
}


hsa_amd_memory_unlock(pinned_a);
{
  bool already_pinned = false;
  hsa_amd_pointer_info_t info;
  info.size = sizeof(hsa_amd_pointer_info_t);
  err = hsa_amd_pointer_info(a, &info, nullptr, nullptr, nullptr);
  already_pinned = (info.type == HSA_EXT_POINTER_TYPE_LOCKED);
  if (already_pinned) printf("a is pinned after first unlock\n");
  else printf("a is not pinned after first unlock\n");
}

{
  bool already_pinned = false;
  hsa_amd_pointer_info_t info;
  info.size = sizeof(hsa_amd_pointer_info_t);
  hsa_amd_memory_unlock(a);
  err = hsa_amd_pointer_info(a, &info, nullptr, nullptr, nullptr);
  already_pinned = (info.type == HSA_EXT_POINTER_TYPE_LOCKED);
  if (already_pinned) printf("a is pinned after second unlock\n");
  else printf("a is not pinned after second unlock\n");
}

This looks like what you want, right?

Jan 10 2023, 1:59 PM · Restricted Project, Restricted Project
ye-luo added a comment to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).

lock_memory and unlock_memory not symmetric.

I mean
lock_memory(ptr) # lock happens
lock_memory(ptr) # no-op
unlock_memory(ptr) # unlock happens
unlock_memory(ptr) # no-op

Jan 10 2023, 12:13 PM · Restricted Project, Restricted Project
ye-luo added inline comments to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).
Jan 10 2023, 12:04 PM · Restricted Project, Restricted Project
ye-luo resigned from D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).

I still don't feel safe about the amd plugin implementation

  1. how is_locked handle error.
  2. lock_memory doesn't return error code
  3. lock_memory and unlock_memory behavior is not symmetric.

But that is only inside the plugin.

Jan 10 2023, 11:54 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).
Jan 10 2023, 11:16 AM · Restricted Project, Restricted Project
ye-luo added inline comments to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).
Jan 10 2023, 11:12 AM · Restricted Project, Restricted Project

Jan 9 2023

ye-luo added a comment to D141350: Fix runtime problem for base class member data used in target region..

Does this patch work when there are more than one level of inheritance? For example class B: public A; class C: public B

Jan 9 2023, 9:24 PM · Restricted Project, Restricted Project, Restricted Project

Jan 8 2023

ye-luo added inline comments to D141227: [OpenMP][libomptarget] Implement memory lock/unlock API in NextGen plugins.
Jan 8 2023, 2:55 PM · Restricted Project, Restricted Project

Jan 6 2023

ye-luo added a comment to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).

ping. I'm looking forward to the landing of this patch.

Jan 6 2023, 10:40 AM · Restricted Project, Restricted Project

Jan 5 2023

ye-luo requested changes to D139208: [OpenMP][libomptarget][AMDGPU] lock/unlock (pin/unpin) mechanism in libomptarget amdgpu plugin (API and implementation).

All the lock functions should return pointers via an argument.
All the lock and unlock functions should return error codes.

Jan 5 2023, 9:40 PM · Restricted Project, Restricted Project

Dec 28 2022

ye-luo accepted D132676: [OpenMP][Fix] Track all threads that may delete an entry.
Dec 28 2022, 10:12 PM · Restricted Project, Restricted Project
ye-luo accepted D140732: [OpenMP][JIT] Fixed a couple of issues in the initial implementation of JIT.
Dec 28 2022, 11:31 AM · Restricted Project, Restricted Project
ye-luo added a comment to D139287: [OpenMP] Introduce basic JIT support to OpenMP target offloading.

Got tons of runtime failure

target doesn't support jit
UNREACHABLE executed at /gpfs/jlse-fs0/users/yeluo/opt/llvm-clang/llvm-project-nightly/openmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h:543!

on AMD GPU gfx906 when running miniqmc ctest
failure happens with
LIBOMPTARGET_NEXTGEN_PLUGINS=1

Dec 28 2022, 8:21 AM · Restricted Project, Restricted Project, Restricted Project

Dec 21 2022

ye-luo accepted D138411: Enable OMPD tests.
Dec 21 2022, 8:54 PM · Restricted Project, Restricted Project

Dec 19 2022

ye-luo committed rGee3d9ee49c2e: [OpenMP] Change the nextgen plugin kernel thread count scheme as old plugins' (authored by ye-luo).
[OpenMP] Change the nextgen plugin kernel thread count scheme as old plugins'
Dec 19 2022, 4:28 PM · Restricted Project, Restricted Project
ye-luo closed D140352: [OpenMP] Change the nextgen plugin kernel thread count scheme as old plugins'.
Dec 19 2022, 4:28 PM · Restricted Project, Restricted Project
ye-luo requested review of D140352: [OpenMP] Change the nextgen plugin kernel thread count scheme as old plugins'.
Dec 19 2022, 3:33 PM · Restricted Project, Restricted Project

Dec 15 2022

ye-luo accepted D138389: [OpenMP][libomptarget] Add AMDGPU NextGen plugin with asynchronous behavior.

My requests have been addressed.

Dec 15 2022, 3:12 PM · Restricted Project, Restricted Project

Dec 12 2022

ye-luo committed rGd3ebce93622e: [OpenMP] add offload tests with reduction on complex data types (authored by ye-luo).
[OpenMP] add offload tests with reduction on complex data types
Dec 12 2022, 9:49 AM · Restricted Project, Restricted Project
ye-luo closed D139856: [OpenMP] add offload tests with reduction on complex data types.
Dec 12 2022, 9:49 AM · Restricted Project, Restricted Project
ye-luo updated the diff for D139856: [OpenMP] add offload tests with reduction on complex data types.

clang-formatting

Dec 12 2022, 9:41 AM · Restricted Project, Restricted Project
ye-luo requested review of D139856: [OpenMP] add offload tests with reduction on complex data types.
Dec 12 2022, 9:34 AM · Restricted Project, Restricted Project

Nov 29 2022

ye-luo accepted D138411: Enable OMPD tests.

Seems fine in my builds of OpenMP as a project and a runtime.

Nov 29 2022, 10:19 AM · Restricted Project, Restricted Project

Nov 25 2022

ye-luo added inline comments to D138389: [OpenMP][libomptarget] Add AMDGPU NextGen plugin with asynchronous behavior.
Nov 25 2022, 10:08 AM · Restricted Project, Restricted Project

Nov 23 2022

ye-luo accepted D138600: [OpenMP] Add debug info about CC incompatibility.
Nov 23 2022, 12:48 PM · Restricted Project, Restricted Project
ye-luo added inline comments to D138389: [OpenMP][libomptarget] Add AMDGPU NextGen plugin with asynchronous behavior.
Nov 23 2022, 11:21 AM · Restricted Project, Restricted Project

Nov 14 2022

ye-luo accepted D136526: [AAPointerInfo] refactor how offsets and Access objects are tracked.

Pass tests on my side. Thanks

Nov 14 2022, 10:30 PM · Restricted Project, Restricted Project