|
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.