-
Notifications
You must be signed in to change notification settings - Fork 52
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
Add sanity checks for contiguity and orderedness #609
Conversation
9d5f1fc
to
e954fd1
Compare
The version of clang-format that we use in this project is quite old (version 10) and it is no longer able to properly format all of the new stuff that has come into C++. See, for example, the formatting nightmares in acts-project#609 and acts-project#602. This commit bumps the formatter up to clang-format 18.
The version of clang-format that we use in this project is quite old (version 10) and it is no longer able to properly format all of the new stuff that has come into C++. See, for example, the formatting nightmares in acts-project#609 and acts-project#602. This commit bumps the formatter up to clang-format 18.
The version of clang-format that we use in this project is quite old (version 10) and it is no longer able to properly format all of the new stuff that has come into C++. See, for example, the formatting nightmares in acts-project#609 and acts-project#602. This commit bumps the formatter up to clang-format 18.
96de9ee
to
1a140fd
Compare
The current CCA testing code for CUDA and SYCL is missing some necessary wait statements, which are causing me issues in acts-project#609. This commit fixes the problem by adding the missing waits.
61fb0cf
to
e4d192b
Compare
The current CCA testing code for CUDA and SYCL is missing some necessary wait statements, which are causing me issues in acts-project#609. This commit fixes the problem by adding the missing waits.
e4d192b
to
5ef533c
Compare
Just to check: For being contiguous, is it required that unique ID is ordered? (In the measurement vector for track finding, the order of module ID does not really matter) |
Nope! It requires the IDs to be contiguous but not ordered. So an array |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a is_contigous_on
function for CPU as well?
CPU track finding also requires measurement vector to be contiguous w.r.t module IDs
Sure, I'll add that. |
5ef533c
to
70ee2d6
Compare
@beomki-yeo I've added the CPU equivalents. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good
9d3dfa0
to
9b309fa
Compare
In some places, we rely on certain properties of our inputs. For one, we rely on our measurements being contiguous (with respect to the module identifiers) in the fitting code, and we rely on our cells being ordered in some way in the clustering code. I aim to emit properly contiguous elements from the CCL code in the future, but I want to make this process foolproof. To that end, I have added two new sanity checks which aim to find problems with input. One of them checks whether elements are contiguous (according to some projection function) and the other checks whether the elements are in some order. This commit also employs these checks for debug builds in some places.
In some places, we rely on certain properties of our inputs. For one, we rely on our measurements being contiguous (with respect to the module identifiers) in the fitting code, and we rely on our cells being ordered in some way in the clustering code. I aim to emit properly contiguous elements from the CCL code in the future, but I want to make this process foolproof. To that end, I have added two new sanity checks which aim to find problems with input. One of them checks whether elements are contiguous (according to some projection function) and the other checks whether the elements are in some order. This commit also employs these checks for debug builds in some places.