Page MenuHomePhabricator

saiislam (Saiyedul Islam)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 15 2019, 2:59 AM (62 w, 2 d)

Recent Activity

Wed, Jan 20

saiislam added a comment to D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.

can you document this in ClangOffloadBundler.rst ? I think we need a clear description about how clang-offload-bundler knows which file in the .a file belongs to which target.

How does the .a relate to bundled code objects? Does the .a have a number of bundled code objects? If so wouldn't the identity of code objects be defined by the existing bundled code object ABI already documented? If the .a is a set of non-bundled code objects then defining how they are identified is not part of the clang-offload-bundler documentation as there are no bundled code objects involved. It would seem that the documentation belongs with the OpenMP runtime/compiler that is choosing to use .a files in this manner.

Bundles (created using clang-offload-bundler) are passed to llvm-ar to create an archive of bundled objects (*.a file). An archive can have bundles for multiple device types. So, yes, the identity of code objects is defined by the existing bundled code object ABI.
This patch reads such an archive and produces a device-specific archive for each of the target devices given as input. Each device-specific archive contains all the code objects corresponding to that particular device and are written as per llvm archive format.

Here is a snippet of relevant lit run lines:

// RUN: %clang -O0 -target %itanium_abi_triple %s -c -o %t.o

// RUN: echo 'Content of device file 1' > %t.tgt1
// RUN: clang-offload-bundler -type=o -targets=host-%itanium_abi_triple,openmp-amdgcn-amd-amdhsa-gfx900 -inputs=%t.o,%t.tgt1 -outputs=%t.abundle1.o
 
// RUN: echo 'Content of device file 2' > %t.tgt2
// RUN: clang-offload-bundler -type=o -targets=host-%itanium_abi_triple,openmp-amdgcn-amd-amdhsa-gfx900 -inputs=%t.o,%t.tgt2 -outputs=%t.abundle2.o
 
// RUN: llvm-ar cr %t.lib.a %t.abundle1.o %t.abundle2.o

This patch ==>
// RUN: clang-offload-bundler -unbundle -type=a -targets=openmp-amdgcn-amd-amdhsa-gfx900 -inputs=%t.lib.a -outputs=%t.devicelib.a

%t.devicelib.a will contain all devices objects corresponding to gfx900

Though my interest originates from OpenMP side, Device-specific Archive Libraries created like this can be used by other offloading languages like HIP, CUDA, and OpenCL. Pelase refer D81109 for the an earlier patch in the series of patches which will enable this.

The naming of code objects in a bundled code object includes the processor name and the settings for target features (see https://clang.llvm.org/docs/ClangOffloadBundler.html#target-id and https://llvm.org/docs/AMDGPUUsage.html#target-id). The compatibility of code objects considers both target processor matching and target feature compatibility. Target features can have three settings: on, off and any. The compatibility is that each feature that is on/off must exactly match, but any will match either on or off.

So when unbundling an archive how is the desired code object being requested? How is it handling the target features? For example, if code objects that will be compatible with a feature being on is required, then matching code objects in the archive would be those that have that feature either on or any.

Wed, Jan 20, 7:38 AM · Restricted Project

Wed, Jan 13

saiislam added a comment to D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.

can you document this in ClangOffloadBundler.rst ? I think we need a clear description about how clang-offload-bundler knows which file in the .a file belongs to which target.

How does the .a relate to bundled code objects? Does the .a have a number of bundled code objects? If so wouldn't the identity of code objects be defined by the existing bundled code object ABI already documented? If the .a is a set of non-bundled code objects then defining how they are identified is not part of the clang-offload-bundler documentation as there are no bundled code objects involved. It would seem that the documentation belongs with the OpenMP runtime/compiler that is choosing to use .a files in this manner.

Wed, Jan 13, 1:16 AM · Restricted Project

Mon, Jan 11

saiislam added a comment to D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.

Ping.

Mon, Jan 11, 11:29 PM · Restricted Project

Tue, Jan 5

saiislam updated the summary of D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.
Tue, Jan 5, 8:49 AM · Restricted Project
saiislam added inline comments to D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.
Tue, Jan 5, 8:47 AM · Restricted Project
saiislam added a comment to D80816: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives..

Thank you, @sdmitriev. I have updated the patch to handle multiple targets/outputs in one run of the tool (https://reviews.llvm.org/D93525?id=314633). Please have a look.

Tue, Jan 5, 8:46 AM · Restricted Project, Restricted Project
saiislam updated the diff for D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.

Modified to handle multiple targets/outputs in one run of the tool for archive unbundling. Other minor changes as requested in the review.

Tue, Jan 5, 8:42 AM · Restricted Project

Dec 24 2020

saiislam added a comment to D92535: [llvm-link] fix linker behavior when linking archives with --only-needed option.
In D92535#2455987, @tra wrote:

The change look OK. But we should still wait for @jsjodin to confirm that the first-file-is-different for archive files is unintentional.

Dec 24 2020, 2:45 AM · Restricted Project

Dec 22 2020

saiislam added a comment to D92535: [llvm-link] fix linker behavior when linking archives with --only-needed option.

Well, it looks like nobody is going to respond.

Dec 22 2020, 5:41 PM · Restricted Project

Dec 18 2020

saiislam added a comment to D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.

Refer to D80816 for earlier review of this patch.

Dec 18 2020, 2:09 AM · Restricted Project
saiislam added a comment to D80816: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives..

As @jsjodin is not working on this anymore, I have taken it up in a new patch, D93525 (didn't like the commandeering option).
New clang-formatted patch has a couple of new test cases to elaborate its working further.

Dec 18 2020, 2:08 AM · Restricted Project, Restricted Project
saiislam updated the summary of D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.
Dec 18 2020, 1:54 AM · Restricted Project
saiislam requested review of D93525: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives.
Dec 18 2020, 1:51 AM · Restricted Project

Nov 26 2020

saiislam added inline comments to D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
Nov 26 2020, 4:27 AM · Restricted Project
saiislam requested review of D92167: [OpenMP][NFC] Encapsulate some CGOpenMPRuntime static methods in a utility class.
Nov 26 2020, 3:24 AM · Restricted Project

Nov 23 2020

saiislam updated the diff for D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
  1. Simplifies overall patch after D90248.
  2. Removes MaxParallelLevel and thus target specific PrePostActionTy.
  3. Removes ExternallyInitialized qualifier from shared variables for AMDGCN.
Nov 23 2020, 9:54 AM · Restricted Project

Oct 21 2020

saiislam committed rGcb319b1b5d93: [NFC][OpenMP] Update description of OMPGridValues enums (authored by saiislam).
[NFC][OpenMP] Update description of OMPGridValues enums
Oct 21 2020, 11:23 AM
saiislam closed D86232: [NFC][OpenMP] Update description of OMPGridValues enums.
Oct 21 2020, 11:23 AM · Restricted Project
saiislam added a comment to D80816: [OpenMP] Add unbundling of archives containing bundled object files into device specific archives..

Ping.

Oct 21 2020, 7:29 AM · Restricted Project, Restricted Project

Oct 15 2020

saiislam added a comment to D86232: [NFC][OpenMP] Update description of OMPGridValues enums.

Ping.
Merged patch D87841 uses the Gridvalue as described here.

Oct 15 2020, 12:25 PM · Restricted Project
saiislam added inline comments to D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
Oct 15 2020, 12:13 PM · Restricted Project
saiislam updated the diff for D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
  1. Removed unnecessary formatting of untouched code.
  2. Encapsulated addFieldToRecordDecl and createGlobalStruct methods in a class and made them static (triggered change at all calling sites).
  3. Marked most of the member methods of CGOpenMPRuntimeAMDGCN as private (forgot to do same change in nvptx)
  4. Fixed the memory leak
  5. Marked appropriate member variables as protected in CGOpenMPRuntimeGPU
Oct 15 2020, 7:29 AM · Restricted Project
saiislam added inline comments to D87841: [openmp][libomptarget] Include header from LLVM source tree.
Oct 15 2020, 3:36 AM · Restricted Project, Restricted Project

Sep 17 2020

saiislam added inline comments to D87841: [openmp][libomptarget] Include header from LLVM source tree.
Sep 17 2020, 11:28 AM · Restricted Project, Restricted Project
saiislam added a comment to D87841: [openmp][libomptarget] Include header from LLVM source tree.

AFAIK, all files which are required/should be available in libomptarget reside in llvm/Frontend/OpenMP/* , so may be an option can be provided for only-tarball users to get files only from this directory.
This kind of approach will also enforce people exporting stuff from llvm to libomptarget, to put everything in one place.

Sep 17 2020, 11:08 AM · Restricted Project, Restricted Project

Sep 15 2020

saiislam added a comment to D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.

Ping.

Sep 15 2020, 7:03 AM · Restricted Project

Sep 10 2020

saiislam updated the diff for D87413: [OpenMP] Load plugins from same directory as the libomptarget.so.

Moved the code to load plugins to a helper function and before loop on plugins.

Sep 10 2020, 11:07 AM · Restricted Project

Sep 9 2020

saiislam added a comment to D87413: [OpenMP] Load plugins from same directory as the libomptarget.so.

First of two patches after splitting D73657

Sep 9 2020, 1:16 PM · Restricted Project
saiislam requested review of D87413: [OpenMP] Load plugins from same directory as the libomptarget.so.
Sep 9 2020, 1:15 PM · Restricted Project

Sep 7 2020

saiislam added a comment to D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.

Ping.

Sep 7 2020, 5:55 AM · Restricted Project

Aug 27 2020

saiislam added a comment to D85214: [OpenMP] Ensure testing for versions 4.5 and default - Part 3.

@saiislam This change seems to have broken a buildbot, please take a look at your earliest convenience.

Before: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/35354

After: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/35355

Aug 27 2020, 2:25 PM · Restricted Project
saiislam committed rGa1ac047b3453: [OpenMP] Fix a failing test after D85214 (authored by saiislam).
[OpenMP] Fix a failing test after D85214
Aug 27 2020, 1:58 PM
saiislam committed rGff260ad0e014: [OpenMP] Ensure testing for versions 4.5 and default - Part 3 (authored by saiislam).
[OpenMP] Ensure testing for versions 4.5 and default - Part 3
Aug 27 2020, 12:37 PM
saiislam closed D85214: [OpenMP] Ensure testing for versions 4.5 and default - Part 3.
Aug 27 2020, 12:37 PM · Restricted Project
saiislam committed rGa1bdf8f545cf: [OpenMP] Ensure testing for versions 4.5 and default - Part 2 (authored by saiislam).
[OpenMP] Ensure testing for versions 4.5 and default - Part 2
Aug 27 2020, 11:51 AM
saiislam closed D85150: [OpenMP] Ensure testing for versions 4.5 and default - Part 2.
Aug 27 2020, 11:51 AM · Restricted Project

Aug 26 2020

saiislam added inline comments to D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
Aug 26 2020, 12:27 PM · Restricted Project
saiislam updated the diff for D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
  1. Reformarting
  2. Comments
  3. Reduced scope of specialized PrePostActionTy
Aug 26 2020, 12:16 PM · Restricted Project

Aug 24 2020

saiislam updated the diff for D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
  1. Moved amdgcn specific functions to CGOpenMPAMDGCN.cpp
  2. Removed tautology condition
  3. Corrected case of local variables
  4. Restored original formatting
  5. Changed back declaration of emit kernel methods as private
  6. Added support of amdgcn specific PrePostActionTy implementation and its corresponding test cases
  7. Changed static line numbers in new test cases with regex
  8. Other small code corrections
Aug 24 2020, 3:31 PM · Restricted Project

Aug 19 2020

saiislam added a comment to D86232: [NFC][OpenMP] Update description of OMPGridValues enums.

This can't be used in the libomptarget plugins or in the deviceRTL, as both are required to compile without the llvm sources available.

Current preferences appears to be to copy and paste the numbers between the two files. At the least, we should have a test outside of llvm & openmp trees that verifies the numbers are the same in each.

@jdoerfert can you remember who was strongly against #include between openmp and llvm? I'm failing to find the discussion, and the mail "Sharing enums between llvm and openmp" didn't reach a conclusion

Aug 19 2020, 11:31 AM · Restricted Project
saiislam requested review of D86232: [NFC][OpenMP] Update description of OMPGridValues enums.
Aug 19 2020, 10:39 AM · Restricted Project

Aug 18 2020

saiislam added a comment to D85150: [OpenMP] Ensure testing for versions 4.5 and default - Part 2.

Please let me know if there are any changes/suggestions.

Aug 18 2020, 11:07 AM · Restricted Project

Aug 17 2020

saiislam requested review of D86097: [OpenMP][AMDGCN] Generate global variables and attributes for AMDGCN.
Aug 17 2020, 11:55 AM · Restricted Project

Aug 13 2020

saiislam committed rGeaa341fbea96: [OpenMP] Ensure testing for versions 4.5 and default - Part 1 (authored by saiislam).
[OpenMP] Ensure testing for versions 4.5 and default - Part 1
Aug 13 2020, 12:37 AM
saiislam closed D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1.
Aug 13 2020, 12:37 AM · Restricted Project
saiislam added a comment to D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1.

Time for check-clang has increased from ~51 sec to ~107 sec after this patch.
Putting it here before committing/closing the review.

Aug 13 2020, 12:36 AM · Restricted Project

Aug 11 2020

saiislam added a comment to D85214: [OpenMP] Ensure testing for versions 4.5 and default - Part 3.

Ping.

Aug 11 2020, 11:36 PM · Restricted Project
saiislam added a comment to D85150: [OpenMP] Ensure testing for versions 4.5 and default - Part 2.

Ping.

Aug 11 2020, 11:36 PM · Restricted Project
saiislam added a comment to D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1.

Ping for this (part-1), D85150 (part-2), and D85214 (part-3).

Aug 11 2020, 6:33 AM · Restricted Project

Aug 4 2020

saiislam added a comment to D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1.

Next two (independent) parts are: D85150 and D85214. More to come.

Aug 4 2020, 8:27 AM · Restricted Project
saiislam abandoned D82575: [OpenMP] OpenMP Clang tests without 50 version string after upgrading to 5.0.

Abandoning in favor of D85214

Aug 4 2020, 8:25 AM · Restricted Project
saiislam added a comment to D85214: [OpenMP] Ensure testing for versions 4.5 and default - Part 3.

This patch updates 101 out 320 test files. Remaining will be posted as a separate patch to ease review.

Aug 4 2020, 8:25 AM · Restricted Project
saiislam requested review of D85214: [OpenMP] Ensure testing for versions 4.5 and default - Part 3.
Aug 4 2020, 8:23 AM · Restricted Project

Aug 3 2020

saiislam abandoned D83863: [OpenMP] Change version 4.5 hardcoded clang tests to default OpenMP version.

Abandoning in favor of D84844 and D85150 i.e. adding default version testing along with version 4.5 testing.

Aug 3 2020, 12:48 PM · Restricted Project
saiislam requested review of D85150: [OpenMP] Ensure testing for versions 4.5 and default - Part 2.
Aug 3 2020, 12:44 PM · Restricted Project
saiislam retitled D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1 from [OpenMP] Ensure testing for versions 4.5, 5.0, and default - Part 1 to [OpenMP] Ensure testing for versions 4.5 and default - Part 1.
Aug 3 2020, 10:46 AM · Restricted Project
saiislam updated the diff for D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1.

Removed redundant testing for version 5.0 with its version string.

Aug 3 2020, 10:45 AM · Restricted Project

Aug 2 2020

saiislam committed rG160ff83765ac: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3 (authored by saiislam).
[OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3
Aug 2 2020, 10:55 PM
saiislam closed D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.
Aug 2 2020, 10:55 PM · Restricted Project

Jul 30 2020

saiislam updated the diff for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.

Changes as requested.

Jul 30 2020, 11:51 AM · Restricted Project
saiislam updated the diff for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.

Improved comment placement. Corrected check lines. Rebased.

Jul 30 2020, 11:30 AM · Restricted Project
saiislam updated the diff for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.

Moved comments to header files. Used regexps for test cases.

Jul 30 2020, 8:13 AM · Restricted Project

Jul 29 2020

saiislam requested review of D84844: [OpenMP] Ensure testing for versions 4.5 and default - Part 1.
Jul 29 2020, 7:02 AM · Restricted Project

Jul 28 2020

saiislam requested review of D84743: [Clang][AMDGCN] Universal device offloading macros header.
Jul 28 2020, 5:23 AM · Restricted Project

Jul 27 2020

saiislam updated the diff for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.

Generalized regex in one of the test to pass harbormaster build.

Jul 27 2020, 1:12 AM · Restricted Project

Jul 24 2020

saiislam added inline comments to D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.
Jul 24 2020, 10:50 PM · Restricted Project
saiislam added a reviewer for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3: arsenm.
Jul 24 2020, 10:46 PM · Restricted Project
saiislam updated the diff for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.

Added InitTempAlloca address space cast.

Jul 24 2020, 10:43 PM · Restricted Project
saiislam added a comment to D83730: [AMDGPU] Spill CSR VGPR which is reserved for SGPR spills.

LGTM. Please wait for @arsenm 's review.

Jul 24 2020, 12:24 AM · Restricted Project

Jul 21 2020

saiislam updated the diff for D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3.

Added final to specialized classes.

Jul 21 2020, 12:40 PM · Restricted Project
Herald added a project to D84260: [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 3: Restricted Project.
Jul 21 2020, 12:04 PM · Restricted Project
saiislam accepted D84221: [OpenMP] Add missing RUN lines for OpenMP 4.5.

Thank you. LGTM.

Jul 21 2020, 8:39 AM · Restricted Project
saiislam committed rG741e55aeed75: [OpenMP] Temporarily disable failing runtime tests for clang-12 (authored by saiislam).
[OpenMP] Temporarily disable failing runtime tests for clang-12
Jul 21 2020, 8:33 AM
saiislam closed D84241: [OpenMP] Temporarily disable failing runtime tests for clang-12.
Jul 21 2020, 8:33 AM · Restricted Project
saiislam added a comment to D84241: [OpenMP] Temporarily disable failing runtime tests for clang-12.

It is causing various recent OpenMP harbormaster builds to fail like the one for D84148 and D84221.

Jul 21 2020, 8:25 AM · Restricted Project
Herald added a project to D84241: [OpenMP] Temporarily disable failing runtime tests for clang-12: Restricted Project.
Jul 21 2020, 8:22 AM · Restricted Project

Jul 20 2020

saiislam added a comment to D84221: [OpenMP] Add missing RUN lines for OpenMP 4.5.

Can you add test with version string 50 also?
So, tests should be there for version 45, version 50, and default version. It will ensure that this test doesn't silently stops testing for 50 when we upgrade to the next version.

Jul 20 2020, 11:21 PM · Restricted Project
saiislam committed rGfc7d2908ab38: [OpenMP] Use common interface to access GPU Grid Values (authored by saiislam).
[OpenMP] Use common interface to access GPU Grid Values
Jul 20 2020, 10:26 PM
saiislam closed D83492: [OpenMP] Use common interface to access GPU Grid Values.
Jul 20 2020, 10:26 PM · Restricted Project
saiislam added a comment to D64571: [OPENMP]Fix threadid in __kmpc_omp_taskwait call for dependent target calls..

The test fails for me with segfault in line 22.

$ gdb target_depend_nowait.cpp.tmp-x86_64-pc-linux-gnu
(gdb) run
...
Program received signal SIGSEGV, Segmentation fault.
(gdb) bt
#0  0x0000000000400fcf in .omp_outlined._debug__ (.global_tid.=0x2aaab96b9be0, .bound_tid.=0x2aaab96b9bd8) at target_depend_nowait.cpp:22
#1  0x0000000000401e8d in .omp_outlined..23 (.global_tid.=0x2aaab96b9be0, .bound_tid.=0x2aaab96b9bd8) at target_depend_nowait.cpp:18
#2  0x00002aaaab574213 in __kmp_invoke_microtask () from libomp.so
#3  0x00002aaaab51338e in __kmp_invoke_task_func () from libomp.so
#4  0x00002aaaab5126bf in __kmp_launch_thread () from libomp.so
#5  0x00002aaaab55d3d0 in __kmp_launch_worker(void*) () from libomp.so
#6  0x00002aaaabbd6e65 in start_thread () from libpthread.so.0
#7  0x00002aaaabee988d in clone () from libc.so.6

It is not the problem of this patch, looks like support for mappers causes failures

Jul 20 2020, 8:39 AM · Restricted Project, Restricted Project

Jul 17 2020

saiislam updated the diff for D83492: [OpenMP] Use common interface to access GPU Grid Values.

Corrected.

Jul 17 2020, 9:07 AM · Restricted Project
saiislam updated the diff for D83492: [OpenMP] Use common interface to access GPU Grid Values.

Removed getNVPTXWarpSize() changes for a separate patch and rebased.

Jul 17 2020, 8:43 AM · Restricted Project
saiislam added inline comments to D83492: [OpenMP] Use common interface to access GPU Grid Values.
Jul 17 2020, 8:39 AM · Restricted Project
saiislam committed rGc7562e77b3ac: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU (authored by saiislam).
[OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU
Jul 17 2020, 7:39 AM
saiislam closed D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU.
Jul 17 2020, 7:39 AM · Restricted Project

Jul 15 2020

saiislam added inline comments to D83863: [OpenMP] Change version 4.5 hardcoded clang tests to default OpenMP version.
Jul 15 2020, 6:28 AM · Restricted Project
saiislam added a comment to D83863: [OpenMP] Change version 4.5 hardcoded clang tests to default OpenMP version.

Not sure that this is really required. If we want to check for the default version, it would be good to check that it still works for 4.5. It means, need to add additional RUN lines. But I don't think it is profitable to test the same functionality several times without actual effect

These 67 files were testing only for version 4.5. As the default version is now 5.0, isn't it expected that the tests run against it?

It just means that there are no changes in functionality between 4.5 and 5.0. Sure, you can switch to the default version instead but I don't see real profit here. Anyway, it is up to you.

Jul 15 2020, 5:54 AM · Restricted Project
saiislam added a comment to D83863: [OpenMP] Change version 4.5 hardcoded clang tests to default OpenMP version.

Not sure that this is really required. If we want to check for the default version, it would be good to check that it still works for 4.5. It means, need to add additional RUN lines. But I don't think it is profitable to test the same functionality several times without actual effect

Jul 15 2020, 5:42 AM · Restricted Project
saiislam added a comment to D83863: [OpenMP] Change version 4.5 hardcoded clang tests to default OpenMP version.

[Work in progress]
Among all the test files in clang/test/OpenMP which were running only for version 4.5, I am yet to fix following files (rest all are given in this patch):

Jul 15 2020, 5:00 AM · Restricted Project
Herald added a project to D83863: [OpenMP] Change version 4.5 hardcoded clang tests to default OpenMP version: Restricted Project.
Jul 15 2020, 4:53 AM · Restricted Project

Jul 14 2020

saiislam updated the summary of D82575: [OpenMP] OpenMP Clang tests without 50 version string after upgrading to 5.0.
Jul 14 2020, 11:56 PM · Restricted Project
saiislam updated the diff for D82575: [OpenMP] OpenMP Clang tests without 50 version string after upgrading to 5.0.

Instead of adding additional test cases without version string, removed all occurrences of -fopenmp-version=50.

Jul 14 2020, 11:44 PM · Restricted Project
saiislam added a comment to D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU.

Thank you.
I will hold committing till llvm-11 branching so it doesn't break something in any downstream dependent project at the last moment.

Jul 14 2020, 12:59 PM · Restricted Project
saiislam updated the summary of D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU.
Jul 14 2020, 7:19 AM · Restricted Project
saiislam updated the diff for D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU.

Removed all references to AMDGCN to make it NFC. Will introduce AMDGCN specific things separately in a followup patch.

Jul 14 2020, 7:18 AM · Restricted Project
saiislam updated the diff for D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU.

Removed all formatting and spacing changes introduced due to clang-format.

Jul 14 2020, 1:42 AM · Restricted Project

Jul 13 2020

saiislam updated subscribers of D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU.
Jul 13 2020, 3:04 PM · Restricted Project
saiislam added a comment to D83492: [OpenMP] Use common interface to access GPU Grid Values.

Changing to getGridValue would be useful for sharing parts of this with amdgcn.

The aomp toolchain handles codegen for amdgcn by adding if (isAMDGCN) to this file. Until such time as tregions obsoletes this code, I think we should go with layers instead of scattered conditionals.

I.e. rename CGOpenMPRuntimeNVPTX to CGOpenMPRuntimeGPU which contains code that is common to nvptx and amdgcn. That probably uses getGridValue() as a way to abstract over minor differences. Derive CGOpenMPRuntimeAMDGCN and CGOpenMPRuntimeNVPTX from CGOpenMPRuntimeGPU to implement (virtual) functions which are different between the two.

Jul 13 2020, 2:55 PM · Restricted Project
Herald added a project to D83723: [OpenMP][NFC] Generalize CGOpenMPRuntimeNVPTX as CGOpenMPRuntimeGPU: Restricted Project.
Jul 13 2020, 2:49 PM · Restricted Project

Jul 9 2020

Herald added a project to D83492: [OpenMP] Use common interface to access GPU Grid Values: Restricted Project.
Jul 9 2020, 9:56 AM · Restricted Project