Page MenuHomePhabricator

AndreyChurbanov (Andrey Churbanov)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 16 2015, 7:54 AM (283 w, 2 d)

Recent Activity

Tue, Sep 15

AndreyChurbanov accepted D87269: [OpenMP] Introduce GOMP taskwait depend in the runtime.

LGTM

Tue, Sep 15, 4:51 AM · Restricted Project

Mon, Sep 14

AndreyChurbanov added inline comments to D87269: [OpenMP] Introduce GOMP taskwait depend in the runtime.
Mon, Sep 14, 1:11 AM · Restricted Project

Fri, Sep 11

AndreyChurbanov accepted D87167: [OpenMP] Introduce GOMP teams support in runtime.

LGTM

Fri, Sep 11, 3:45 PM · Restricted Project
AndreyChurbanov accepted D84456: [OpenMP] Refactor memory allocation code for easier support for third party memory libraries.

Looks good, besides a few formatting nits.

Fri, Sep 11, 1:31 PM · Restricted Project

Wed, Sep 9

AndreyChurbanov added a comment to D77609: [OpenMP][WIP] Added the support for unshackled task in RTL.

Couple of tests needed to check if the implementation works - one with unshackled task encountered before parallel, and another with unshackled task encountered after / between parallels.

Wed, Sep 9, 7:07 AM · Restricted Project

Wed, Aug 26

AndreyChurbanov committed rG1596ea80fdf3: [OpenMP] Fix import library installation with MinGW (authored by AndreyChurbanov).
[OpenMP] Fix import library installation with MinGW
Wed, Aug 26, 11:56 AM
AndreyChurbanov closed D86552: [OpenMP] Fix import library installation with MinGW.
Wed, Aug 26, 11:56 AM · Restricted Project
AndreyChurbanov added a comment to D86419: fix omp post-generation event statement error on windows.

This change causes standalone Windows build to fail:

Wed, Aug 26, 11:33 AM · Restricted Project
AndreyChurbanov accepted D86552: [OpenMP] Fix import library installation with MinGW.

LGTM

Wed, Aug 26, 10:15 AM · Restricted Project
AndreyChurbanov committed rG09af378f49dc: [OpenMP] Fix build on macOS sdk 10.12 and newer (authored by AndreyChurbanov).
[OpenMP] Fix build on macOS sdk 10.12 and newer
Wed, Aug 26, 6:53 AM
AndreyChurbanov closed D76755: Fix build on macOS sdk 10.12 and newer.
Wed, Aug 26, 6:53 AM · Restricted Project

Mon, Aug 24

AndreyChurbanov accepted D86397: Move special va_list handling to kmp_os.h.

This seems to replace D77333

Mon, Aug 24, 1:21 PM · Restricted Project
AndreyChurbanov committed rGd0f4f5a182d7: [OpenMP] Check if _MSC_VER is defined before using it (authored by AndreyChurbanov).
[OpenMP] Check if _MSC_VER is defined before using it
Mon, Aug 24, 7:51 AM
AndreyChurbanov closed D86448: [OpenMP] Check if `_MSC_VER` is defined before using it.
Mon, Aug 24, 7:51 AM · Restricted Project
AndreyChurbanov accepted D86448: [OpenMP] Check if `_MSC_VER` is defined before using it.

LGTM

Mon, Aug 24, 6:33 AM · Restricted Project

Aug 19 2020

AndreyChurbanov added inline comments to D77609: [OpenMP][WIP] Added the support for unshackled task in RTL.
Aug 19 2020, 7:49 AM · Restricted Project
AndreyChurbanov added inline comments to D77609: [OpenMP][WIP] Added the support for unshackled task in RTL.
Aug 19 2020, 7:26 AM · Restricted Project

Aug 17 2020

AndreyChurbanov added a comment to D84456: [OpenMP] Refactor memory allocation code for easier support for third party memory libraries.

The key difference is:
git diff # gives you short patch
git diff -U999999 # gives you full patch

The full patch should have complete source, as opposed to 3 lines above and below the changes for the short patch.

Ugh, sorry I missed that! Fixed.

Aug 17 2020, 7:46 AM · Restricted Project

Aug 12 2020

AndreyChurbanov added a comment to D84456: [OpenMP] Refactor memory allocation code for easier support for third party memory libraries.

Other than few formatting changes the instructions from the link didn't provide any information about "full diff". Is that related to arcanist somehow? I can try to figure out how to use it if that'll help. :)

I figured if I give you the link to the start of "how to submit a patch" you would follow the links from there. My bad: https://llvm.org/docs/Phabricator.html#phabricator-request-review-web

That's exactly the instructions I followed to submit my patch. If it is lacking some details, I would like to know how to fix it.

Aug 12 2020, 6:14 AM · Restricted Project

Aug 11 2020

AndreyChurbanov added a comment to D84456: [OpenMP] Refactor memory allocation code for easier support for third party memory libraries.

Could you please provide full diff so that more context is available around the changes?

Aug 11 2020, 1:53 PM · Restricted Project

Aug 5 2020

AndreyChurbanov accepted D84472: [OpenMP] Fix releasing of stack memory.

LGTM

Aug 5 2020, 11:44 AM · Restricted Project

Aug 4 2020

AndreyChurbanov committed rG4a04bc899563: [OpenMP] Don't use MSVC workaround with MinGW (authored by AndreyChurbanov).
[OpenMP] Don't use MSVC workaround with MinGW
Aug 4 2020, 8:49 AM
AndreyChurbanov closed D85210: [OpenMP] Don't use MSVC workaround with MinGW.
Aug 4 2020, 8:48 AM · Restricted Project
AndreyChurbanov accepted D85210: [OpenMP] Don't use MSVC workaround with MinGW.

Though I didn't test this as I don't have MinGW environment at hand.

Aug 4 2020, 7:51 AM · Restricted Project

Jul 21 2020

AndreyChurbanov accepted D84148: [openmp] Fix libomp.so copy in multi-config generators..

LGTM

Jul 21 2020, 7:14 AM · Restricted Project
AndreyChurbanov committed rG617787ea77a2: [OpenMP] add missed REQUIRES:ompt for 2 OMPT tests (authored by AndreyChurbanov).
[OpenMP] add missed REQUIRES:ompt for 2 OMPT tests
Jul 21 2020, 6:31 AM
AndreyChurbanov committed rG5a8779169ebc: [OpenMP] libomp build fix without OMPT_SUPPORT (authored by AndreyChurbanov).
[OpenMP] libomp build fix without OMPT_SUPPORT
Jul 21 2020, 6:03 AM

Jul 20 2020

AndreyChurbanov committed rG917f8421591d: [OpenMP] libomp cleanup: add checks of bad memory access (authored by AndreyChurbanov).
[OpenMP] libomp cleanup: add checks of bad memory access
Jul 20 2020, 9:18 PM
AndreyChurbanov committed rG787eb0c637b2: [OpenMP] libomp cleanup: add check of input global tid parameter (authored by AndreyChurbanov).
[OpenMP] libomp cleanup: add check of input global tid parameter
Jul 20 2020, 9:18 PM
AndreyChurbanov closed D84062: [OpenMP] libomp cleanup: add check of input global tid parameter.
Jul 20 2020, 9:18 PM · Restricted Project
AndreyChurbanov added a comment to D84062: [OpenMP] libomp cleanup: add check of input global tid parameter.

OK, I will commit the patch in two parts - one pure gtid checks, another one with other arrays/pointers checks.

Jul 20 2020, 9:16 PM · Restricted Project
AndreyChurbanov added a comment to D84148: [openmp] Fix libomp.so copy in multi-config generators..

I think this export directory structure is a remainder from the original configure based Intel/OpenMP runtime.
@jlpeyton @AndreyChurbanov is this step still needed?

If Intel relies on this export directory, can we disable by default and you enable it for internal purpose?

I think this is historical artifact that can be removed nowadays.
Maybe, to be on the safe side, we can set LIBOMP_COPY_EXPORTS to false by default, as you suggested.
Then later we can remove the copying functionality at all.

Jul 20 2020, 9:16 PM · Restricted Project

Jul 17 2020

AndreyChurbanov committed rG86fb2db49b33: [OpenMP] libomp cleanup: check presence of hwloc objects CORE, PACKAGE (authored by AndreyChurbanov).
[OpenMP] libomp cleanup: check presence of hwloc objects CORE, PACKAGE
Jul 17 2020, 3:16 PM
AndreyChurbanov closed D84065: [OpenMP] libomp cleanup: check presence of hwloc objects CORE, PACKAGE.
Jul 17 2020, 3:16 PM · Restricted Project
AndreyChurbanov updated the diff for D84062: [OpenMP] libomp cleanup: add check of input global tid parameter.

Addressed @tianshilei1992 comment - added check of gtid vs array upper bound.

Jul 17 2020, 3:10 PM · Restricted Project
AndreyChurbanov updated the diff for D84062: [OpenMP] libomp cleanup: add check of input global tid parameter.

Applied same checks to couple more files.

Jul 17 2020, 1:10 PM · Restricted Project
Herald added a reviewer for D84065: [OpenMP] libomp cleanup: check presence of hwloc objects CORE, PACKAGE: jdoerfert.
Jul 17 2020, 11:29 AM · Restricted Project
Herald added a reviewer for D84062: [OpenMP] libomp cleanup: add check of input global tid parameter: jdoerfert.
Jul 17 2020, 11:24 AM · Restricted Project
AndreyChurbanov committed rG62d88a1c79f5: [OpenMP] libomp: add itt notifications for teams construct on host (authored by AndreyChurbanov).
[OpenMP] libomp: add itt notifications for teams construct on host
Jul 17 2020, 11:11 AM
AndreyChurbanov closed D84024: [OpenMP] libomp: add itt notifications for teams construct on host.
Jul 17 2020, 11:10 AM · Restricted Project
AndreyChurbanov retitled D84024: [OpenMP] libomp: add itt notifications for teams construct on host from [OpenMP] libomp: added itt notifications for teams construct on host. to [OpenMP] libomp: add itt notifications for teams construct on host.
Jul 17 2020, 7:04 AM · Restricted Project
Herald added a reviewer for D84024: [OpenMP] libomp: add itt notifications for teams construct on host: jdoerfert.
Jul 17 2020, 6:53 AM · Restricted Project

Jul 16 2020

AndreyChurbanov committed rGffd8f0093119: [openmp] libomp: added itt notifications for task, taskwait, taskgroup (authored by AndreyChurbanov).
[openmp] libomp: added itt notifications for task, taskwait, taskgroup
Jul 16 2020, 4:29 AM
AndreyChurbanov closed D83804: [OpenMP] libomp: added itt notifications for task, taskwait, taskgroup..
Jul 16 2020, 4:29 AM · Restricted Project

Jul 14 2020

Herald added a reviewer for D83804: [OpenMP] libomp: added itt notifications for task, taskwait, taskgroup.: jdoerfert.
Jul 14 2020, 12:08 PM · Restricted Project

Jun 29 2020

AndreyChurbanov committed rG7f3d9cc1c059: [openmp][NFC] Cleanup: guard __kmp_mic_type by KMP_MIC_SUPPORTED macro. (authored by AndreyChurbanov).
[openmp][NFC] Cleanup: guard __kmp_mic_type by KMP_MIC_SUPPORTED macro.
Jun 29 2020, 4:18 AM
AndreyChurbanov closed D82301: [OpenMP][NFC] Cleanup: put two more usages of __kmp_mic_type under KMP_MIC_SUPPORTED macro..
Jun 29 2020, 4:17 AM · Restricted Project

Jun 22 2020

AndreyChurbanov created D82301: [OpenMP][NFC] Cleanup: put two more usages of __kmp_mic_type under KMP_MIC_SUPPORTED macro..
Jun 22 2020, 7:30 AM · Restricted Project

Jun 14 2020

AndreyChurbanov accepted D81804: [OpenMP][Tests] fix data race in a OpenMP runtime test.

LGTM

Jun 14 2020, 1:52 PM · Restricted Project

Jun 12 2020

AndreyChurbanov accepted D81497: [OpenMP] support alloc of serialized tasks.

LGTM

Jun 12 2020, 6:26 AM · Restricted Project

Jun 10 2020

AndreyChurbanov added inline comments to D81497: [OpenMP] support alloc of serialized tasks.
Jun 10 2020, 12:46 PM · Restricted Project

Jun 4 2020

AndreyChurbanov committed rGabe64360ae13: [openmp] Fixed nonmonotonic schedule implementation. (authored by AndreyChurbanov).
[openmp] Fixed nonmonotonic schedule implementation.
Jun 4 2020, 5:58 AM
AndreyChurbanov closed D80942: [openmp] Fixed nonmonotonic schedule implementation..
Jun 4 2020, 5:58 AM · Restricted Project

Jun 1 2020

AndreyChurbanov created D80942: [openmp] Fixed nonmonotonic schedule implementation..
Jun 1 2020, 11:52 AM · Restricted Project
AndreyChurbanov committed rG5e111c5df8ef: [openmp] Fixed taskloop recursive splitting so that taskloop tasks have same… (authored by AndreyChurbanov).
[openmp] Fixed taskloop recursive splitting so that taskloop tasks have same…
Jun 1 2020, 8:01 AM
AndreyChurbanov closed D80577: [OpenMP] Fixed taskloop recursive splitting so that taskloop tasks have same parent tasks..
Jun 1 2020, 8:01 AM · Restricted Project
AndreyChurbanov updated the summary of D80577: [OpenMP] Fixed taskloop recursive splitting so that taskloop tasks have same parent tasks..
Jun 1 2020, 8:00 AM · Restricted Project

May 27 2020

AndreyChurbanov added inline comments to D80222: Replace Clang's createRuntimeFunction with the definitions in OMPKinds.def.
May 27 2020, 11:56 AM · Restricted Project, Restricted Project, Restricted Project

May 26 2020

AndreyChurbanov created D80577: [OpenMP] Fixed taskloop recursive splitting so that taskloop tasks have same parent tasks..
May 26 2020, 10:49 AM · Restricted Project

May 25 2020

AndreyChurbanov accepted D80480: [OpenMP] Fix a race in task queue reallocation.

LGTM

May 25 2020, 1:01 AM · Restricted Project

May 24 2020

AndreyChurbanov added a comment to D80480: [OpenMP] Fix a race in task queue reallocation.

Also may worth adding the test just in case.

May 24 2020, 1:20 PM · Restricted Project
AndreyChurbanov added inline comments to D80480: [OpenMP] Fix a race in task queue reallocation.
May 24 2020, 1:20 PM · Restricted Project

May 18 2020

AndreyChurbanov committed rG57d8b8d6f0b9: [openmp] Fixed hang if detached task was serialized. (authored by AndreyChurbanov).
[openmp] Fixed hang if detached task was serialized.
May 18 2020, 5:53 AM
AndreyChurbanov closed D79944: [OpenMP] Fix for https://bugs.llvm.org/show_bug.cgi?id=45904..
May 18 2020, 5:53 AM · Restricted Project
AndreyChurbanov added a comment to D79944: [OpenMP] Fix for https://bugs.llvm.org/show_bug.cgi?id=45904..

Does -fopenmp-version work with the Intel Compiler? How will this work if the GCC eventually gets support for OpenMP 5.0?

May 18 2020, 5:52 AM · Restricted Project
AndreyChurbanov updated the diff for D79944: [OpenMP] Fix for https://bugs.llvm.org/show_bug.cgi?id=45904..

Comments addressed.

May 18 2020, 5:20 AM · Restricted Project

May 14 2020

AndreyChurbanov retitled D79944: [OpenMP] Fix for https://bugs.llvm.org/show_bug.cgi?id=45904. from Fix for https://bugs.llvm.org/show_bug.cgi?id=45904. to [OpenMP] Fix for https://bugs.llvm.org/show_bug.cgi?id=45904..
May 14 2020, 8:38 AM · Restricted Project
AndreyChurbanov created D79944: [OpenMP] Fix for https://bugs.llvm.org/show_bug.cgi?id=45904..
May 14 2020, 8:38 AM · Restricted Project

May 12 2020

AndreyChurbanov added inline comments to D79702: [OpenMP] Fix race condition in the completion/freeing of detached tasks.
May 12 2020, 10:11 AM · Restricted Project
AndreyChurbanov accepted D79702: [OpenMP] Fix race condition in the completion/freeing of detached tasks.

Joachim, thanks for taking care of this bug.

May 12 2020, 7:29 AM · Restricted Project

Apr 15 2020

AndreyChurbanov accepted D76755: Fix build on macOS sdk 10.12 and newer.

LGTM

Apr 15 2020, 10:56 AM · Restricted Project

Apr 13 2020

AndreyChurbanov added a comment to D77603: [OpenMP] Sync writes to child thread's data before reduction.

Should I also add memory barriers to __kmp_linear_barrier_gather_template, __kmp_tree_barrier_gather, and __kmp_hierarchical_barrier_gather? They seem to suffer from the same problem on systems with weak memory order (but I don't have a handy test case to prove it).

Apr 13 2020, 1:40 PM · Restricted Project
AndreyChurbanov accepted D77603: [OpenMP] Sync writes to child thread's data before reduction.

LGTM

Apr 13 2020, 10:47 AM · Restricted Project
AndreyChurbanov requested changes to D77603: [OpenMP] Sync writes to child thread's data before reduction.

Sorry, found one more issue.

Apr 13 2020, 5:52 AM · Restricted Project
AndreyChurbanov accepted D77603: [OpenMP] Sync writes to child thread's data before reduction.

May worth waiting for a day or two for others' comments, up to you.

Apr 13 2020, 5:20 AM · Restricted Project

Apr 8 2020

AndreyChurbanov added a comment to D77603: [OpenMP] Sync writes to child thread's data before reduction.

I don't see paired memory barrier in a child thread between assigning th.th_local.reduce_data in __kmp_barrier_template() and releasing b_arrived barrier flag that frees parent to go to reduce data. So it might be that the problem could just become lesser probable. Should paired KMP_MB be added after the reduce_data assignment? Or does atomic releasing of a flag serves as a memory barrier? Then my assumption is wrong and second MB is not needed.

Apr 8 2020, 2:42 PM · Restricted Project
AndreyChurbanov added a comment to D77609: [OpenMP][WIP] Added the support for unshackled task in RTL.

Could you please tell which part is monitor thread?

Code under "#if KMP_USE_MONITOR" implements monitor thread which used earlier to control behavior of worker threads. Now it is not used by default, and worker threads follow requested wait policy themselves.

Apr 8 2020, 7:02 AM · Restricted Project

Apr 7 2020

AndreyChurbanov added a comment to D77609: [OpenMP][WIP] Added the support for unshackled task in RTL.

The idea looks feasible to me in general.

Apr 7 2020, 1:03 PM · Restricted Project

Apr 2 2020

AndreyChurbanov added a comment to D77333: OpenMP: Support FreeBSD on AArch64..

Could you please run clang-format on the changes (new lines are too long). Thanks.

Apr 2 2020, 1:33 PM · Restricted Project

Mar 25 2020

AndreyChurbanov added inline comments to D76755: Fix build on macOS sdk 10.12 and newer.
Mar 25 2020, 6:59 AM · Restricted Project

Mar 23 2020

AndreyChurbanov committed rGae044467ede1: [openmp][runtime] Fixed hang for explicit task inside a taskloop. (authored by AndreyChurbanov).
[openmp][runtime] Fixed hang for explicit task inside a taskloop.
Mar 23 2020, 10:23 AM
AndreyChurbanov closed D75673: [runtime] Fixed hang when explicit task created inside a taskloop..
Mar 23 2020, 10:22 AM · Restricted Project

Mar 18 2020

AndreyChurbanov updated the diff for D75673: [runtime] Fixed hang when explicit task created inside a taskloop..

Adde check of task tiedness, and comment on why this is needed.

Mar 18 2020, 8:42 AM · Restricted Project
AndreyChurbanov added a comment to D62485: New implementation of OpenMP 5.0 detached tasks..

Shall the compiler generate the call of omp_fulfill_event after __kmpc_omp_task call? Or is it a user code?

Mar 18 2020, 2:08 AM · Restricted Project, Restricted Project

Mar 5 2020

AndreyChurbanov created D75673: [runtime] Fixed hang when explicit task created inside a taskloop..
Mar 5 2020, 4:24 AM · Restricted Project

Mar 4 2020

AndreyChurbanov committed rG95df6747cf19: [openmp] OpenMP 5.1 omp_display_env function implementation. (authored by AndreyChurbanov).
[openmp] OpenMP 5.1 omp_display_env function implementation.
Mar 4 2020, 7:21 AM
AndreyChurbanov closed D74956: OpenMP 5.1 omp_display_env function implementation..
Mar 4 2020, 7:20 AM · Restricted Project

Mar 3 2020

AndreyChurbanov updated the diff for D74956: OpenMP 5.1 omp_display_env function implementation..

Addressed comments: removed "#if 0" code block; added basic checks for the test.

Mar 3 2020, 11:57 AM · Restricted Project

Mar 2 2020

AndreyChurbanov added a comment to D74956: OpenMP 5.1 omp_display_env function implementation..

We can have filechek tests, right? We should verify a bit more than the existence of a function that will return.

Mar 2 2020, 11:36 AM · Restricted Project

Feb 21 2020

AndreyChurbanov updated the diff for D74956: OpenMP 5.1 omp_display_env function implementation..

Addressed Kelvin's comment.

Feb 21 2020, 7:27 AM · Restricted Project
AndreyChurbanov updated the diff for D74956: OpenMP 5.1 omp_display_env function implementation..

Added full context.
Also added (missed) "value" attribute to Fortran interfaces.

Feb 21 2020, 5:29 AM · Restricted Project
AndreyChurbanov created D74956: OpenMP 5.1 omp_display_env function implementation..
Feb 21 2020, 4:53 AM · Restricted Project
AndreyChurbanov accepted D73922: [OpenMP][runtime] Add GOMP 5.0 loop entry points.

LGTM

Feb 21 2020, 4:26 AM · Restricted Project
AndreyChurbanov accepted D74921: Detect and disable openmp tests that require multiple hardware processor to run when only one core is available..

We may need to also loose the internal tough limit of number of threads in the teams construct, which is currently not convenient to overcome. But this needs time to work on..

Feb 21 2020, 3:50 AM · Restricted Project

Jan 23 2020

AndreyChurbanov accepted D73248: [OpenMP] change OMP_ATK_* and OMP_ATV_* enum to lowercase [NFC].

LGTM

Jan 23 2020, 1:16 AM · Restricted Project

Jan 20 2020

AndreyChurbanov added inline comments to D72058: [OpenMP] Enabling CPU affinity on Darwin platform proposal.
Jan 20 2020, 11:31 AM · Restricted Project
AndreyChurbanov added a comment to D72132: [OpenMP] affinity little fix for FreeBSD.

If possible, please also fix typo in FreeBSD-related code on line 289 of z_Linux_util.cpp (< is used instead of comma).

Jan 20 2020, 8:42 AM · Restricted Project

Jan 15 2020

AndreyChurbanov added a comment to D71989: [OpenMP][IRBuilder][WIP] Prototype `omp task` support.

Having a copy function per type allows us to reuse it, otherwise we have one copy function per static task location (at worst). Either works for me I think.

I also would be OK with either option.
But note that using per-type functions will require more additions to the interface, like:

(..., num_objects, array_of_copy_wrappers, array_of_desctuctor_wrappers, array_of_obj_offsets).

Then the library can iterate over objects to copy-construct them, then iterate to destroy them after the task is complete. Without any possibility of inlining of any wrappers.

Jan 15 2020, 10:22 AM · Restricted Project, Restricted Project

Jan 14 2020

AndreyChurbanov added a comment to D71989: [OpenMP][IRBuilder][WIP] Prototype `omp task` support.

the task create and task issue step are
conceptually not separated anymore as it is

I don't think this can work reliably. Because not all C++ objects can be mem-copied.
E.g. an object can keep its own address or reference, and mem-copy will make it broken.
This could be fixed by generating (optional) thunk routine which would create all needed objects
in the library-allocated space, and similar routine which would destroy all the created objects.

Jan 14 2020, 4:00 AM · Restricted Project, Restricted Project

Nov 27 2019

AndreyChurbanov committed rGbd2fb41c2dd5: [openmp] Fixed nonmonotonic schedule when #threads > #chunks in a loop. (authored by AndreyChurbanov).
[openmp] Fixed nonmonotonic schedule when #threads > #chunks in a loop.
Nov 27 2019, 4:29 AM