Skip to content

ARM compatibility#23

Merged
skbill84 merged 2 commits intowangyiqiu:masterfrom
John-194:arm_compatibility
Jun 29, 2025
Merged

ARM compatibility#23
skbill84 merged 2 commits intowangyiqiu:masterfrom
John-194:arm_compatibility

Conversation

@John-194
Copy link
Copy Markdown
Contributor

ARM CPUs need strict memory orders. While x86 has a stronger memory model, it should not be relied upon.

Specifically, in this case, local_bot and done cannot be relaxed for ARM; some other values could possibly be relaxed (like a simple finished_flag), but to be on the safe side, I changed other ones too from relaxed to release/acquire.
Performance-wise, memory_order_acquire and memory_order_release should be unnoticeable on x86, while possibly adding some safety.

@skbill84
Copy link
Copy Markdown
Collaborator

Hi @John-194 ,
Thank you for initiating this fix. We have a question - under what scenario will the code run into an ARM related crash? Could you share the recipe to reproduce it?

@John-194
Copy link
Copy Markdown
Contributor Author

John-194 commented Jun 28, 2025

Hi @John-194 , Thank you for initiating this fix. We have a question - under what scenario will the code run into an ARM related crash? Could you share the recipe to reproduce it?

I tested on a Jetson. I ran DBSCAN on a point cloud on repeat without any thread restrictions. It might not crash right away, but after a few iterations, the script seg faults or freezes. There is also a related open issue.

@skbill84 skbill84 merged commit 304f97a into wangyiqiu:master Jun 29, 2025
4 of 5 checks passed
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.

2 participants