Page MenuHomePhabricator

tra (Artem Belevich)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 8 2015, 1:53 PM (209 w, 5 d)

Recent Activity

Mon, Jan 14

tra added inline comments to D56654: Update GettingStarted guide to recommend that people use the new official Git repository..
Mon, Jan 14, 3:05 PM

Fri, Dec 21

tra committed rC349981: [CUDA] Treat extern global variable shadows same as regular extern vars..
[CUDA] Treat extern global variable shadows same as regular extern vars.
Fri, Dec 21, 5:15 PM
tra committed rL349981: [CUDA] Treat extern global variable shadows same as regular extern vars..
[CUDA] Treat extern global variable shadows same as regular extern vars.
Fri, Dec 21, 5:15 PM
tra closed D56033: [CUDA] Treat extern global variable shadows same as regular extern vars..
Fri, Dec 21, 5:14 PM
tra updated the diff for D56033: [CUDA] Treat extern global variable shadows same as regular extern vars..

Fixed a typo.

Fri, Dec 21, 4:25 PM
tra accepted D34708: [NVPTX] Allow to make libcalls that are defined in the current module..

Nice. Thank you for adding the tests.
LGTM.

Fri, Dec 21, 4:01 PM
tra created D56033: [CUDA] Treat extern global variable shadows same as regular extern vars..
Fri, Dec 21, 3:54 PM

Wed, Dec 19

tra added a comment to D34708: [NVPTX] Allow to make libcalls that are defined in the current module..

The tests you have only check the end result and do not directly verify the new functionality the patch adds.

Wed, Dec 19, 3:50 PM

Tue, Dec 18

tra added a comment to D34708: [NVPTX] Allow to make libcalls that are defined in the current module..

You probably want to remove libcalls.patch from the patch diff.

Tue, Dec 18, 2:20 PM

Dec 14 2018

tra committed rL349213: [NVPTX] Lower instructions that expand into libcalls..
[NVPTX] Lower instructions that expand into libcalls.
Dec 14 2018, 3:56 PM
tra closed D55145: [NVPTX] Lower instructions that expands into libcalls.
Dec 14 2018, 3:56 PM
tra accepted D55145: [NVPTX] Lower instructions that expands into libcalls.
In D55145#1324230, @tra wrote:

Here the behaviour of unsupported instructions is changed to match the behaviour of explicit intrinsics calls.

If I remember correctly, the crash was only happening for instructions lowered to libcall. Do we crash in any other case?
If libcall is the only source of failure, would it make more sense to bail out of this function early? We're going to fail in this case anyways.

You are right, normally it would make sense. But in this case, the end goal is to support these libcalls.
It would be easier to achieve when both instructions and intrinsics are behaving consistently. And I'm afraid, bailing them out, would be an extra work that will have to be dropped when the final libcall solution will come (means, very-very soon).

Dec 14 2018, 9:29 AM

Dec 13 2018

tra committed rC349087: [CUDA] Make all host-side shadows of device-side variables undef..
[CUDA] Make all host-side shadows of device-side variables undef.
Dec 13 2018, 1:46 PM
tra committed rL349087: [CUDA] Make all host-side shadows of device-side variables undef..
[CUDA] Make all host-side shadows of device-side variables undef.
Dec 13 2018, 1:46 PM
tra closed D55663: [CUDA] Make all host-side shadows of device-side variables undef..
Dec 13 2018, 1:46 PM
tra retitled D55663: [CUDA] Make all host-side shadows of device-side variables undef. from [CUDA] Make all host-side shadows of device-side variables undefined. to [CUDA] Make all host-side shadows of device-side variables undef..
Dec 13 2018, 11:44 AM
tra created D55663: [CUDA] Make all host-side shadows of device-side variables undef..
Dec 13 2018, 11:43 AM

Dec 12 2018

tra committed rL348952: [NVPTX] do not rely on cached subtarget info..
[NVPTX] do not rely on cached subtarget info.
Dec 12 2018, 10:36 AM
tra closed D55580: [NVPTX] do not rely on cached subtarget info..
Dec 12 2018, 10:36 AM

Dec 11 2018

tra created D55580: [NVPTX] do not rely on cached subtarget info..
Dec 11 2018, 2:19 PM

Dec 7 2018

tra accepted D55456: [CUDA] added missing 'inline' for the functions defined in the header..

jlebar@ LGTM'ed via email.
Landed in rL348662

Dec 7 2018, 5:16 PM
tra closed D55456: [CUDA] added missing 'inline' for the functions defined in the header..
Dec 7 2018, 5:16 PM
tra added a comment to D55145: [NVPTX] Lower instructions that expands into libcalls.

Here the behaviour of unsupported instructions is changed to match the behaviour of explicit intrinsics calls.

Dec 7 2018, 5:03 PM
tra committed rL348662: [CUDA] Added missing 'inline' for functions defined in a header..
[CUDA] Added missing 'inline' for functions defined in a header.
Dec 7 2018, 2:24 PM
tra committed rC348662: [CUDA] Added missing 'inline' for functions defined in a header..
[CUDA] Added missing 'inline' for functions defined in a header.
Dec 7 2018, 2:24 PM
tra created D55456: [CUDA] added missing 'inline' for the functions defined in the header..
Dec 7 2018, 1:12 PM

Dec 6 2018

tra accepted D55269: [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu.

LGTM.

Dec 6 2018, 9:34 AM

Dec 5 2018

tra added a comment to D55269: [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu.

I think there are some misunderstandings here, or at least I understand things differently than @tra is describing them: AFAICS this change is NOT about replacing nvcc by clang in any CMake project (be that the OpenMP runtime or any other project outside of LLVM).

Dec 5 2018, 9:44 AM

Dec 4 2018

tra added a comment to D55269: [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu.
In D55269#1319382, @tra wrote:

Let's start with fixing OpenMP's cmake files. Once it no longer insists on specifying --cuda-path=/usr, and isUbuntu is in place, what is the remaining failure that you see?

I'm fairly certain I would see no remaining failure then, but it's not clear to me how we should convince OpenMP's cmake files to stop doing that.

openmp/libomptarget/cmake/Modules/LibomptargetNVPTXBitcodeLibrary.cmake is the file, and there's one occurrence of --cuda-path.

If CUDA_TOOLKIT_ROOT_DIR is specified explicitly to cmake, that --cuda-path is necessary, so we cannot just remove it.

If CUDA_TOOLKIT_ROOT_DIR is not specified explicitly, it is computed by cmake. So I believe this boils down to getting cmake to find the right CUDA root on Debian/Ubuntu.

Do you agree so far?

Dec 4 2018, 4:21 PM
tra added a comment to D55269: [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu.

My real goal is to get clang and openmp working out of the box on Ubuntu. Treating --cuda-path=/usr as a special case was just a way to get there. It's odd apparently because nvidia-cuda-toolkit is odd.

Dec 4 2018, 3:27 PM
tra added a comment to D55269: [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu.

It appears that what you're trying to do is to add "/usr/lib/cuda" on Ubuntu and Debian when --cuda-path=/usr is specified.
This is a rather odd thing to do. In the end only one of those paths will be in effect and that's the path that should be specified via --cuda-path. The fact that you want to add /usr/cuda/lib in this case suggests that /usr is the wrong path and /usr/lib/cuda is the correct one. It sounds like you need to change your build system and tell clang the correct path.

Dec 4 2018, 2:15 PM
tra requested changes to D55269: [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu.

I'm not sure that's something that needs to be fixed in clang.

Dec 4 2018, 10:06 AM

Nov 30 2018

tra committed rL348057: [NVPTX] Add lowering of i128 numbers as struct fields.
[NVPTX] Add lowering of i128 numbers as struct fields
Nov 30 2018, 4:25 PM
tra closed D55144: [NVPTX] Add lowering of i128 numbers as struct fields.
Nov 30 2018, 4:24 PM
tra accepted D55144: [NVPTX] Add lowering of i128 numbers as struct fields.
Nov 30 2018, 1:41 PM

Nov 15 2018

tra committed rL347013: Added missing whitespace in the link..
Added missing whitespace in the link.
Nov 15 2018, 5:26 PM
tra committed rL347007: [CUDA] updated CompileCudaWithLLVM.rst.
[CUDA] updated CompileCudaWithLLVM.rst
Nov 15 2018, 5:05 PM
tra closed D54608: [CUDA] updated CompileCudaWithLLVM.rst.
Nov 15 2018, 5:05 PM
tra added inline comments to D54608: [CUDA] updated CompileCudaWithLLVM.rst.
Nov 15 2018, 5:04 PM
tra created D54608: [CUDA] updated CompileCudaWithLLVM.rst.
Nov 15 2018, 4:49 PM

Nov 13 2018

tra accepted D54496: [HIP] Fix device only compilation.

Do I understand it correctly that the bug appears to affect HIP compilation only?

Nov 13 2018, 2:54 PM

Nov 9 2018

tra accepted D54275: [HIP] Remove useless sections in linked files.
Nov 9 2018, 10:09 AM

Nov 6 2018

tra added a comment to D54183: [HIP] Change default optimization level to -O3.

I'm not convinced that nvcc's behavior is a good guide for clang's defaults.

Nov 6 2018, 2:16 PM

Oct 24 2018

tra accepted D53657: [DEBUG_INFO][NVPTX]Fix processing of DBG_VALUES..
Oct 24 2018, 2:04 PM
tra added inline comments to D53657: [DEBUG_INFO][NVPTX]Fix processing of DBG_VALUES..
Oct 24 2018, 10:58 AM
tra added inline comments to D53657: [DEBUG_INFO][NVPTX]Fix processing of DBG_VALUES..
Oct 24 2018, 10:21 AM

Oct 22 2018

tra accepted D53472: Add gfx904 and gfx906 to GPU Arch.
Oct 22 2018, 1:59 PM

Oct 5 2018

tra committed rC343875: [CUDA] Use all 64 bits of GUID in __nv_module_id.
[CUDA] Use all 64 bits of GUID in __nv_module_id
Oct 5 2018, 11:41 AM
tra committed rL343875: [CUDA] Use all 64 bits of GUID in __nv_module_id.
[CUDA] Use all 64 bits of GUID in __nv_module_id
Oct 5 2018, 11:41 AM
tra closed D52938: [CUDA] Use all 64 bits of GUID in __nv_module_id.
Oct 5 2018, 11:41 AM
tra added a comment to D52938: [CUDA] Use all 64 bits of GUID in __nv_module_id.

This particular change is largely cosmetic. I've just spotted this nit while I was debugging a different problem.

Oct 5 2018, 11:40 AM
tra created D52938: [CUDA] Use all 64 bits of GUID in __nv_module_id.
Oct 5 2018, 10:44 AM

Oct 2 2018

tra accepted D52377: [HIP] Support early finalization of device code for -fno-gpu-rdc.

LGTM.

Oct 2 2018, 10:20 AM

Oct 1 2018

tra committed rL343551: [test-suite, CUDA] Run GPU tests in parallel..
[test-suite, CUDA] Run GPU tests in parallel.
Oct 1 2018, 5:13 PM
tra added inline comments to D52377: [HIP] Support early finalization of device code for -fno-gpu-rdc.
Oct 1 2018, 4:05 PM
tra closed D52438: [CUDA] Add basic support for CUDA-10.0.

Landed in rC342924

Oct 1 2018, 11:35 AM

Sep 25 2018

tra accepted D52259: [CUDA] Fix two failed test cases using --cuda-path-ignore-env.

It's unfortunate that lit does not scrub the environment in order to make tests hermetic.

Sep 25 2018, 9:37 AM · Restricted Project

Sep 24 2018

tra committed rT342931: [test-suite, CUDA] Enable tests w/ CUDA-10.0.
[test-suite, CUDA] Enable tests w/ CUDA-10.0
Sep 24 2018, 5:25 PM
tra committed rL342931: [test-suite, CUDA] Enable tests w/ CUDA-10.0.
[test-suite, CUDA] Enable tests w/ CUDA-10.0
Sep 24 2018, 4:59 PM
tra committed rC342924: [CUDA] Added basic support for compiling with CUDA-10.0.
[CUDA] Added basic support for compiling with CUDA-10.0
Sep 24 2018, 4:14 PM
tra committed rL342924: [CUDA] Added basic support for compiling with CUDA-10.0.
[CUDA] Added basic support for compiling with CUDA-10.0
Sep 24 2018, 4:14 PM
tra added a comment to D52437: [CUDA] Add preliminary support for CUDA 10.0.

Great to see someone beating me to add support for a new CUDA version. :-)
I've posted my patch in D52438. It's very similar to yours with a couple of other necessary changes.

Sep 24 2018, 2:48 PM
tra created D52438: [CUDA] Add basic support for CUDA-10.0.
Sep 24 2018, 2:42 PM

Sep 21 2018

tra added a comment to D52377: [HIP] Support early finalization of device code for -fno-gpu-rdc.

Overall the patch look OK. I'll take a closer look on Monday.

Sep 21 2018, 2:02 PM
tra committed rL342752: [CUDA] Fixed parsing of optional template-argument-list..
[CUDA] Fixed parsing of optional template-argument-list.
Sep 21 2018, 10:50 AM
tra committed rC342752: [CUDA] Fixed parsing of optional template-argument-list..
[CUDA] Fixed parsing of optional template-argument-list.
Sep 21 2018, 10:50 AM
tra closed D52321: [CUDA] Fixed parsing of optional template-argument-list..
Sep 21 2018, 10:50 AM
tra updated the diff for D52321: [CUDA] Fixed parsing of optional template-argument-list..

Added '>=' and '>>=' to the list of tokens that may indicate the end of the
empty template argument list.

Sep 21 2018, 10:40 AM
tra committed rC342749: [CUDA] Ignore uncallable functions when we check for usual deallocators..
[CUDA] Ignore uncallable functions when we check for usual deallocators.
Sep 21 2018, 10:31 AM
tra committed rL342749: [CUDA] Ignore uncallable functions when we check for usual deallocators..
[CUDA] Ignore uncallable functions when we check for usual deallocators.
Sep 21 2018, 10:31 AM
tra closed D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..
Sep 21 2018, 10:31 AM

Sep 20 2018

tra created D52321: [CUDA] Fixed parsing of optional template-argument-list..
Sep 20 2018, 1:03 PM

Sep 19 2018

tra added a comment to D52259: [CUDA] Fix two failed test cases using --cuda-path-ignore-env.

The patch does not seem to match the description and appears to have nothing to do with rearranging include paths. Could you check if these are the changes you intended to send for review.

Sep 19 2018, 1:10 PM · Restricted Project

Sep 18 2018

tra updated the diff for D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..

Renamed last instance of 'Matches' -> 'PreventedBy'.

Sep 18 2018, 5:19 PM
tra updated the diff for D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..

Updated assertion message.

Sep 18 2018, 5:05 PM
tra committed rL342514: [clang-tidy] Replace redundant checks with an assert()..
[clang-tidy] Replace redundant checks with an assert().
Sep 18 2018, 2:52 PM
tra committed rCTE342514: [clang-tidy] Replace redundant checks with an assert()..
[clang-tidy] Replace redundant checks with an assert().
Sep 18 2018, 2:52 PM
tra closed D52179: [clang-tidy] Replace redundant checks with an assert()..
Sep 18 2018, 2:52 PM · Restricted Project

Sep 17 2018

tra added inline comments to D52179: [clang-tidy] Replace redundant checks with an assert()..
Sep 17 2018, 4:32 PM · Restricted Project
tra added inline comments to D52179: [clang-tidy] Replace redundant checks with an assert()..
Sep 17 2018, 4:00 PM · Restricted Project
tra updated the diff for D52179: [clang-tidy] Replace redundant checks with an assert()..
  • Check that D is non-null
Sep 17 2018, 3:31 PM · Restricted Project
tra added a comment to D52179: [clang-tidy] Replace redundant checks with an assert()..

Is the condition for this assertion checked beforehand or could this create runtime failures?

Sep 17 2018, 12:57 PM · Restricted Project
tra added a parent revision for D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators.: D52179: [clang-tidy] Replace redundant checks with an assert()..
Sep 17 2018, 11:25 AM
tra added a child revision for D52179: [clang-tidy] Replace redundant checks with an assert().: D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..
Sep 17 2018, 11:24 AM · Restricted Project
tra updated the diff for D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..

Addressed Richard's comments.
Moved clang-tidy changes into separate review D52179.

Sep 17 2018, 11:24 AM
tra created D52179: [clang-tidy] Replace redundant checks with an assert()..
Sep 17 2018, 11:20 AM · Restricted Project

Sep 13 2018

tra added a comment to D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..

@rsmith ping.

Sep 13 2018, 10:07 AM

Sep 7 2018

tra added a comment to D51809: [CUDA][HIP] Fix ShouldDeleteSpecialMember for inherited constructors.

@jlebar Justin, can you take a look?

Sep 7 2018, 1:33 PM
tra added a reviewer for D51809: [CUDA][HIP] Fix ShouldDeleteSpecialMember for inherited constructors: jlebar.
Sep 7 2018, 1:32 PM
tra created D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..
Sep 7 2018, 11:46 AM

Sep 4 2018

tra committed rT341430: [test-suite, CUDA] Update CUDA cmake files..
[test-suite, CUDA] Update CUDA cmake files.
Sep 4 2018, 4:50 PM
tra committed rL341430: [test-suite, CUDA] Update CUDA cmake files..
[test-suite, CUDA] Update CUDA cmake files.
Sep 4 2018, 4:44 PM
tra closed D51663: [test-suite, CUDA] Update CUDA test suite cmake files..
Sep 4 2018, 4:44 PM
tra added a comment to D51663: [test-suite, CUDA] Update CUDA test suite cmake files..

LGTM, sorry for the breakage.

Sep 4 2018, 4:44 PM
tra updated the diff for D51663: [test-suite, CUDA] Update CUDA test suite cmake files..

Updated the changes according to Matthias' comments.

Sep 4 2018, 4:41 PM
tra added a comment to D51048: cmake: Specify reference outputs in llvm_test_data().

How about D51663?

Sep 4 2018, 4:22 PM
tra created D51663: [test-suite, CUDA] Update CUDA test suite cmake files..
Sep 4 2018, 4:21 PM
tra added a comment to D51048: cmake: Specify reference outputs in llvm_test_data().

Your patch above *almost* works, except that each test variant wants to create the same symlink $BUILD/ExternalCUDA/$TEST.teferece_output -> $SRC/External/CUDA/$TEST.reference_output. If symlinks are created at different points in time ninja manages to avoid conflicts, but typically I get one or two attempts to create the symlink launches simultaneously and one of them fails with "symlink already exists". Perhaps the symlink target name should be uniquified in some way.

Sep 4 2018, 12:04 PM
tra added a comment to D51048: cmake: Specify reference outputs in llvm_test_data().

Though thinking about it, I don't really understand your problem:

How can there be multiple outputs with the same name? They have different names in the repository (algorithm.reference_output, assert.reference_output, ...)

Sep 4 2018, 11:41 AM
tra abandoned D51501: [CUDA] Fix CUDA compilation broken by D50845.

Not needed anymore after the reverts in rC341115 and rC341118, right?

Sep 4 2018, 9:52 AM