Page MenuHomePhabricator

RaviNarayanaswamy (Ravi Narayanaswamy)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 11 2015, 7:57 AM (257 w, 5 d)

Recent Activity

Fri, Sep 25

RaviNarayanaswamy added a comment to D88149: [OpenMP][libomptarget] make omp_get_initial_device 5.1 compliant.

LGTM

Fri, Sep 25, 2:41 PM · Unknown Object (Project)

Wed, Sep 23

RaviNarayanaswamy added a comment to D88149: [OpenMP][libomptarget] make omp_get_initial_device 5.1 compliant.

Can you also remove the definition in the header file include/omptarget.h

Wed, Sep 23, 4:00 PM · Unknown Object (Project)

Sep 9 2020

RaviNarayanaswamy added inline comments to D87413: [OpenMP] Load plugins from same directory as the libomptarget.so.
Sep 9 2020, 4:26 PM · Unknown Object (Project)

Jul 24 2020

RaviNarayanaswamy added a comment to D84422: [OpenMP] Fix `present` for exit from `omp target data`.

Has anyone clarified the motivation for this behavior?

I meant, is there any insight into why the spec specifies this behavior?

Instead of introducing new API functions and making all these changes in all these files, wouldn't it be easier if we just unset the PRESENT flag from arg_types in clang when we generate the call to __tgt_target_data_end_* if we are exiting from a scoped environment?

Ah, that does sound simpler. Thanks. I'll look into it.

Suppressing the presence check on exit from omp target would require a runtime change in addition to the Clang change you suggest for omp target data. However, I've so far failed to formulate a reasonable test case. Specifically, I don't yet see a way to guarantee that the data will definitely be present at the start of omp target but might not be present by the end. Is it possible? If not, then maybe we should leave the check in place for omp target.

Jul 24 2020, 3:12 PM · Restricted Project, Unknown Object (Project), Restricted Project

Jul 23 2020

RaviNarayanaswamy added a comment to D84422: [OpenMP] Fix `present` for exit from `omp target data`.

So is the test case that motivated this patch illegal OpenMP code?

#pragma omp target enter data map(alloc:i)
#pragma omp target data map(present, alloc: i)
{
  #pragma omp target exit data map(delete:i) // you cannot delete that object in the scope, illegal code?
} // fails presence check here
Jul 23 2020, 2:07 PM · Restricted Project, Unknown Object (Project), Restricted Project
RaviNarayanaswamy added a comment to D84422: [OpenMP] Fix `present` for exit from `omp target data`.

What confuses me about this interpretation of the standard is the inconsistency at data exit. So if we have an explicit omp target exit data map(present...) then we should respect the "present" semantics, whereas when we have a scoped data exit:

#pragma omp target data map(present,...)
{
  ...
} // implicit "exit data" here

then "present" should be ignored.

I agree that the paragraph from the standard leaves little room for other interpretations, I'd just like to point out that it looks inconsistent - at least to me.

Jul 23 2020, 1:47 PM · Restricted Project, Unknown Object (Project), Restricted Project

Jun 19 2020

RaviNarayanaswamy added a comment to D79972: [OpenMP5.0] map item can be non-contiguous for target update.

How do you plan to support
#pragma omp target update to (arr[1:2][1:2][0:2], x, b[1:5][0:2])
Are you going to split this into 3 updates since your are using the arg fields.

Jun 19 2020, 4:19 PM · Restricted Project

Jan 29 2020

RaviNarayanaswamy added a comment to D73657: [OPENMP] Load plugins from same directory as the libomptarget.so and quick fail mechanism for offloading plugins.

I don't recall saying needs changes.

Jan 29 2020, 3:29 PM · Unknown Object (Project)

Aug 14 2019

RaviNarayanaswamy added inline comments to D64375: [OpenMP][Docs] Provide implementation status details.
Aug 14 2019, 2:40 PM · Restricted Project, Restricted Project

Jun 14 2019

RaviNarayanaswamy added a comment to D63010: [OpenMP] Add task alloc function.

LGTM

Jun 14 2019, 12:16 PM · Restricted Project, Restricted Project, Unknown Object (Project)
RaviNarayanaswamy added a reviewer for D63010: [OpenMP] Add task alloc function: RaviNarayanaswamy.
Jun 14 2019, 12:02 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Nov 29 2018

RaviNarayanaswamy added a comment to D54342: Add omp_get_device_num() and update several other device API functions.

Can you enable LIBOMPTARGET_DEBUG and see if this is printed from libomptarget to confirm libomptarget is loaded and its api is used
DP("Call to omp_get_num_devices returning %zd\n", Devices_size);

Nov 29 2018, 2:39 PM · Unknown Object (Project)

Aug 30 2018

RaviNarayanaswamy accepted D51378: [OPENMP] Add support for nested 'declare target' directives.

Ok.
Thanks.

Aug 30 2018, 12:54 PM
RaviNarayanaswamy added a comment to D51378: [OPENMP] Add support for nested 'declare target' directives.

I did not see the code where check is done if Nestingdepth is 0 at end of compilation.

Aug 30 2018, 9:44 AM

Aug 29 2018

RaviNarayanaswamy added a comment to D51378: [OPENMP] Add support for nested 'declare target' directives.

We should just go with generating an error if the DeclareTargetNestingLevel is not 0 at the end of compilation unit.
Hard to detect if user accidentally forgot to have end declare in header file and had it in the include file or it was intentional.

Aug 29 2018, 1:04 PM

Aug 28 2018

RaviNarayanaswamy added a comment to D51378: [OPENMP] Add support for nested 'declare target' directives.

Is there a way to tell if the header files have matching omp declare target/omp end declare target.
The reason is if one of the header files is missing a matching omp end declare target all files which include it will end up having everything marked with declare target

Aug 28 2018, 2:31 PM

Aug 24 2018

RaviNarayanaswamy added inline comments to D51226: [OpenMP][libomptarget] rework of fatal error reporting.
Aug 24 2018, 12:03 PM
RaviNarayanaswamy added inline comments to D51226: [OpenMP][libomptarget] rework of fatal error reporting.
Aug 24 2018, 11:21 AM

Aug 23 2018

RaviNarayanaswamy added a comment to D51107: [LIBOMPTARGET] Add support for mapping of lambda captures..

If the objects which are copied are not compatible between host and target due to use of pointers which have different size in a structure then it is users responsibility.
I am more interested in where you allocate memory on device you get back an opaque object of size 64. The opaque object may be 64bit device pointer or a high 32bit pointer to device memory and low 32bit offset from that memory or it can be a pointer to a structure which has other information. The idea having libomptarget is to provide a thin layer between compiler and device specific plugin and we need to support different types of plugin.

Aug 23 2018, 1:20 PM
RaviNarayanaswamy added a comment to D51107: [LIBOMPTARGET] Add support for mapping of lambda captures..

Provide additional APIs in plugins if necessary to accomplish the arithmetic operations.
By doing arithmetic for target address in libomptarget you are assuming the pointer size is 64.

Aug 23 2018, 12:58 PM
RaviNarayanaswamy added inline comments to D51107: [LIBOMPTARGET] Add support for mapping of lambda captures..
Aug 23 2018, 9:47 AM

Aug 10 2018

RaviNarayanaswamy added a comment to D50522: [OpenMP][libomptarget] Bringing up to spec with respect to OMP_TARGET_OFFLOAD env var.

Alex: If you feel strongly about your request, I will be happy to move the code into CheckDeviceAndCtors.
It is just a suggestion. Either way is fine.

Aug 10 2018, 3:46 PM

Aug 9 2018

RaviNarayanaswamy added inline comments to D50522: [OpenMP][libomptarget] Bringing up to spec with respect to OMP_TARGET_OFFLOAD env var.
Aug 9 2018, 1:23 PM

Aug 2 2018

RaviNarayanaswamy added a comment to D50158: [OpenMP] Add placeholder functions for the depend and nowait depend clauses for target data directives..

It may be named libOMPtarget and is in openmp projects but we want to use the offloading library with other runtime libraries.

Aug 2 2018, 9:59 AM
RaviNarayanaswamy added a comment to D50158: [OpenMP] Add placeholder functions for the depend and nowait depend clauses for target data directives..

We should not be having calls to _-kmpc_omp_taskwait in libomptarget.
The wait should be done in the user code and then libomptarget routine should be called.

Aug 2 2018, 9:33 AM

Mar 16 2018

RaviNarayanaswamy added a comment to D44577: Read OMP_TARGET_OFFLOAD and provide API to access ICV.

DEFAULT implies MANDATORY or DISABLED. Don't need to communicate to libomp

Mar 16 2018, 2:26 PM

Mar 15 2018

RaviNarayanaswamy added a comment to D44522: [Libomptarget] Full implementation of the target-offload-icv.

Openmp has defined OMP_TARGET_OFFLOAD to control offloading, We should be using this

Mar 15 2018, 9:54 AM · Unknown Object (Project)

Mar 7 2018

RaviNarayanaswamy added inline comments to D44186: [OpenMP][libomptarget] New map interface: remove translation code and ensure proper alignment of struct members.
Mar 7 2018, 1:24 PM · Unknown Object (Project)

Jan 6 2016

RaviNarayanaswamy added a comment to D14031: [OpenMP] Initial implementation of OpenMP offloading library - libomptarget..

OpenMP says : " If the corresponding list item is not present in the device data environment then no assignment occurs to or from the original list item."

Jan 6 2016, 8:16 AM