Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <40936cc483e9870b615f1b0689e1216d@smtp.hushmail.com>
Date: Sun, 15 Apr 2012 12:29:57 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: OpenCL optimisations for different cards (was: MSCash2 OpenCL)

On 04/15/2012 05:46 AM, SAYANTAN DATTA wrote:
> The results are unexpected and I think it would require some local work
> size optimization and some local memory optimizations.  However my the new
> codes perform better on Cayman(6970) as reported by Samuele.  It achieved
> around 37% improvement over the previous version.Details are given below.
>  I think this is the reason why hashcat keeps so many versions of kernel
> code each for different gpu.   It seems like cayman, cypress and RV770 have
> more or less similar architecture. However since GCN is a radical
>  departure from previous generation architectures it is better to have
> a separate kernel for GCN .  Comparing to hashcat it achieved 309k c/s on
> dual 6990.  Therefore 54k c/s is on 6970 is closer to their results.
>  However  once I get my hands on GCN I will write a fully optimized kernel
> for it but for now the decision is upto you.

Should we add something in common-opencl.c to help adjusting to
different cards? Earlier I added -DDEVICE_IS_CPU (but I currently do not
use it). We could add -DNVIDIA_GPU and -DAMD_GPU and some with higher
granularity. Then we can use #ifdefs in one same kernel file to adopt.

Another possibilty (if the code is so different the #ifdefs gets messy)
is of course having a couple different kernel files and let the host
code pick the best one, with little or no support needed from
common-opencl.c.

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.