My current project is running fine searching (brute force mode ...) original ASCII message giving a given MD5 hash (sort of Johntheripper OpenCL version with MD5 hash)
Currently I am able to find any 5 character "password" in less than 10s with my HD7950 (with a particular restriction on values range to speed up finding and to match reality ...) however Kernel occupancy is not at 100% so maybe the time execution can be reduced ...
However if I want to extend my search on more digits by running more kernels and run them for a longer time, I am quickly encountering a black screen in Windows 7, at around 12s-15s ....
Is it possible to bypass this watchdog from Windows configuration or from programming side ?
you can disable this watchdog but it is strongly discouraged as your whole screen froze. you should broke your kernel execution to smaller units. http://msdn.microsoft.com/en-us/windows/hardware/gg487368.aspx
After some code rework, now my MD5 "reverse finder" is fully working with my GPU !
I realized my HD7950 is currently able doing 2.8Giga MD5 hash computation in ~7.5seconds (7168 kernels "in parallel" x 390625 MD5 computations per kernel for a given NDRange enqueue...). I had to cut the whole execution (50M MD5 per kernel x 7168 kernels over the 28 computing units) in 128 sub iterations to get rid of the black screen issue ...
However I noticed that if I try to do something else in parallel (like Chrome browsing) the black screen issue appears again.
Best thing is to use 2 GPUs - a low-end for graphics desktop and a secondary-bulky one to do opencl work.
To avoid nightmares, both GPUs must be from the same vendor.
Yes ... I was thinking about it as I have an Nvidia G210 on the shelves I am not using right now and that's not so horrible for desktop..., however I also play games... I wonder if I can configure or get some patch/tweak on Windows 7 to use G210 on one side for desktop and HD7950 for games or other demanding stuff .... also I will have to plug DVI / HDMI all times I would have to use one or the other 😕