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

Commit Julienne code and applications. #12

Merged
merged 1 commit into from
Sep 11, 2017
Merged

Conversation

ldhulipala
Copy link
Collaborator

Main changes:

  • Require c++14 (c++1y works as well). Necessary for automatic return type deduction in edgeMap_utils.h
  • Add support for vertexSubsets where vertices have an associated data value. type_traits lets us provided an implementation identical to the existing vertexSubset implementation when data = pbbs::empty.
  • Add new edgeMaps: edgeMapFilter (count/pack-out neighbors satisfying a predicate) and edgeMapSparse_no_filter (optimized version of edgeMapSparse which writes proportional to the output size)
  • Add applications and bucketing implementation from Julienne in apps/bucketing/

Implementation changes:

  • Use type_traits ("gen" functions in edgeMap_utils.h) to inline code that writes to a different type of output based on the type of the data.
  • Add a "par" flag (default to true) to decode/decodeWgh. This lets us decode sequentially even for -pd codes if necessary.

All existing codes compile without any modifications.

I tested BFS, Components and PageRank with these changes applied vs. the current master and saw no regressions.

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.

None yet

2 participants