|
Message-ID: <0023b200121cb7a282af98743e1e2d7c@smtp.hushmail.com> Date: Sat, 23 May 2015 00:18:54 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: Re: autotune_run problem On 2015-05-22 22:41, Agnieszka Bielec wrote: > 2015-05-22 18:01 GMT+02:00 magnum <john.magnum@...hmail.com>: >> And max_run_time should either be 1000 or 10000000000. > > thanks, works good with 10000000000 but even with that value after a > change from 1.8 to 1.1 works better for some cases This means your single-call kernel has a duration of more than 10 seconds! That's totally crazy. Here's the deal: if (best_speed && speed < 1.8 * best_speed && max_run_time && run_time > max_run_time) { if (!optimal_gws) optimal_gws = num; if (options.verbosity > 3) fprintf(stderr, " - too slow\n"); break; } This is a bailout for when max_run_time (10 seconds) was breached. The 1.8 is an *exception*: If we got close to 2x the speed, we override the bailout because it's "worth it". But this is really a kludge, ideally we should never need to do this. And definitely not if the max was set a 10 seconds... Changing the override to 1.1x makes it use that exception all the time, effectively disabling the duration limit. This does not mean it's fixes any problem. You'll get the same better results if you bump the 10000000000 to eg. 30000000000 - but these are totally *insane* figures. Your total kernel duration should be less than 500ms, preferably less than 200ms. Not a full second and definitely not over five seconds ever, because that will trigger watchdogs and crash many systems. So I'm sorry but you simply have no option other than rewriting your kernel to a split, or loop, kernel. It might be hard to do this for Pomelo but not impossible - and there is no alternative. 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.