|
Message-ID: <20151005225926.GB4486@openwall.com> Date: Tue, 6 Oct 2015 01:59:26 +0300 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: Agnieszka's GSoC formats Agnieszka - On Tue, Oct 06, 2015 at 12:42:53AM +0200, Agnieszka Bielec wrote: > I modified the code, --dev=3 doesn't segfaults but on super --dev=6 > and my card is slower > > on my card it's 1882 c/s -> 1777 c/s > on --dev=6 it's 6678 c/s -> 5907 c/s What modifications did you make? Are you now using the same integer type consistently? Do you know or have a good guess at what causes the performance loss? (I mean not at source code level, but under the hood.) If it's directly the compiler's inability to reorder some operations now that you're using the same data type, so it knows the pointers may alias, then selectively using the restrict qualifier on some pointers (that you know can't alias any other pointer) might regain some of the lost performance. I see that restrict qualifier is in OpenCL 1.1+; I don't know if it also was in 1.0 or not. (As a C99 feature, it probably should have been already in there.) Anyway, I expect that much greater performance gains are possible by other means, such as through avoiding register spilling (and always accessing global memory explicitly instead, just where you have to), so it might be premature to re-optimize the above now. Alexander
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.