Page MenuHomePhabricator

tra (Artem Belevich)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Yesterday

tra added a comment to D72741: [MLIR] LLVM dialect: Add llvm.atomicrmw.

@tra, your rule adds you as blocking on all of MLIR :)

Fri, Jan 17, 12:28 PM · Restricted Project
tra added a comment to D72806: [HIP] fix paths for executables not in clang bin directory.

Tank you for splitting the patch. For CMake parts @beanz would be the person to make the call.

Fri, Jan 17, 12:09 PM · Restricted Project
tra accepted D72903: [HIP] use GetProgramPath for executable discovery.
Fri, Jan 17, 12:09 PM · Restricted Project
tra resigned from D72942: [mlir][Linalg] Extend linalg vectorization to MatmulOp.
Fri, Jan 17, 12:09 PM · Restricted Project
tra removed a reviewer for D72942: [mlir][Linalg] Extend linalg vectorization to MatmulOp: tra.
Fri, Jan 17, 12:09 PM · Restricted Project
tra resigned from D72741: [MLIR] LLVM dialect: Add llvm.atomicrmw.

Oops. Herald rule misfired.

Fri, Jan 17, 12:09 PM · Restricted Project

Thu, Jan 16

tra added a comment to D72806: [HIP] fix paths for executables not in clang bin directory.
Thu, Jan 16, 4:02 PM · Restricted Project
tra added a comment to D72806: [HIP] fix paths for executables not in clang bin directory.

What's the use case of this change?

Normally clang needs to call opt/llc/lld from the same directory of clang. Why do we need to find them in other directories?

My motivation is the nix-package manager, which has llvm, lld and clang in different packages (which results in different directories).

Thu, Jan 16, 3:24 PM · Restricted Project
tra added a reviewer for D72806: [HIP] fix paths for executables not in clang bin directory: beanz.

LGTM. Added @beanz for the review of CMake file changes.

Thu, Jan 16, 11:01 AM · Restricted Project

Mon, Jan 6

tra accepted D71221: [HIP] Add option --gpu-max-threads-per-block=n.
Mon, Jan 6, 8:51 AM · Restricted Project

Fri, Dec 20

tra added inline comments to D71221: [HIP] Add option --gpu-max-threads-per-block=n.
Fri, Dec 20, 10:30 AM · Restricted Project

Thu, Dec 19

tra added a comment to D71221: [HIP] Add option --gpu-max-threads-per-block=n.

What's the use case for this flag?

Thu, Dec 19, 2:11 PM · Restricted Project
tra accepted D71080: [NFC] Separate getLastArgIntValue to Basic.
Thu, Dec 19, 2:11 PM · Restricted Project

Dec 18 2019

tra added a comment to D69990: Populate CUDA flags on FreeBSD too, as many other toolchains do..

It's somewhat old and misses few glue functions needed by CUDA-10, but it should work well enough for CUDA-9.

Interesting, thanks for sharing. However, at quick look, it seems to require other CUDA libraries (libcuda, libcublas, etc.), which also aren't available for FreeBSD.

Dec 18 2019, 12:05 PM · Restricted Project
tra added a comment to D69990: Populate CUDA flags on FreeBSD too, as many other toolchains do..

... I'm curious if it's particularly useful. Last time I checked NVIDIA didn't ship libcudart for FreeBSD and without it it's rather cumbersome to use CUDA in practice.

Dec 18 2019, 10:45 AM · Restricted Project

Dec 10 2019

tra added a comment to D71227: [cuda][hip] Fix function overload resolution in the global initiailizer..

I wonder if this patch will help with this case:

Dec 10 2019, 12:37 PM · Restricted Project
tra updated subscribers of D71227: [cuda][hip] Fix function overload resolution in the global initiailizer..

Looks good to me overall. I've pinged rsmith@ to double-check that we're covering all possibilities for non-local variable init.

Dec 10 2019, 12:19 PM · Restricted Project
tra added inline comments to D71128: [NVPTX][FIX] Expand atomics we cannot handle natively in the ISA.
Dec 10 2019, 9:13 AM · Restricted Project

Dec 9 2019

tra committed rGd5acc83a3ac3: Implement LWG#1203 for raw_ostream. (authored by csigg).
Implement LWG#1203 for raw_ostream.
Dec 9 2019, 2:08 PM
tra closed D70686: Implement LWG#1203 for raw_ostream.
Dec 9 2019, 2:08 PM · Restricted Project
tra added inline comments to D71128: [NVPTX][FIX] Expand atomics we cannot handle natively in the ISA.
Dec 9 2019, 11:57 AM · Restricted Project
tra added inline comments to D71179: [OpenMP][WIP] Initial support for `begin/end declare variant`.
Dec 9 2019, 11:30 AM · Restricted Project, Restricted Project

Dec 6 2019

tra added a comment to D71128: [NVPTX][FIX] Expand atomics we cannot handle natively in the ISA.
> Command Output (stderr):
> --
> /mnt/disks/ssd0/agent/workspace/amd64_debian_testing_clang8/llvm/test/CodeGen/NVPTX/atomics-sm60.ll:6:10: error: CHECK: expected string not found in input
> ; CHECK: atom.add.f64
>          ^
> <stdin>:1:1: note: scanning from here
> //
> ^
> <stdin>:34:2: note: possible intended match here
>  atom.cas.b64 %rd3, [%r1], %rd2, %rd1;
>  ^
Dec 6 2019, 1:39 PM · Restricted Project
tra added inline comments to D71080: [NFC] Separate getLastArgIntValue to Basic.
Dec 6 2019, 10:50 AM · Restricted Project
tra added a comment to D71128: [NVPTX][FIX] Expand atomics we cannot handle natively in the ISA.

+1 for tests.

Dec 6 2019, 10:05 AM · Restricted Project

Dec 5 2019

tra added inline comments to D71080: [NFC] Separate getLastArgIntValue to Basic.
Dec 5 2019, 11:58 AM · Restricted Project

Nov 18 2019

tra accepted D69990: Populate CUDA flags on FreeBSD too, as many other toolchains do..

LGTM, though I'm curious if it's particularly useful. Last time I checked NVIDIA didn't ship libcudart for FreeBSD and without it it's rather cumbersome to use CUDA in practice.
You can compile a kernel, but kernel loading, launching, and related data transfers will all need to be done via driver API. It should be possible to implement a functional replacement, but I'm not aware of any existing open-source implementations. I'm also not sure if clang will be able to deal with CUDA headers correctly on FreeBSD as CUDA headers do sometimes seem to rely on implementation specifics of Linux headers.

Nov 18 2019, 11:26 AM · Restricted Project

Nov 14 2019

tra added inline comments to D68578: [HIP] Fix device stub name.
Nov 14 2019, 3:22 PM
tra added inline comments to D68578: [HIP] Fix device stub name.
Nov 14 2019, 9:38 AM

Nov 13 2019

tra added inline comments to D68578: [HIP] Fix device stub name.
Nov 13 2019, 11:55 AM
tra updated subscribers of D70172: [CUDA][HIP] Fix assertion due to dtor check on windows.

Calling @rnk for Windows know-how.

Nov 13 2019, 10:31 AM

Nov 7 2019

tra committed rG7215b7ef530b: [creduce] Fixed a typo in the error message we're looking for. (authored by tra).
[creduce] Fixed a typo in the error message we're looking for.
Nov 7 2019, 5:23 PM

Nov 6 2019

tra added a comment to D68578: [HIP] Fix device stub name.

Apologies for the delay with my response.

Nov 6 2019, 2:56 PM

Nov 5 2019

tra accepted D69826: [hip] Enable pointer argument lowering through coercing type..

Thank you!

Nov 5 2019, 9:42 AM · Restricted Project

Nov 4 2019

tra added inline comments to D69826: [hip] Enable pointer argument lowering through coercing type..
Nov 4 2019, 4:24 PM · Restricted Project
tra added inline comments to D69826: [hip] Enable pointer argument lowering through coercing type..
Nov 4 2019, 3:06 PM · Restricted Project
tra added inline comments to D69826: [hip] Enable pointer argument lowering through coercing type..
Nov 4 2019, 2:26 PM · Restricted Project
tra added inline comments to D69818: [HIP] Fix pointer type kernel arg for amdgpu.
Nov 4 2019, 1:51 PM
tra accepted D57829: [CUDA][HIP] Disable emitting llvm.linker.options in device compilation.

LGTM in general. Nit about test name and test scope.

Nov 4 2019, 10:47 AM · Restricted Project

Nov 1 2019

tra added inline comments to D57829: [CUDA][HIP] Disable emitting llvm.linker.options in device compilation.
Nov 1 2019, 10:19 AM · Restricted Project

Oct 31 2019

tra added a comment to D69679: [AMDGPU] Add amdgpu-promote-pointer-kernargs pass.

@arsenm has a point. We can do it in clang, and it seems to be a better long-term solution compared to patching-up the inputs' AS that we've done for NVPTX and, now, AMDGPU.

Oct 31 2019, 3:11 PM · Restricted Project
tra added inline comments to D57829: [CUDA][HIP] Disable emitting llvm.linker.options in device compilation.
Oct 31 2019, 2:15 PM · Restricted Project
tra accepted D69678: [CodeGen] Fix invalid llvm.linker.options about pragma detect_mismatch.
Oct 31 2019, 2:15 PM · Restricted Project
tra added a comment to D57829: [CUDA][HIP] Disable emitting llvm.linker.options in device compilation.

Could you, please, give us a bit more context and provide more info for the questions @rjmccall and I asked before?

Oct 31 2019, 11:38 AM · Restricted Project

Oct 30 2019

tra added a comment to D69498: IR: Invert convergent attribute handling.

Would I be too far off the mark to summarize the situation this way?

Oct 30 2019, 4:45 PM · Restricted Project

Oct 29 2019

tra added a reviewer for D69582: Let clang driver support parallel jobs: echristo.

@echristo Eric, any thoughts/concerns on the overall direction for the driver?

Oct 29 2019, 2:38 PM
tra added a comment to D60220: [CUDA][Windows] Final fix for bug 38811 (Step 3 of 3).
In D60220#1725633, @dim wrote:

Hm, I would really say that __isnan and the other __ prefixed functions are Linuxisms, or more accurately, glibc-isms. They also don't exist on e.g. macOS:

Why can't the regular isnan be used instead? Or is this a CUDA-specific requirement? (Apologies, but I know next to nothing about CUDA :) )

Oct 29 2019, 10:36 AM · Restricted Project
tra added a reviewer for D69322: [hip][cuda] Enable extended lambda support on Windows.: rnk.

@rnk Reid, would you be the right person to look at the change on the Windows' side?

Oct 29 2019, 9:11 AM · Restricted Project

Oct 28 2019

tra committed rGd9972f848294: [NVPTX] Added llvm.nvvm.mma.m8n8k4.* intrinsics (authored by tra).
[NVPTX] Added llvm.nvvm.mma.m8n8k4.* intrinsics
Oct 28 2019, 3:27 PM
tra closed D69324: [NVPTX] Add llvm.nvvm.mma.m8n8k4.* intrinsics..
Oct 28 2019, 3:27 PM · Restricted Project
tra accepted D69493: Add -fconvergent-functions flag.

The CUDA builtin library is apparently compiled in C++ mode, so the
assumption of convergent needs to be made in a typically non-SPMD
language.

Oct 28 2019, 10:41 AM
tra added a comment to D60220: [CUDA][Windows] Final fix for bug 38811 (Step 3 of 3).

I'm seeing quite similar errors on FreeBSD with Clang 8 and 9:
Any idea how to fix this?

It looks like CUDA doesn't support double argument for device function __isnan on FreeBSD.

Oct 28 2019, 10:17 AM · Restricted Project

Oct 24 2019

tra accepted D69389: [hip] Allow the declaration of functions with variadic arguments in HIP..

Perhaps we should rename -fcuda-allow-variadic-functions to -fgpu-allow-variadic-functions after this patch.

Oct 24 2019, 2:40 PM · Restricted Project
tra added inline comments to D69389: [hip] Allow the declaration of functions with variadic arguments in HIP..
Oct 24 2019, 12:36 PM · Restricted Project

Oct 23 2019

tra created D69362: [git-llvm] Allow pushing commits over ssh..
Oct 23 2019, 5:08 PM · Restricted Project
tra updated the diff for D69324: [NVPTX] Add llvm.nvvm.mma.m8n8k4.* intrinsics..

Added a comment

Oct 23 2019, 1:50 PM · Restricted Project

Oct 22 2019

tra created D69324: [NVPTX] Add llvm.nvvm.mma.m8n8k4.* intrinsics..
Oct 22 2019, 2:50 PM · Restricted Project
tra accepted D69268: [HIP] Add option -fgpu-allow-device-init.

Thank you for adding the warning. One small nit about the name. LGTM otherwise.

Oct 22 2019, 8:55 AM · Restricted Project

Oct 21 2019

tra accepted D69268: [HIP] Add option -fgpu-allow-device-init.

Nice. I wish we could do that for CUDA.

Oct 21 2019, 10:55 AM · Restricted Project

Oct 18 2019

tra accepted D69124: [clang][driver] Print compilation phases with indentation..

Neat. I like the visual cues showing what gets passed on to the next processing stage.

Oct 18 2019, 4:23 PM · Restricted Project

Oct 17 2019

tra added a comment to D69124: [clang][driver] Print compilation phases with indentation..

This is... rather oddly-structured output. My brain refuses to accept that the most-indented phase is the input.
Perhaps we should do llvm::errs().indent(MaxIdent-Ident). This should give us something like this (withMaxIdent=9), which is somewhat easier to grok, IMO:

Oct 17 2019, 12:08 PM · Restricted Project
tra added a comment to D69124: [clang][driver] Print compilation phases with indentation..

Could you give an example of before/after output?

Oct 17 2019, 11:30 AM · Restricted Project

Oct 15 2019

tra added a comment to D68818: [hip][cuda] Fix the extended lambda name mangling issue..

@rsmith Richard, could you take a look, please? Lambdas, mangling, ODR rules & ABI scare me. :-)

Oct 15 2019, 9:06 AM · Restricted Project

Oct 14 2019

tra committed rG5c6ab2a0b1f2: [NVPTX] Restructure shfl instrinsics and add variants that return a predicate. (authored by tra).
[NVPTX] Restructure shfl instrinsics and add variants that return a predicate.
Oct 14 2019, 9:57 AM
tra committed rL374790: [NVPTX] Restructure shfl instrinsics and add variants that return a predicate..
[NVPTX] Restructure shfl instrinsics and add variants that return a predicate.
Oct 14 2019, 9:57 AM
tra closed D68892: [NVPTX] Restructure shfl instrinsics and add variants that return a predicate..
Oct 14 2019, 9:57 AM · Restricted Project
tra updated the diff for D68892: [NVPTX] Restructure shfl instrinsics and add variants that return a predicate..

Addressed Tim's comments.

Oct 14 2019, 9:20 AM · Restricted Project

Oct 11 2019

tra created D68892: [NVPTX] Restructure shfl instrinsics and add variants that return a predicate..
Oct 11 2019, 2:41 PM · Restricted Project

Oct 10 2019

tra accepted D68753: [CUDA][HIP} Add a test for constexpr default ctor.

LGTM.
Sometimes I wish it would be possible to specify some of the -verify diagnostics in temporal order, as opposed to tying them to locations. I.e. in this case it would be way more useful to see the call stack leading to the error at B::B. Oh, well.

Oct 10 2019, 4:44 PM · Restricted Project
tra accepted D68823: Fix help message for -ffp-contract.
Oct 10 2019, 3:12 PM · Restricted Project
tra accepted D68660: [tooling] Teach Tooling to understand compilation with offloading..
Oct 10 2019, 2:34 PM · Restricted Project
tra added inline comments to D68753: [CUDA][HIP} Add a test for constexpr default ctor.
Oct 10 2019, 2:05 PM · Restricted Project
tra added inline comments to D68823: Fix help message for -ffp-contract.
Oct 10 2019, 1:37 PM · Restricted Project
tra added inline comments to D68660: [tooling] Teach Tooling to understand compilation with offloading..
Oct 10 2019, 1:37 PM · Restricted Project
tra added inline comments to D68753: [CUDA][HIP} Add a test for constexpr default ctor.
Oct 10 2019, 11:59 AM · Restricted Project

Oct 9 2019

tra added inline comments to D68660: [tooling] Teach Tooling to understand compilation with offloading..
Oct 9 2019, 1:48 PM · Restricted Project
tra added inline comments to D68660: [tooling] Teach Tooling to understand compilation with offloading..
Oct 9 2019, 12:04 PM · Restricted Project

Oct 8 2019

tra added a comment to D68578: [HIP] Fix device stub name.

From a source language point of view, the device function comprises the code that is launched as a grid. We need this fact to be present in the symbols used. Only the device function should have a symbol name matching the mangled name of the device function.

Oct 8 2019, 4:36 PM
tra accepted D68665: [HIP] Fix -save-temps.
Oct 8 2019, 3:28 PM · Restricted Project
tra added inline comments to D68652: [driver][hip] Skip bundler if host action is nothing..
Oct 8 2019, 2:15 PM · Restricted Project
tra added a comment to D68663: [clang-offload-bundler] Support `.cui` and `.d`..

Maybe, add a TODO to eventually remove .d .
.cui should probably remain as it's yet another variant of preprocessed output that we allow bundling for C/C++.

Oct 8 2019, 2:05 PM · Restricted Project
tra accepted D68663: [clang-offload-bundler] Support `.cui` and `.d`..
Oct 8 2019, 2:05 PM · Restricted Project
tra added a reviewer for D68660: [tooling] Teach Tooling to understand compilation with offloading.: klimek.

Added Manuel as someone familiar with tooling.

Oct 8 2019, 1:56 PM · Restricted Project
tra added a comment to D68587: [hip] Assume host-only compilation if the final phase is ahead of `backend`..

TL; DR;
+1 to formalizing how we want -M*/-E/-S/-emit-llvm/-fsyntax-only to behave.
OK with -M/-E/-S defaulting to host, and erroring out if applied to multiple sub-compilations.
I'm still convinced that the tooling issue with multiple subcompilations is orthogonal to this change and should be handled in libclang and that -fsyntax-only should not default to one sub-compilation.

Oct 8 2019, 11:53 AM · Restricted Project
tra accepted D68652: [driver][hip] Skip bundler if host action is nothing..
Oct 8 2019, 10:57 AM · Restricted Project

Oct 7 2019

tra added a comment to D68587: [hip] Assume host-only compilation if the final phase is ahead of `backend`..

for most compilation tools, single input and single output are expected. Without assuming -fsyntax-only alone is host-compilation only, that at least run syntax checking twice.

Oct 7 2019, 2:41 PM · Restricted Project
tra added a comment to D68587: [hip] Assume host-only compilation if the final phase is ahead of `backend`..

I'm fine with this for -E/-M,

Oct 7 2019, 12:52 PM · Restricted Project
tra added a comment to D68578: [HIP] Fix device stub name.
In D68578#1697822, @tra wrote:

Could you elaborate on how exactly current implementation does not work?

I would expect the kernel and the stub to be two distinct entities, as far as debugger is concerned. It does have enough information to track each independently (different address, .stub suffix, perhaps knowledge whether it's device or host code). Without the details, it looks to me that this is something that can and should be dealt with in the debugger. I've asked the same question in D63335 but I don't think I've got a good answer.

HIP debugger is a branch of gdb and the changes to support HIP will be upstreamed. When users set break point on a kernel, they intend to set a break point on the real kernel, not the device stub function. The device stub function is only a compiler generated helper function to help launch the kernel. Therefore it should have a different name so that it does not interfere with the symbol resolution of the real kernel.

Oct 7 2019, 10:30 AM
tra added a comment to D68578: [HIP] Fix device stub name.

Could you elaborate on how exactly current implementation does not work?

Oct 7 2019, 9:12 AM
tra added a reviewer for D68578: [HIP] Fix device stub name: rsmith.
Oct 7 2019, 8:56 AM

Oct 3 2019

tra accepted D68394: [HIP] Enable specifying different default gpu arch for HIP/CUDA..
Oct 3 2019, 9:50 AM · Restricted Project, Restricted Project
tra added inline comments to D68300: [HIP] Use option -nogpulib to disable linking device lib.
Oct 3 2019, 9:36 AM · Restricted Project
tra accepted D68300: [HIP] Use option -nogpulib to disable linking device lib.
Oct 3 2019, 9:27 AM · Restricted Project
tra added inline comments to D68394: [HIP] Enable specifying different default gpu arch for HIP/CUDA..
Oct 3 2019, 9:09 AM · Restricted Project, Restricted Project

Oct 2 2019

tra accepted D68284: [HIP] Support -emit-llvm for device compilation.

LGTM. Thank you for fixing this.

Oct 2 2019, 1:51 PM · Restricted Project
tra added inline comments to D68300: [HIP] Use option -nogpulib to disable linking device lib.
Oct 2 2019, 10:18 AM · Restricted Project
tra added a comment to D68284: [HIP] Support -emit-llvm for device compilation.

Could you also add a check for -S w/o -emit-llvm, too ? AFAICT it currently wants to produce a bundle, which is not very helpful.

Oct 2 2019, 10:15 AM · Restricted Project

Oct 1 2019

tra accepted D68284: [HIP] Support -emit-llvm for device compilation.

Does it produce textual IR if used with -S?

Oct 1 2019, 3:48 PM · Restricted Project
tra added a comment to D68300: [HIP] Use option -nogpulib to disable linking device lib.

The functionality looks generic enough. Should it be just flink_builtin_bitcode?

Oct 1 2019, 3:42 PM · Restricted Project

Sep 30 2019

tra added inline comments to D68234: [LegacyPassManager] Deprecate the BasicBlockPass/Manager..
Sep 30 2019, 12:36 PM · Restricted Project