Skip to content

Try making CHPL_ATOMICS=cstdlib the default again #11029

@ronawho

Description

@ronawho

We tried making cstdlib the default for gcc in #4443 but reverted in #4456 because of performance regressions. We tried making cstdlib the default for clang in #4480 but reverted in #4536 because of correctness issues (broken system headers)

That was ~2 years ago, so we should revisit this and see if things have changed.

Happily, it also looks like both Intel and Cray Compiler have added support for C11 atomics!

We did some recent performance testing (mid July 2018) with gcc 8.1 for intrinsics vs. cstdlib and still saw some performance regressions there.

edit current status (March 2019):

We've made good progress with making cstdlib atomics the default:

Under x86, cstdlib atomics reads are significantly faster. This gist has additional details, but on a 24-core machine, using cstdlib results in a 20x serial speedup, and an 800x parallel speedup.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions