|
Message-ID: <20150425120230.GA19385@openwall.com> Date: Sat, 25 Apr 2015 15:02:30 +0300 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: [GSoC] JtR SIMD support enhancements Hi Lei, On Thu, Apr 23, 2015 at 11:35:44PM +0800, Lei Zhang wrote: > I'm not sure of the "interleave factors". Could you be more specific? magnum has already provided a jumbo-specific response, but I also want to repeat in this thread and to your attention what I just wrote in a message to Agnieszka here: Do you understand the concept of instruction interleaving? Why does it help? When to increase the amount of interleaving, and when to stop doing that? Can too much interleaving reduce performance, and why? While we use it in JtR in various formats, I think it's better illustrated by the evolution of my php_mt_seed program: http://www.openwall.com/php_mt_seed/ You may start with an older version of it, and see how much faster it became since then and _why_. You may also try reimplementing some of those same optimizations on your own, just to practice, without looking _too_ closely at the already-made optimizations (just skim over them to get an overall idea of the approach taken). I think this is a good way to learn both SIMD programming, and interleaving (which is a concept relevant with and without SIMD). http://cvsweb.openwall.com/cgi/cvsweb.cgi/projects/php_mt_seed/php_mt_seed.c http://download.openwall.net/pub/projects/php_mt_seed/ Unfortunately, the oldest version of php_mt_seed already includes 2x interleaving, but I brought it much further in later versions (to 8x interleaving and SIMD at once). Thanks, 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.