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

Fixed critical issue in CPUAccelerator runtime related to Shared Memory allocations and Warp operations. #836

Merged
merged 3 commits into from
Sep 1, 2022

Conversation

m4rs-mt
Copy link
Owner

@m4rs-mt m4rs-mt commented Aug 25, 2022

The current GPU emulation runtime environment (currently referred to as CPUAccelerator) has a critical bug which can lead to invalid program output in certain scenarios. This bug is considered critical because programs may crash, but not in all cases, generally speaking. In other words, this problem can lead to non-deterministic incorrect output that may go unnoticed.

The problem is related to the performance of SharedMemory assignments in divergent branches that "return" to the main execution thread, which in turn performs a number of specific operations targeting Warp and SharedMemory operations.

This PR addresses this critical problem by refining the way SharedMemory allocations work in the context of the CPUAccelerator runtime.

@m4rs-mt m4rs-mt added the bug label Aug 25, 2022
@m4rs-mt m4rs-mt added this to the v1.3 milestone Aug 25, 2022
@m4rs-mt m4rs-mt self-assigned this Aug 25, 2022
@m4rs-mt m4rs-mt force-pushed the fixed_cpu_allocations branch 3 times, most recently from ee56c8e to 1d66d80 Compare August 26, 2022 14:32
@m4rs-mt m4rs-mt merged commit dbc1cb0 into master Sep 1, 2022
@m4rs-mt m4rs-mt deleted the fixed_cpu_allocations branch September 1, 2022 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants