Progress on the GPU accelerated RTs!

Discussion of the upcoming GPU accelerated rainbow table implementation
  • Ads

Progress on the GPU accelerated RTs!

Postby Bitweasil » Sat Feb 20, 2010 7:15 am

So...

I'm sure some of you have noticed there's been pretty much zero progress lately on this whole "GPU accelerated rainbow tables" thing.

I blame doing PHP for a year. That stuff rots the brain... all those typeless variables, SQL, ... ick.

And then a move & other chaos.

I was also frustrated by a lack of uniformity on my reduction function. It was fast, but non-ideal - it represented the first characters in the charset more frequently, as it was wrapping a non-power-of-2 length charset into a power of 2 lookup array.

The good news is that I've fixed this finally (actually a simple fix, just took a year for my brain to come up with it), and am working on this stuff again.

The other major problem is that, right now, the code, while working, relies on a MySQL backend, headless Linux compute servers (the kernels run 30+s in length), and some rather inefficient merge code.

In other words, you wouldn't want the code, the way it is. :)

My goals for the next few weeks (assuming I stay motivated):

- Standalone table generator, with an internal pseudorandom number generator for table generation based on a seed (useful for distributed stuff later on). This will be a big challenge, as I need to take my current "Run until it's done" code and make it friendly for systems with GUIs - running in short bursts at a time. This also means moving data around on the GPU such that the startup time is shorter - right now, it spends a /lot/ of it's time initializing. Not a problem when running for 30s at a time, big problem when it takes half a second to get set up and you want to run 100ms kernels. Fortunately, I've learned a lot with the multiforcer, so this shouldn't be too terribly challenging. It may not work well for those with low end video cards... I'm not going to do much tuning for them. Sorry, an 8600M isn't going to do much.

- Tweak my table merger so it's faster. I know what I need to do, I just haven't done it as it wasn't an issue. I can't promise Windows code here, but I'll try. This code may end up being 64-bit only unless I change how I do things.

- Make the candidate hash generation code standalone. Right now it's heavily reliant on SQL to process things.

- Same goes for the table search/chain regeneration code. It may come out as a CPU version first, I'll see. See "64-bit only" here.


In general, the system requirements for this project are going to be somewhere between "absurd" and "obscene." There are plenty of CPU based rainbow tables out there, and plenty of GPU based crackers for smaller spaces. I'm not interested in them, I'm exploring things like "Full US character set, NTLM lengths 7 through 9." This involves GPU-years of time, TB worth of tables, etc.

I also intend to make this a distributed project of some form or another - not sure if I'll use BOINC, but I'd like to allow people to contribute and eventually pull tables down (though how one distributes 5TB of tables is beyond me).

Anyway, I'll update as things happen.
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: Progress on the GPU accelerated RTs!

Postby Bitweasil » Sat Feb 20, 2010 7:16 am

Oh, teaser from tonight:

NTLM length 8, GTX260/216, longer kernels: 537M links per second generate rate.
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: Progress on the GPU accelerated RTs!

Postby Bitweasil » Mon Feb 22, 2010 9:33 pm

OH HAY.

My old memory alignment was about as bad as one could get for efficiency.

New interleaving should be a bit faster for the loads... important if I want kernel times to be short enough for desktop types to use it.
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: Progress on the GPU accelerated RTs!

Postby blazer » Tue Feb 23, 2010 3:19 am

goood to see you're back it. Hope everything goes well
blazer
 
Posts: 104
Joined: Fri Jan 23, 2009 10:18 am

Re: Progress on the GPU accelerated RTs!

Postby Bitweasil » Tue Feb 23, 2010 3:44 am

The stuff I learned on the Multiforcers is very valuable here.

They were essentially a "play project." I never intended them to remain top of the heap forever, as they're not really my core focus (though they do need a bit of attention).

They were a useful (at the time) project, and most importantly, they let me sit down & work out the details of how to really make the nVidia memory systems dance.

I'm able to reuse a good bit of my existing code, but wrapping it in bits that are significantly better tuned to what I'm looking to do.

It looks like I might be able to release some table generators next weekend, though I seriously doubt I'll have a complete cracking system together by then.

What OS/GPU combos do I have available for testing?
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: Progress on the GPU accelerated RTs!

Postby foobar2342 » Tue Feb 23, 2010 5:02 am

What OS/GPU combos do I have available for testing?


GTX260SP216 with ubuntu 32, 64 bit, vista 32, 64bit
9600MGT with ubuntu 64 and vista 32
not mine, but i know where to find a 4xGTX295 with linux 64bit
foobar2342
 
Posts: 17
Joined: Sun Apr 05, 2009 7:41 pm

Re: Progress on the GPU accelerated RTs!

Postby Bitweasil » Tue Feb 23, 2010 5:13 am

That would be useful...

Are the Linux boxes headless?

I really should work out the finer points of multi-GPU stuff better than "Launch a separate instance for each GPU."
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: Progress on the GPU accelerated RTs!

Postby blazer » Tue Feb 23, 2010 6:43 am

8600GTS + C2DQ6600 + WinXP 32 (Not sure if the 8600 is cuda supported)
9800GT + AMD4000+ WInXP 32
GTX260 216SP + C2D8500 + WinXP 32 / Win7 64
blazer
 
Posts: 104
Joined: Fri Jan 23, 2009 10:18 am

Re: Progress on the GPU accelerated RTs!

Postby foobar2342 » Tue Feb 23, 2010 7:29 am

Bitweasil wrote:That would be useful...

Are the Linux boxes headless?

I really should work out the finer points of multi-GPU stuff better than "Launch a separate instance for each GPU."


The big one is headless the 2 small ones have monitors.
Threading is the way to go. boost has a good threading library.
foobar2342
 
Posts: 17
Joined: Sun Apr 05, 2009 7:41 pm

Re: Progress on the GPU accelerated RTs!

Postby Sc00bz » Tue Feb 23, 2010 1:28 pm

If you are going to use Boinc, I think it's common to run one program for each CPU core and each GPU.
Sc00bz
 
Posts: 93
Joined: Thu Jan 22, 2009 9:31 pm

Next

Return to GPU Rainbow Tables

Who is online

Users browsing this forum: No registered users and 1 guest

cron