Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecating CHPL_ATOMICS=locks #25762

Open
jabraham17 opened this issue Aug 14, 2024 · 2 comments
Open

Deprecating CHPL_ATOMICS=locks #25762

jabraham17 opened this issue Aug 14, 2024 · 2 comments

Comments

@jabraham17
Copy link
Member

The Chapel runtime currently maintains 3 different memory layers (CHPL_ATOMICS)cstdlib, intrinsics, and locks. cstdlib is the preferred and default option in most situations, while intrinsics and locks are both portability options for when the backend does not support C11 atomics. In nearly all cases, using intrinsics is the better portability option. The 2 exceptions that I know of are when using the PGI compiler and when using raspberry pi (specifically 32-bit raspberry pi). intrinsics is also usually more performant than locks.

Do we still need to support locks? We do have 2 distinct cases where locks is the only viable option, but recent testing has shown significant issues with locks. What can we do to other existing layers to maintain support for these platforms while still getting rid of locks

@mppf
Copy link
Member

mppf commented Aug 15, 2024

The 2 exceptions that I know of are when using the PGI compiler and when using raspberry pi (specifically 32-bit raspberry pi).

What are the specific issues here? I'd bet that the PGI compiler issue has been resolved in newer releases, but maybe we don't need PGI compiler support. I don't know what the issue is wit raspberry pi though.

@jabraham17
Copy link
Member Author

I'm not sure, its possible both of these issue have been resolved in newer releases. The PGI issue is noted in a comment in chpl_atomics.py, but I don't know if we have any testing with the PGI compiler. The raspberry pi issue is from our docs, which explicitly says to use locks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants