Date: Tue, 26 Jun 2012 10:24:33 +0300 From: Milen Rangelov <gat3way@...il.com> To: john-dev@...ts.openwall.com Subject: Re: OpenCL kernel max running time vs. "ASIC hang" > > Wouldn't calling clEnqueNDRangeKernel too many times will cause a > performance hit? What about pausing the execution for some time as > requested by the user. Say we press 'P' which will pasue the execution so > that the user can perform the graphic oriented tasks and then resume the > execution when he is finished. > > Regards, > Sayantan > > Not a big one. Well I know because one of the changes I am introducing is "interactive mode" where the NDRange is divided by some constant (depending on plugin, e.g for md5 it's 16). Then kernel is repeatedly invoked *constant* times with the appropriate ndrange offset. Between each invocation, 4 bytes of device memory are mapped and if its value is greater than 0, the whole buffer of matching hashes from device buffer is transferred to host for further checks. On 6870, speed without interactive mode is about 4315M/s (single hash), with interactive mode speed drops to about 4180 which is not a huge performance hit AFAIK. However things drastically change if memory transfers between kernel invocations are larger. In that case indeed performance degradation can be huge. Fortunately mapping 4 bytes is fast enough. Content of type "text/html" skipped
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.