-
Notifications
You must be signed in to change notification settings - Fork 5
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
Update FastDEC after ACSet updates #95
Conversation
A few benchmarks of note. Overall performance otherwise is preserved. Old (09ec35f):Operator: Geometric Hodge Operator: Wedge Product New (67ad092):Operator: Geometric Hodge Operator: Wedge Product |
Test Summary: | Pass Total Time
CUDA | 139 139 41.7s
Testing CombinatorialSpaces tests passed
shell> git log -1
commit 67ad092ad6615e66994ce3956d7a65657fdf3684 (HEAD -> gr/clean-fast-dec, origin/gr/clean-fast-dec)
Author: GeorgeR227 <78235421+GeorgeR227@users.noreply.github.com>
Date: Tue Jun 4 15:32:09 2024 -0400
Added some doc strings. |
Can you edit your comment to use the commit at which you ran those benchmarks |
hodge_diag_0[v1] += dual_lengths[d_edge_idx] | ||
end | ||
for d_edge_idx in parts(sd, :DualE) | ||
v1 = sd[d_edge_idx, :D_∂v1] |
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.
Checking that this is the dual vertex that is at the center of a primal vertex may just "fall out" of using our accessors in a certain order. So the following reliance on checking if it is in 1:nv(sd) may be unnecessary.
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.
Further, this may be faster using @inbounds
* Update FastDEC after ACSet updates * Added some doc strings.
This is meant to replace views in the FastDEC module with regular ACSet accessing. I've also taken the liberty of cleaning up some strange logic.