|
Message-ID: <bfac0d21c3a6384d6ad70754ac40ee8c@smtp.hushmail.com> Date: Mon, 06 Jul 2015 01:15:54 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: Re: PHC: Lyra2 on GPU On 2015-07-05 08:09, Solar Designer wrote: > On Sun, Jul 05, 2015 at 01:42:41AM +0200, magnum wrote: >> Something like this perhaps? >> >> void reset(struct db_main *db) >> { >> static int tuned_already; >> >> if (db || (options.flags & FLG_TEST_SET)) { >> /* look at db for costs, then autotune here */ >> tuned_already = 1; >> } >> else if (!tuned_already) { >> /* set a fixed low LWS & GWS here */ >> } >> } >> >> So if we're running --test, we'll auto-tune at first call to reset() and >> not re-tune at second call. >> >> If running an actual crack, we'll self-test with some low LWS/GWS (eg. >> 8/64) and then once we get a db (which we can look at to see costs) >> we'll auto-tune for actual costs. >> >> It would be slightly safer to self-test using the actual LWS/GWS that >> will be used later, but iirc this can't be done without changing core. > > Yes, right, but you may make or propose specific changes to make this > possible. Thinking loud. Current behavior, for a test run we have: reset(NULL) self-tests benchmarks And for a crack run we have: reset(NULL) self-tests reset(db) crack mode We could change it to always pass "db" to reset(). It could still *be* NULL but we'd never call it with an explicit NULL. A test run would be effectively the same. A crack run would become: reset(db) self-tests reset(db) crack mode This would solve this issue but a side-effect is reset() can no longer tell whether we're about to self-test before a crack or actually run one. For resolving that we could simply change void fmt_reset(struct db_main *db); ...to void fmt_reset(struct db_main *db, int self_test); ...and a crack run would change to: reset(db, 1) self-tests reset(db, 0) crack mode Does this make sense? magnum
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.