Date: Sun, 23 Aug 2015 08:57:42 +0300 From: Solar Designer <solar@...nwall.com> To: john-dev@...ts.openwall.com Subject: Re: PHC: Argon2 on GPU On Sun, Aug 23, 2015 at 08:37:22AM +0300, Solar Designer wrote: > When we're programming in OpenCL (or even in PTX or IL), we appear to be > stuck with the SIMT rather than SIMD model. We want to access wider > SIMD from one instance of Argon2, but we're only given SIMT instead. > What we can possibly do is accept this model, and work within it to > achieve our goal. We can have a few threads (work-items) running in > lock-step anyway (because they're physically being run on wider SIMD > than we can access) communicate via shared (local) memory frequently, > during each block computation. Actually, there's a better alternative: http://docs.nvidia.com/cuda/kepler-tuning-guide/index.html#warp-shuffle "Kepler introduces a new warp-level intrinsic called the shuffle operation. This feature allows the threads of a warp to exchange data with each other directly without going through shared (or global) memory. The shuffle instruction also has lower latency than shared memory access and does not consume shared memory space for data exchange, so this can present an attractive way for applications to rapidly interchange data among threads." Sounds like precisely what we need for the original Argon2. We need to find out if it's available in OpenCL. Also need to find out whether there's an equivalent for AMD GCN. 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.