Page MenuHomePhabricator

ABataev (Alexey Bataev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 31 2013, 4:40 AM (306 w, 3 d)

Recent Activity

Fri, Dec 14

ABataev committed rC349192: [OPENMP][NVPTX]Improved interwarp copy function..
[OPENMP][NVPTX]Improved interwarp copy function.
Fri, Dec 14, 1:04 PM
ABataev committed rL349192: [OPENMP][NVPTX]Improved interwarp copy function..
[OPENMP][NVPTX]Improved interwarp copy function.
Fri, Dec 14, 1:04 PM

Thu, Dec 13

ABataev accepted D55615: [CostModel][X86] Don't count 2 shuffles on the last level of a pairwise arithmetic or min/max reduction.

LG

Thu, Dec 13, 6:34 AM

Wed, Dec 12

ABataev committed rL348930: [CUDA][OPENMP][NVPTX]Improve logic of the debug info support..
[CUDA][OPENMP][NVPTX]Improve logic of the debug info support.
Wed, Dec 12, 6:57 AM
ABataev committed rC348930: [CUDA][OPENMP][NVPTX]Improve logic of the debug info support..
[CUDA][OPENMP][NVPTX]Improve logic of the debug info support.
Wed, Dec 12, 6:57 AM
ABataev closed D51554: [CUDA][OPENMP][NVPTX]Improve logic of the debug info support..
Wed, Dec 12, 6:57 AM
ABataev added inline comments to D55590: [CostModel][X86] Don't count 2 shuffles on the last level of a pairwise arithmetic or min/max reduction.
Wed, Dec 12, 6:43 AM

Mon, Dec 10

ABataev added a reviewer for D55483: Introduce the callback attribute and emit !callback metadata: aaron.ballman.
Mon, Dec 10, 9:05 AM
ABataev added a comment to D55452: [CostModel][X86] Teach getArithmeticReductionCost to properly cost the shuffles needed for a PairWise reduction before we reach a legal type. And remove one shuffle from the end of the reduction..

I don't see a single test, where you could run into the described problem. And I think this patch should be split into 2 parts: 1 for the first part with the types and another one for extra cost.
Also, I think that the problem with the incorrect cost for X86 is the problem of the X86 TTI implementation rather than the problem of the generic solution.

Mon, Dec 10, 9:05 AM
ABataev committed rL348772: [OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form..
[OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form.
Mon, Dec 10, 8:54 AM
ABataev committed rOMP348772: [OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form..
[OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form.
Mon, Dec 10, 8:54 AM
ABataev closed D55514: [OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form..
Mon, Dec 10, 8:53 AM
ABataev created D55514: [OPENMP][NVPTX]Revert __kmpc_shuffle_int64 to its original form..
Mon, Dec 10, 8:41 AM
ABataev added inline comments to D55395: Re-order content in OMPDeclareReductionDecl dump.
Mon, Dec 10, 8:26 AM
ABataev committed rL348758: [OPENMP][NVPTX]Enable fast shuffles on 64bit values only if CUDA >= 9..
[OPENMP][NVPTX]Enable fast shuffles on 64bit values only if CUDA >= 9.
Mon, Dec 10, 6:32 AM
ABataev committed rOMP348758: [OPENMP][NVPTX]Enable fast shuffles on 64bit values only if CUDA >= 9..
[OPENMP][NVPTX]Enable fast shuffles on 64bit values only if CUDA >= 9.
Mon, Dec 10, 6:32 AM
ABataev closed D55440: [OPENMP][NVPTX]Enable fast shuffles on 64bit values only if CUDA >= 9..
Mon, Dec 10, 6:32 AM

Fri, Dec 7

ABataev created D55440: [OPENMP][NVPTX]Enable fast shuffles on 64bit values only if CUDA >= 9..
Fri, Dec 7, 9:11 AM
ABataev added inline comments to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..
Fri, Dec 7, 8:41 AM
ABataev committed rOMP348606: [OPENMP][NVPTX]Save registers for optimized builds with enabled logging..
[OPENMP][NVPTX]Save registers for optimized builds with enabled logging.
Fri, Dec 7, 8:13 AM
ABataev committed rL348606: [OPENMP][NVPTX]Save registers for optimized builds with enabled logging..
[OPENMP][NVPTX]Save registers for optimized builds with enabled logging.
Fri, Dec 7, 8:11 AM
ABataev closed D55436: [OPENMP][NVPTX]Save registers for optimized builds with enabled logging..
Fri, Dec 7, 8:11 AM
ABataev created D55436: [OPENMP][NVPTX]Save registers for optimized builds with enabled logging..
Fri, Dec 7, 7:12 AM
ABataev added a comment to D55395: Re-order content in OMPDeclareReductionDecl dump.

This is wrong, the original implementation is correct and should not be changed.

The original implementation looks pretty clearly wrong to me, but I think this is wrong too. It looks like what was intended here was probably to label the two children as "combiner" and "initializer" respectively. As-is, the "combiner" text on the OMPDeclareReductionDecl line means nothing at all.

Fri, Dec 7, 7:03 AM

Thu, Dec 6

ABataev requested changes to D55395: Re-order content in OMPDeclareReductionDecl dump.

This is wrong, the original implementation is correct and should not be changed.

Thu, Dec 6, 4:04 PM
ABataev added inline comments to D55379: [OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64 function..
Thu, Dec 6, 11:55 AM
ABataev committed rL348521: [OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64….
[OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64…
Thu, Dec 6, 11:49 AM
ABataev committed rOMP348521: [OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64….
[OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64…
Thu, Dec 6, 11:49 AM
ABataev closed D55379: [OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64 function..
Thu, Dec 6, 11:49 AM
ABataev created D55379: [OPENMP][NVPTX]Correct type casting for printf args + simplified shfl64 function..
Thu, Dec 6, 11:35 AM
ABataev updated the diff for D45784: [DEBUG_INFO, NVPTX] Fix relocation info..

Updated to the latest version.

Thu, Dec 6, 9:30 AM
ABataev updated the diff for D51554: [CUDA][OPENMP][NVPTX]Improve logic of the debug info support..

Reworked according to the latest comments from Eric.

Thu, Dec 6, 9:11 AM
ABataev added inline comments to D51554: [CUDA][OPENMP][NVPTX]Improve logic of the debug info support..
Thu, Dec 6, 9:02 AM
ABataev committed rL348497: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives….
[DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives…
Thu, Dec 6, 8:28 AM
ABataev closed D46061: [DEBUGINFO, NVPTX] Disable emission of ',debug' option if only debug directives are allowed..
Thu, Dec 6, 8:28 AM
ABataev committed rL348495: [DEBUGINFO, NVPTX]Emit last debugging directives..
[DEBUGINFO, NVPTX]Emit last debugging directives.
Thu, Dec 6, 8:05 AM
ABataev closed D54320: [DEBUGINFO, NVPTX]Emit last debugging directives..
Thu, Dec 6, 8:05 AM
ABataev committed rOMP348491: [OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block..
[OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block.
Thu, Dec 6, 7:41 AM
ABataev committed rC348492: [OPENMP][NVPTX] Fix globalization of the mapped array sections..
[OPENMP][NVPTX] Fix globalization of the mapped array sections.
Thu, Dec 6, 7:38 AM
ABataev committed rL348492: [OPENMP][NVPTX] Fix globalization of the mapped array sections..
[OPENMP][NVPTX] Fix globalization of the mapped array sections.
Thu, Dec 6, 7:38 AM
ABataev committed rL348491: [OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block..
[OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block.
Thu, Dec 6, 7:31 AM
ABataev closed D55370: [OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block..
Thu, Dec 6, 7:31 AM
ABataev created D55370: [OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block..
Thu, Dec 6, 7:16 AM

Tue, Dec 4

ABataev added a comment to D55281: debuginfo: Use symbol difference for CU length to simplify assembly reading/editing.

This change is not compatible with NVPTX, it does not support any of the label arithmetics.

Tue, Dec 4, 10:14 AM
ABataev committed rL348272: [OPENMP][NVPTX]Fixed emission of the critical region..
[OPENMP][NVPTX]Fixed emission of the critical region.
Tue, Dec 4, 7:29 AM
ABataev committed rC348272: [OPENMP][NVPTX]Fixed emission of the critical region..
[OPENMP][NVPTX]Fixed emission of the critical region.
Tue, Dec 4, 7:29 AM
ABataev committed rL348271: [OPENMP][NVPTX]Mark __kmpc_barrier functions as convergent..
[OPENMP][NVPTX]Mark __kmpc_barrier functions as convergent.
Tue, Dec 4, 7:06 AM
ABataev committed rC348271: [OPENMP][NVPTX]Mark __kmpc_barrier functions as convergent..
[OPENMP][NVPTX]Mark __kmpc_barrier functions as convergent.
Tue, Dec 4, 7:06 AM

Mon, Dec 3

ABataev accepted D55219: [OpenMP][libomptarget] Flush intermediate values during team reduction .

LG

Mon, Dec 3, 7:17 AM

Fri, Nov 30

ABataev committed rOMP348003: [OPENMP][NVPTX]Make runtime compatible with the original runtime..
[OPENMP][NVPTX]Make runtime compatible with the original runtime.
Fri, Nov 30, 8:57 AM
ABataev committed rL348003: [OPENMP][NVPTX]Make runtime compatible with the original runtime..
[OPENMP][NVPTX]Make runtime compatible with the original runtime.
Fri, Nov 30, 8:55 AM
ABataev closed D55130: [OPENMP][NVPTX]Make runtime compatible with the original runtime..
Fri, Nov 30, 8:55 AM
ABataev created D55130: [OPENMP][NVPTX]Make runtime compatible with the original runtime..
Fri, Nov 30, 8:31 AM
ABataev committed rL347997: [SLP]PR39774: Update references of the replaced external instructions..
[SLP]PR39774: Update references of the replaced external instructions.
Fri, Nov 30, 7:17 AM
ABataev closed D55017: [SLP]PR39774: Update references of the replaced external instructions..
Fri, Nov 30, 7:17 AM

Thu, Nov 29

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

After this patch, omp_get_num_devices() seems to wrongly return 0 even when devices are present.

OK, on my internal build these are showing up as weak symbols with nm. But on my LLVM build, not. Will look into the LLVM build to make sure it allows for weak attribute.

I was wrong -- here are the weak symbols that are showing up in libomp:

nm runtime/exports/lin_32e.50.ompt.optional/lib/libomp.so | grep " W "
00000000000a4540 W omp_get_device_num
00000000000a5dd0 W omp_get_device_num_
00000000000a3f20 W omp_get_initial_device
00000000000a57c0 W omp_get_initial_device_
00000000000a3ee0 W omp_get_num_devices@@VERSION
00000000000a5780 W omp_get_num_devices_@@VERSION
00000000000a3f10 W omp_is_initial_device@@VERSION
00000000000a57b0 W omp_is_initial_device_@@VERSION
00000000000a7d20 W ompt_start_tool

So, it looks like weak symbols work better with static libraries. For dynamic, try linking libomptarget first.

Thu, Nov 29, 3:49 PM · Restricted Project
ABataev added a comment to D54342: Add omp_get_device_num() and update several other device API functions.

This commit conflicts with libomptarget. libomptarget have the same functions and the code may be confused during execution which version of the functions should be executed. This conflict should be resolved somehow. Before that, I think, this patch must be reverted.

Thu, Nov 29, 1:40 PM · Restricted Project
ABataev committed rL347919: [OPENMP][NVPTX]Call get __kmpc_global_thread_num in worker after.
[OPENMP][NVPTX]Call get __kmpc_global_thread_num in worker after
Thu, Nov 29, 1:24 PM
ABataev committed rC347919: [OPENMP][NVPTX]Call get __kmpc_global_thread_num in worker after.
[OPENMP][NVPTX]Call get __kmpc_global_thread_num in worker after
Thu, Nov 29, 1:24 PM
ABataev accepted D54970: [OpenMP] Add a new version of the SPMD deinit kernel function.

LG

Thu, Nov 29, 9:13 AM
ABataev updated the diff for D55017: [SLP]PR39774: Update references of the replaced external instructions..

Added the new test run independent from the previous one.

Thu, Nov 29, 6:57 AM
ABataev added a comment to D55017: [SLP]PR39774: Update references of the replaced external instructions..

Again, we'll need another reviewer to approve this...but let me check my understanding: I think this bug is independent of the fix from D54955? So is it possible to come up with a smaller test case to demonstrate that or would we always hit the previous ReductionRoot problem first?

Thu, Nov 29, 6:53 AM

Wed, Nov 28

ABataev created D55017: [SLP]PR39774: Update references of the replaced external instructions..
Wed, Nov 28, 1:01 PM
ABataev committed rL347793: [OPENMP]Fix emission of the target regions in virtual functions..
[OPENMP]Fix emission of the target regions in virtual functions.
Wed, Nov 28, 11:03 AM
ABataev committed rC347793: [OPENMP]Fix emission of the target regions in virtual functions..
[OPENMP]Fix emission of the target regions in virtual functions.
Wed, Nov 28, 11:03 AM
ABataev committed rL347759: [SLP]Fix PR39774: Set ReductionRoot if the original instruction is vectorized..
[SLP]Fix PR39774: Set ReductionRoot if the original instruction is vectorized.
Wed, Nov 28, 6:37 AM
ABataev closed D54955: [SLP]Fix PR39774: Set ReductionRoot if the original instruction is vectorized..
Wed, Nov 28, 6:37 AM

Tue, Nov 27

ABataev added inline comments to D54967: [OPENMP][NVPTX]Basic support for reductions across the teams..
Tue, Nov 27, 2:50 PM
ABataev committed rL347715: [OPENMP][NVPTX]Basic support for reductions across the teams..
[OPENMP][NVPTX]Basic support for reductions across the teams.
Tue, Nov 27, 1:27 PM
ABataev committed rC347715: [OPENMP][NVPTX]Basic support for reductions across the teams..
[OPENMP][NVPTX]Basic support for reductions across the teams.
Tue, Nov 27, 1:27 PM
ABataev added inline comments to D54970: [OpenMP] Add a new version of the SPMD deinit kernel function.
Tue, Nov 27, 1:22 PM
ABataev accepted D54969: [OpenMP][libomptarget] Add new version of SPMD deinit kernel function with argument.

LG

Tue, Nov 27, 1:20 PM
ABataev committed rOMP347710: [OPENMP][NVPTX]Basic support for reductions across the teams..
[OPENMP][NVPTX]Basic support for reductions across the teams.
Tue, Nov 27, 1:10 PM
ABataev committed rL347710: [OPENMP][NVPTX]Basic support for reductions across the teams..
[OPENMP][NVPTX]Basic support for reductions across the teams.
Tue, Nov 27, 1:10 PM
ABataev closed D54967: [OPENMP][NVPTX]Basic support for reductions across the teams..
Tue, Nov 27, 1:09 PM
ABataev added inline comments to D54969: [OpenMP][libomptarget] Add new version of SPMD deinit kernel function with argument.
Tue, Nov 27, 1:07 PM
ABataev created D54967: [OPENMP][NVPTX]Basic support for reductions across the teams..
Tue, Nov 27, 12:45 PM
ABataev added a comment to D54955: [SLP]Fix PR39774: Set ReductionRoot if the original instruction is vectorized..

This makes sense to me, but I'm not very familiar with SLP, so hopefully we can get a 2nd opinion.

By making the reduction root externally used, does that mean that some other pass is now responsible for deleting it (assuming it is not actually externally used) where before SLP would delete it?

Tue, Nov 27, 11:30 AM
ABataev accepted D54960: [OpenMP][libomptarget] Refactor SPMD and runtime requirement checking.

LG

Tue, Nov 27, 11:20 AM
ABataev added inline comments to D54960: [OpenMP][libomptarget] Refactor SPMD and runtime requirement checking.
Tue, Nov 27, 11:10 AM
ABataev accepted D54958: [OPENMP] remove redundant ColonExpected flag in ParseOpenMP.cpp - (NFC).

LG

Tue, Nov 27, 10:54 AM · Restricted Project
ABataev created D54955: [SLP]Fix PR39774: Set ReductionRoot if the original instruction is vectorized..
Tue, Nov 27, 8:40 AM

Mon, Nov 26

ABataev committed rC347583: [OPENMP][NVPTX]Emit default locations with the correct Exec|Runtime.
[OPENMP][NVPTX]Emit default locations with the correct Exec|Runtime
Mon, Nov 26, 10:40 AM
ABataev committed rL347583: [OPENMP][NVPTX]Emit default locations with the correct Exec|Runtime.
[OPENMP][NVPTX]Emit default locations with the correct Exec|Runtime
Mon, Nov 26, 10:40 AM

Wed, Nov 21

ABataev committed rL347425: [OPENMP][NVPTX]Emit default locations as constant with undefined mode..
[OPENMP][NVPTX]Emit default locations as constant with undefined mode.
Wed, Nov 21, 1:07 PM
ABataev committed rC347425: [OPENMP][NVPTX]Emit default locations as constant with undefined mode..
[OPENMP][NVPTX]Emit default locations as constant with undefined mode.
Wed, Nov 21, 1:07 PM
ABataev committed rL347409: [OPENMP]Fix handling of the LCVs in loop-based directives..
[OPENMP]Fix handling of the LCVs in loop-based directives.
Wed, Nov 21, 11:44 AM
ABataev committed rC347409: [OPENMP]Fix handling of the LCVs in loop-based directives..
[OPENMP]Fix handling of the LCVs in loop-based directives.
Wed, Nov 21, 11:44 AM

Tue, Nov 20

ABataev committed rOMP347342: [OPENMP][NVPTX]Improved lock/critical constructs..
[OPENMP][NVPTX]Improved lock/critical constructs.
Tue, Nov 20, 12:49 PM
ABataev added a comment to D54764: [OpenMP] Update CHECK-DAG usage in for_codegen.cpp.

I'm fine with the patch,

Thanks for the quick reviews. I'll push soon.

the original intention was to handle a possible situation where we may have several debug locations with the same line numbers.

We were afraid of that. If we find we really need this use case, we'll have to find a nicer way to express it. For reference, this use case is discussed under S1 here:

http://lists.llvm.org/pipermail/llvm-dev/2018-May/123258.html

Tue, Nov 20, 12:28 PM
ABataev committed rL347342: [OPENMP][NVPTX]Improved lock/critical constructs..
[OPENMP][NVPTX]Improved lock/critical constructs.
Tue, Nov 20, 12:22 PM
ABataev closed D54766: [OPENMP][NVPTX]Improved lock/critical constructs, NFC..
Tue, Nov 20, 12:22 PM
ABataev accepted D54765: [OpenMP] Update CHECK-DAG usage in target_parallel_codegen.cpp.

LG

Tue, Nov 20, 12:05 PM
ABataev accepted D54764: [OpenMP] Update CHECK-DAG usage in for_codegen.cpp.

I'm fine with the patch, the original intention was to handle a possible situation where we may have several debug locations with the same line numbers.

Tue, Nov 20, 12:00 PM
ABataev created D54766: [OPENMP][NVPTX]Improved lock/critical constructs, NFC..
Tue, Nov 20, 11:57 AM

Mon, Nov 19

ABataev accepted D54708: [OPENMP] NFC: Refactor code for parsing omp declare target directive and its clauses.

LG, mark as NFC

Mon, Nov 19, 9:16 AM · Restricted Project, Restricted Project

Fri, Nov 16

ABataev committed rL347096: [OPENMP]Fix PR39694: do not capture `this` in non-`this` region..
[OPENMP]Fix PR39694: do not capture `this` in non-`this` region.
Fri, Nov 16, 1:17 PM
ABataev committed rC347096: [OPENMP]Fix PR39694: do not capture `this` in non-`this` region..
[OPENMP]Fix PR39694: do not capture `this` in non-`this` region.
Fri, Nov 16, 1:17 PM
ABataev committed rL347081: [OPENMP][NVPTX]Emit correct reduction code for teams/parallel.
[OPENMP][NVPTX]Emit correct reduction code for teams/parallel
Fri, Nov 16, 11:41 AM
ABataev committed rC347081: [OPENMP][NVPTX]Emit correct reduction code for teams/parallel.
[OPENMP][NVPTX]Emit correct reduction code for teams/parallel
Fri, Nov 16, 11:41 AM