-
Notifications
You must be signed in to change notification settings - Fork 4
Partially working implementation of primal_module_parallel.rs and dual_module_parallel.rs
#21
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
Open
YangLiuWillow
wants to merge
51
commits into
yuewuo:continuous_vertices_parallel
Choose a base branch
from
YangLiuWillow:continuous_vertices_parallel
base: continuous_vertices_parallel
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…Impl in dual_module_parallel.rs
…d independent of these virtual_vertices
… of subgraph mismatch, but the original mwpf solver seems unstable
…ual_module_parallel.rs seems to run fine now, need further optimization using rayon and pointers
… rayon, need to test for more complicated cases for non 0ns resolve time
… run individually
…vertices again in before calling , because rn after fuse, the nodes do not grow into other units
…ort conflict when combining two units, e.g. check if boundary vertex overlay with vertices of invalid_subgraph
… a single dual_node in a unit. It is likely due to the different global_time in different units. Maybe consider assigning each edge a pointer to global_time.
…one dual_node, the is_valid() function is responsible for this. We need to check the logic of is_valid(). Line 866-868 in fn compute_maximum_update_length()
…ore for loops, especially in parallel_solve_step_callback
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
primal_module_parallel.rsworks when there is only onedual_nodein each unit. Likely due to the differentglobal_timein different unit being used when storingObstaclein priority queue of each unit. Perhaps it would help to assign each edge a pointer to theglobal_timein its respective unit.dual_module_parallel.rsseems to work fine.primal_module_serial.rsanddual_module_pq.rsno longer works withplugin_single_hair.rs. I have yet to figure out why. It is likely due to howObstacleis hashed. For now, when I runplugin_single_hair_debug_1test, it generates way too manydual_nodes (like nearly 1k).primal_module_parallel.rs: run the test cases inprimal_module_parallel.rs. E.g. for defect_vertices = [7, 21, 28], runcargo test primal_module_parallel_tentative_test_2 -- --nocapture.