Repository navigation
Conversation
(cpu_hashtable, cpu_gerbicz, gpu_cubsort, gpu_gerbicz) drawn from 3 repositories (kyleaskine's msieve-s, jasonp's sourceforge "polysize" branch, and yafu's trunk) into a common framework feeding a multithreaded stage 2. + all four stage 1 implementations are mostly working (known problem with gpu_gerbicz for small inputs) + multithreaded stage 2 is working + working on tests of stage 1 hits + working on characterizing full pipeline for various sized N + next is dynamic stage1/2 load balancing + also need to test that multithreaded yafu -nps and -npr still work
test additions for poly stage 1 (unused) and slightly changed how yafu bundles up nfs_args for poly select
reenable test_mode, harmless if not invoked.
passing the murphy E based early abort through to msieve, which now handles it. also reenabled a piece of test_mode I had forgotten to last time.
+ allow live stats updating in test_mode + print murphy-e heuristic if active
fix bug in stage1_sieve_gpu with trivial root case.
print estimated gnfs job time and polyselect time in polyselect if tune data exists. guard printing nfs_args in polyselect with VFLAG
+ fix gerbicz stage1 to look at wall clock time for coeff deadlines + proper send/recieve of coeff deadline and poly deadline between yafu and msieve thru nfs_args + fix gpu_gerbicz for small inputs by capping special_q batch size + cpu no longer uses stage2 threadpool, just processes hits as they happen (gpu still uses it) + experimental cpu special_q batch size chunking (not needed with new corrected coeff deadline enforcing
+ gpu stage 1 needed threadid woven through to handle_collision
…pecial Q to process prior to start + uses that in the live update for tracking progress
…iles + better total-work estimation logic in search_coeff_core + added a utility for running experiments on coeff_deadline + default pbatch now 5000 to make sure enough coefficients to make use of all threads
+ python tool to plot murphyE histograms generated in a run
… siever, over the default ggnfs. Must have a working cuda-sieve ./bench, this just points to it, similar to the current paradigm with lasieve. known issue with params - cuda-sieve will want it's own parameters + added test/ files. I think they are also in master branch, but this solves some compiler complaints here in the branch. will worry about it during merge. + msvc builds and runs the two cpu poly selection options. need more testing overall, and a way to build gpu poly select.
… and gpu_gerbicz with either native toolchain or clang-cl + also builds both cpu variants, so same stage1 choices are possible with VS builds. + remove spurious printf's in gpu stage1
todo: need to sort out where this goes (it is also in include/) and then use it throughout the library.
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
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.
No description provided.