Page MenuHomePhabricator

lildmh (Lingda Li)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 18 2017, 9:43 AM (125 w, 5 d)

Recent Activity

Mon, Jun 10

lildmh added inline comments to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Mon, Jun 10, 10:36 AM · Restricted Project, Unknown Object (Project)
lildmh added inline comments to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Mon, Jun 10, 10:14 AM · Restricted Project, Unknown Object (Project)
lildmh added inline comments to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Mon, Jun 10, 9:51 AM · Restricted Project, Unknown Object (Project)
lildmh added inline comments to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Mon, Jun 10, 9:18 AM · Restricted Project, Unknown Object (Project)
lildmh added a reviewer for D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions: Hahnfeld.
Mon, Jun 10, 8:19 AM · Unknown Object (Project)
lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

@Hahnfeld Do you really think it is necessary to pass these two functions as arguments, instead of exporting them. If you do, could you explain why?

I don't say it's necessary, but rather an option. Asked differently, why do we need to export them (and decide on externally visible names) if they're only used in a function where we can pass them as arguments?

At the moment, this patch doesn't really add any value (meaning changed behavior) to the runtime. It's needed for D59474 which is already large enough on its own, but it doesn't get to any state where it can be used.

Mon, Jun 10, 8:19 AM · Unknown Object (Project)

Thu, Jun 6

lildmh updated the diff for D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Use tgt instead of kmpc for mapper runtime function names

Thu, Jun 6, 1:46 PM · Restricted Project, Unknown Object (Project)
lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

@Hahnfeld Do you really think it is necessary to pass these two functions as arguments, instead of exporting them. If you do, could you explain why?

Thu, Jun 6, 1:13 PM · Unknown Object (Project)
lildmh updated the diff for D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

Use tgt instead of kmpc

Thu, Jun 6, 1:13 PM · Unknown Object (Project)

Wed, Jun 5

lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

The compiler doesn't generate code related to std::vector. It's only used in the runtime implementation, so it should be okay with Fortran. Again, the IBM and Intel compiler people seem to agree with it.

Maybe I don't understand where rt_mapper_handle comes from. According to the design slides and D59474, it passed as an argument to the generated omp_mapper[...] function, but how is the runtime system involved in its creation? Will there be additional interface functions / changes that will call this?

The idea is the runtime will create a MapperComponentsTy (std::vector) before calling the mapper function, in, for instance, __tgt_target_data_begin (These parts will be implemented in later patches). When the mapper function is called, the pointer of MapperComponentsTy is passed to it, as void *rt_mapper_handle. The mapper function will call __kmpc_push_mapper_component using this rt_mapper_handle, and then the runtime can put it into the MapperComponentsTy

That's hard to guess from the current patch and isn't in the design slides either (or I have overlooked it). Such information should be made available to reviewers such that they can assess the implementation!

Wed, Jun 5, 9:31 AM · Unknown Object (Project)

Tue, Jun 4

lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

It would be great to have such things in public...

Sure, there is no secret. Please see it here if you are interested: https://github.com/lingda-li/public-sharing/blob/master/mapper_runtime_design.pptx

From a quick look, I'd say this does not reflect the current design: The types are named differently, have a different layout (SoA vs AoS) and there's no implementation of __tgt_target_mapper in this patch as @grokos mentioned.

Hi Jonas, starting from slide 8 is the current design, __tgt_target_mapper etc. are deprecated. It may not accurately reflect the current code but the framework should be the same.

Moreover, I'd question the following things:

  1. Why are we back to __kmpc_? naming? Most other functions specific to libomptarget are called __tgt_?.

There are other functions in libomptarget starting with __kmpc_, for example, __kmpc_push_target_tripcount.
My understanding is anything that does not directly call the device starting with __kmpc_. The IBM and Intel compiler people seem to be okay with this naming.

Yes, this is the only function AFAICS and it has a comment "will be revised". All other functions related to mapping start with __tgt so unless there is good incentive, we should follow this naming convention.

Tue, Jun 4, 7:36 AM · Unknown Object (Project)
lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

It would be great to have such things in public...

Sure, there is no secret. Please see it here if you are interested: https://github.com/lingda-li/public-sharing/blob/master/mapper_runtime_design.pptx

From a quick look, I'd say this does not reflect the current design: The types are named differently, have a different layout (SoA vs AoS) and there's no implementation of __tgt_target_mapper in this patch as @grokos mentioned.

Tue, Jun 4, 7:08 AM · Unknown Object (Project)
lildmh updated the diff for D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Address Alexey's comment about mapping between function and user-defined mappers

Tue, Jun 4, 6:38 AM · Restricted Project, Unknown Object (Project)
lildmh updated the summary of D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Tue, Jun 4, 5:35 AM · Restricted Project, Unknown Object (Project)
lildmh updated the summary of D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.
Tue, Jun 4, 5:35 AM · Unknown Object (Project)
lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

I think this patch is wrong. Where are the previous additions of target_data and __tgt_target_data_mapper? Possibly you uploaded the diff between the previous revision and the current one, whereas you need to upload the diff between origin/master and your current HEAD!

Please see the attachment of Ravi sent for the biweekly meeting to see details about this new scheme. Sorry I forgot to mention

It would be great to have such things in public...

Tue, Jun 4, 5:33 AM · Unknown Object (Project)

Mon, Jun 3

lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

I think this patch is wrong. Where are the previous additions of target_data and __tgt_target_data_mapper? Possibly you uploaded the diff between the previous revision and the current one, whereas you need to upload the diff between origin/master and your current HEAD!

Mon, Jun 3, 2:12 PM · Unknown Object (Project)
lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

I think this patch is wrong. Where are the previous additions of target_data and __tgt_target_data_mapper? Possibly you uploaded the diff between the previous revision and the current one, whereas you need to upload the diff between origin/master and your current HEAD!

Mon, Jun 3, 2:07 PM · Unknown Object (Project)
lildmh updated the diff for D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Implement the new mapper codegen scheme

Mon, Jun 3, 1:55 PM · Restricted Project, Unknown Object (Project)
lildmh updated the diff for D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

Implement the new mapper scheme.

Mon, Jun 3, 12:43 PM · Unknown Object (Project)

May 3 2019

lildmh added a comment to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Hi Alexey,

May 3 2019, 12:16 PM · Restricted Project, Unknown Object (Project)
lildmh updated the diff for D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Fix code format

May 3 2019, 11:02 AM · Restricted Project, Unknown Object (Project)
lildmh added a comment to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Hi Alexey,

May 3 2019, 10:59 AM · Restricted Project, Unknown Object (Project)

Apr 26 2019

lildmh added inline comments to D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Apr 26 2019, 10:36 AM · Restricted Project, Unknown Object (Project)
lildmh updated the diff for D59474: [OpenMP 5.0] Codegen support for user-defined mappers.

Combine 2 pointers into one.

Apr 26 2019, 10:36 AM · Restricted Project, Unknown Object (Project)

Apr 24 2019

lildmh added a comment to D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.

Hi George,

Apr 24 2019, 12:29 PM · Unknown Object (Project)

Apr 22 2019

lildmh added a child revision for D59474: [OpenMP 5.0] Codegen support for user-defined mappers: D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.
Apr 22 2019, 10:58 AM · Restricted Project, Unknown Object (Project)
lildmh added a parent revision for D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions: D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Apr 22 2019, 10:58 AM · Unknown Object (Project)
lildmh created D60972: [OpenMP 5.0] libomptarget interface for declare mapper functions.
Apr 22 2019, 10:57 AM · Unknown Object (Project)

Mar 17 2019

lildmh created D59474: [OpenMP 5.0] Codegen support for user-defined mappers.
Mar 17 2019, 11:16 AM · Restricted Project, Unknown Object (Project)

Feb 25 2019

lildmh created D58640: [OpenMP 5.0] Fix argument dependent lookup of user-defined mapper.
Feb 25 2019, 11:29 AM · Unknown Object (Project)
lildmh created D58638: [OpenMP 5.0] Parsing/sema support for from clause with mapper modifier.
Feb 25 2019, 10:40 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 22 2019

lildmh updated the diff for D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.

Rebase

Feb 22 2019, 12:43 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added a comment to D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.

Thanks a lot!

Feb 22 2019, 12:26 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added inline comments to D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.
Feb 22 2019, 12:15 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh updated the diff for D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.
Feb 22 2019, 12:15 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh updated the diff for D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.

get rid of the from clause part.

Feb 22 2019, 11:54 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 21 2019

lildmh updated the diff for D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.
Feb 21 2019, 2:52 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added inline comments to D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.
Feb 21 2019, 2:23 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh created D58523: [OpenMP 5.0] Parsing/sema support for to clause with mapper modifier.
Feb 21 2019, 11:32 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 19 2019

lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Rebase

Feb 19 2019, 6:12 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 15 2019

lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Thanks for the catch! I also change the name from OMPMappableExprListLocTy to OMPVarListLocTy to be more accurate. We can potentially factorize other varlist clause code with this. But it will be too large for this patch.

Feb 15 2019, 1:41 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Change parameters to const &

Feb 15 2019, 12:47 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added inline comments to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
Feb 15 2019, 11:38 AM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Further reduce the number of parameters for map, to, from, use_device, and is_device clauses. Also rebase.

Feb 15 2019, 11:37 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 14 2019

lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Introduce a structure OMPMappableExprListSizeTy within OMPMappableExprListClause to aggregate all 4 sizes needed by such clause, and thus reduce the number of parameters when creating a map clause. This can also be used by other similar clauses. I'll have another patch to let other clauses to use this structure as well.

Feb 14 2019, 1:49 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added a comment to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Sure I'll add a codegen test with mapper. Thanks!

Feb 14 2019, 9:58 AM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added a comment to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Hi Alexey,

Feb 14 2019, 9:36 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 13 2019

lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
  1. Move mapper related info to OMPMappableExprListClause, so that to and from clauses can utilize the same infrastructure as well (real support for them will be in another patch);
  2. Combine the function parameters for declare mapper and declare reduction, to reduce the function parameter number of ActOnOMPVarListClause;
  3. Implement ADL for mapper, and remove mapper lookups in SemaLookup.cpp;
  4. Didn't combine modifier related info into a structure, because for to and from clauses will only have possible mapper modifier, not close and always;
  5. Address typos that Kelvin found;
  6. Rebase.
Feb 13 2019, 2:21 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added a reviewer for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier: kkwli0.
Feb 13 2019, 6:22 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 12 2019

lildmh added inline comments to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
Feb 12 2019, 10:46 AM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added inline comments to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
Feb 12 2019, 10:19 AM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added inline comments to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
Feb 12 2019, 9:57 AM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Fix part of Alexey's comments

Feb 12 2019, 9:24 AM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh added a comment to D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.

Hi Alexey,

Feb 12 2019, 9:23 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 11 2019

lildmh updated the diff for D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
Feb 11 2019, 2:28 PM · Restricted Project, Restricted Project, Unknown Object (Project)
lildmh created D58074: [OpenMP 5.0] Parsing/sema support for map clause with mapper modifier.
Feb 11 2019, 2:12 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 1 2019

lildmh added a comment to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

@lildmh Thanks for the patch. I can commit this patch for you. The tests run fine on my machine. However, for committing on other's behalf, we were asked to make the contributor aware that the contribution will be published under a new license. Are you OK with the new license?

Feb 1 2019, 11:45 AM · Restricted Project, Unknown Object (Project)
lildmh added a comment to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

Thanks a lot Alexey!

Feb 1 2019, 7:20 AM · Restricted Project, Unknown Object (Project)
lildmh updated the diff for D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

Hi Alexey,

Feb 1 2019, 6:55 AM · Restricted Project, Unknown Object (Project)

Jan 25 2019

lildmh updated the diff for D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

Address review comments and rebase

Jan 25 2019, 2:00 PM · Restricted Project, Unknown Object (Project)
lildmh added a comment to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

Hi Alexey,

Jan 25 2019, 2:00 PM · Restricted Project, Unknown Object (Project)
lildmh updated the diff for D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

Change the type of mapper clause storage from OMPClause ** to MutableArrayRef<OMPClause *>, and rebase

Jan 25 2019, 10:40 AM · Restricted Project, Unknown Object (Project)
lildmh added inline comments to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 25 2019, 6:42 AM · Restricted Project, Unknown Object (Project)

Jan 24 2019

lildmh added inline comments to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 24 2019, 1:58 PM · Restricted Project, Unknown Object (Project)
lildmh added inline comments to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 24 2019, 10:44 AM · Restricted Project, Unknown Object (Project)

Jan 11 2019

lildmh added inline comments to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 11 2019, 11:38 AM · Restricted Project, Unknown Object (Project)
lildmh added inline comments to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 11 2019, 10:09 AM · Restricted Project, Unknown Object (Project)
lildmh updated the diff for D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 11 2019, 8:43 AM · Restricted Project, Unknown Object (Project)
lildmh added a comment to D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.

Hi Alexey,

Jan 11 2019, 8:40 AM · Restricted Project, Unknown Object (Project)

Jan 4 2019

lildmh updated the summary of D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 4 2019, 11:26 AM · Restricted Project, Unknown Object (Project)
lildmh created D56326: [OpenMP 5.0] Parsing/sema support for "omp declare mapper" directive.
Jan 4 2019, 11:11 AM · Restricted Project, Unknown Object (Project)

Jan 18 2017

lildmh updated the diff for D28870: [OpenMP] Add an OpenMP pass for redundant runtime library call removal.

Add a full context diff

Jan 18 2017, 2:03 PM
lildmh created D28870: [OpenMP] Add an OpenMP pass for redundant runtime library call removal.
Jan 18 2017, 1:26 PM