Skip to content

Discover atomic support for __int128_t.#587

Merged
bosilca merged 3 commits intoICLDisco:masterfrom
bosilca:topic/cmake_using_gcc_instead_cc
Nov 6, 2023
Merged

Discover atomic support for __int128_t.#587
bosilca merged 3 commits intoICLDisco:masterfrom
bosilca:topic/cmake_using_gcc_instead_cc

Conversation

@bosilca
Copy link
Copy Markdown
Contributor

@bosilca bosilca commented Oct 26, 2023

Our detection of atomic operations on 128 bits was incorrect, resulting in a conflict with compilers with proper support for _Atomic. The conflict arise from the fact that our detection thought that 128 bits atomic lock-less operations were available, but the compiler decided not to use them in the lifo (even with the correct compilation flags).

Fixes #586.

@bosilca bosilca requested a review from a team October 26, 2023 17:05
@bosilca bosilca force-pushed the topic/cmake_using_gcc_instead_cc branch from 6395698 to df64e8e Compare October 26, 2023 17:20
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
@bosilca bosilca force-pushed the topic/cmake_using_gcc_instead_cc branch from df64e8e to 222faab Compare October 26, 2023 17:25
@abouteiller
Copy link
Copy Markdown
Contributor

Looks like that didn't help

@bosilca bosilca force-pushed the topic/cmake_using_gcc_instead_cc branch from 39f2506 to b2e54d4 Compare November 4, 2023 15:40
@bosilca bosilca changed the title Always use gcc in the CI (instead of cc). Discover atomic support for __int128_t. Nov 4, 2023
@bosilca bosilca force-pushed the topic/cmake_using_gcc_instead_cc branch from b9ef3e7 to c69df0f Compare November 4, 2023 16:51
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
Comment thread cmake_modules/CheckAtomicIntrinsic.cmake Outdated
@bosilca bosilca force-pushed the topic/cmake_using_gcc_instead_cc branch from c69df0f to 9993a2f Compare November 4, 2023 22:21
Comment thread parsec/class/lifo.h
Copy link
Copy Markdown
Contributor

@devreal devreal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor spelling fixes.

Comment thread cmake_modules/CheckAtomicIntrinsic.cmake Outdated
Comment thread cmake_modules/CheckAtomicIntrinsic.cmake Outdated
Comment thread cmake_modules/CheckAtomicIntrinsic.cmake Outdated
Comment thread cmake_modules/CheckAtomicIntrinsic.cmake Outdated
Use modern detection macros/generics (atomic_is_lock_free and
__has_builtin) to check if atomic operations are possible without locks
on __int128_t. If not, fall back to a in-house lock version of the LIFO
(without the use of _Atomic types).

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
@bosilca bosilca force-pushed the topic/cmake_using_gcc_instead_cc branch from 9993a2f to 79d426e Compare November 6, 2023 18:56
Copy link
Copy Markdown
Contributor

@devreal devreal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@bosilca bosilca merged commit 92da8b6 into ICLDisco:master Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lifo ctest fails

4 participants