Page 1 of 2

OpenCL Beta for Linux!

PostPosted: Wed Sep 21, 2011 12:00 am
by Bitweasil
Attached.

Please test out.

NOTE: The defaults SUCK right now for thread/block count.

If you're on ATI, you'll want to use:

--threads 256 --blocks 256 -m 100 --amd

Seriously. Otherwise performance blows.

Otherwise, the same as the other gen tools.

Right now, it is MD5/NTLM *ONLY* - no SHA1 (yet).

Needs an OpenCL runtime and libnuma (apparently a requirement for the Intel OpenCL runtime...)

It should work on CPUs as well - just don't use "--amd" and pass something like "--threads 8 --blocks 1" or so. I think it works with both the AMD and Intel OpenCL runtimes.

I expect plenty of bugs/glitches... but I think it's correct.

Also, it should generate byte for byte identical files to the CUDA version. If it does not (with the same --seed), it IS A BUG. Please report it!

Re: OpenCL Beta for Linux!

PostPosted: Thu Sep 22, 2011 1:21 pm
by Byte/\Puker
Will test it this night. Hope it work with my cards :D

Another question, is the source public ?

OpenCL Beta for Linux!

PostPosted: Fri Sep 23, 2011 4:04 pm
by aXmeD
Planned version for windows? (:

Re: OpenCL Beta for Linux!

PostPosted: Fri Sep 23, 2011 9:33 pm
by Bitweasil
Ah, source will be up soon. Forgot to throw that into SVN.

Windows version, yeah, will be coming. Don't know how to build an OpenCL project on Windows yet. :)

OpenCL Beta for Linux!

PostPosted: Sat Sep 24, 2011 5:11 am
by aXmeD

Re: OpenCL Beta for Linux!

PostPosted: Sat Sep 24, 2011 8:07 am
by SmilingWolf
Just downloaded the Beta, but couldn't play with it at all :(

Code: Select all
./GRTCLGen -h MD5 -c charsets/charsetall -l 7 -i 0 --chainlength=100000 --threads 256 --blocks 256 -m 100 --amd
CryptohazeOpenCL::populatePlatforms()
Got 1 platform(s)!
Platform ID 0:
CL_PLATFORM_NAME: AMD Accelerated Parallel Processing
CL_PLATFORM_VENDOR: Advanced Micro Devices, Inc.
CL_PLATFORM_VERSION: OpenCL 1.1 AMD-APP-SDK-v2.5 (684.213)


Using platform 0
Got 2 device(s)!
Device ID 0:
CL_DEVICE_NAME: ATI RV770
CL_DEVICE_VENDOR: Advanced Micro Devices, Inc.
CL_DEVICE_AVAILABLE: Yes
CL_DEVICE_MAX_COMPUTE_UNITS: 10
CL_DEVICE_MAX_CLOCK_FREQUENCY: 625 MHz
CL_DEVICE_GLOBAL_MEM_SIZE: 512 MB
CL_DEVICE_LOCAL_MEM_SIZE: 16 KB
CL_DEVICE_LOCAL_MEM_TYPE: CL_GLOBAL
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64 KB


Device ID 1:
CL_DEVICE_NAME: Intel(R) Pentium(R) 4 CPU 3.60GHz
CL_DEVICE_VENDOR: GenuineIntel
CL_DEVICE_AVAILABLE: Yes
CL_DEVICE_MAX_COMPUTE_UNITS: 2
CL_DEVICE_MAX_CLOCK_FREQUENCY: 2800 MHz
CL_DEVICE_GLOBAL_MEM_SIZE: 4970 MB
CL_DEVICE_LOCAL_MEM_SIZE: 32 KB
CL_DEVICE_LOCAL_MEM_TYPE: CL_GLOBAL
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64 KB


Using device 0
Context Created!
GRTCLGenerateTable: Hash: 16  Pass: 16
GRTCLGenerateTableMD5::GRTCLGenerateTableMD5()
Table generation information:

  Hash type: MD5
  Password length: 7
  Table index: 0
  Number of chains: 0
  Number of tables: 1
  Chain length: 100000
  Generate seed: 543953762
  Charset filename: charsets/charsetall


Attempting to auto-set numberChains for GPU RAM
GPU has 134217728 bytes of RAM
Using 4194304 chains in GPU RAM
clCreateProgramWithSource succeeded!
Attempting to compile...
Compilation complete.
Error compiling GRTCLGenerateTableMD5-AMD.cl!
Error: (GRTOpenCL.cpp:462)Program build failure
Could not get build log: Invalid value


This is the error i get when I try to run GRTCLGen with the command line above

My configuration:
1xATI Radeon HD 4850
Kubuntu Linux 64 bit
AMD APP SDK 2.5 installed and working (the oclHashcat* tools works fine)
ATI Catalyst suite 11.8 installed.

My .bashrc:
Code: Select all
export AMDAPPSDKROOT="/opt/AMDAPP"
export LD_LIBRARY_PATH=$AMDAPPSDKROOT/lib/x86:$AMDAPPSDKROOT/lib/x86_64:$LD_LIBRARY_PATH
export ATISTREAMSDKROOT=$AMDAPPSDKROOT


Hope there are enough details :)

Oh, and all your mirrors and torrents for the RTs are broken (at least to me)

P.s.: Where is the SVN for your programs?

Re: OpenCL Beta for Linux!

PostPosted: Sat Sep 24, 2011 5:33 pm
by Bitweasil
Alright, I'll take a look and see if I can replicate it.

SVN... yeah, need to push the code into the sourceforge SVN :) I'm going to try and do that today.

Thanks for the Windows links, I will see what I can do!

Re: OpenCL Beta for Linux!

PostPosted: Tue Sep 27, 2011 8:45 pm
by panda
There seems to be a problem with MD5 generation

Code: Select all
./GRTCLGen -h MD5 -c charsets/charsetall -l 7 -i 0 --chainlength=100000 --threads 256 --blocks 256 -m 100 --amd

-- snip ---

Binary size: 183960
Doing BFI_INT magic...
Performing BFI_INT patch for 65 ops...
Found return instr that returns non-void in Function of void return type!
  ret <4 x i32> %4
voidBroken module found, compilation aborted!
Aborted


Using the same command, just "-h NTLM", works fine.

I may be missing something here, but using
Code: Select all
./GRTCLGen -h NTLM -c charsets/charsetall -l 7 -i 0 --chainlength=100000 --threads 256 --blocks 256 -m 100 --amd


generates a single file

Code: Select all
-rw-r--r-- 1 panda panda  85M 2011-09-27 22:35 NTLM-len7-idx0-chr95-cl100000-sd117280647-0-v2.part


Is that right?

FYI, generation speed on a 5870 is:

Code: Select all
Total execution rate: 3798.94 M/s

Re: OpenCL Beta for Linux!

PostPosted: Tue Sep 27, 2011 10:32 pm
by Bitweasil
panda wrote:There seems to be a problem with MD5 generation
...
Using the same command, just "-h NTLM", works fine.


kk, I will take a look. OpenCL is *such* a pain in the rear compared to CUDA...

I may be missing something here, but using
...
generates a single file


Yeah, that just generates one table of the maximum size the card RAM will support. You need to pass the "--numtables" option to generate a ton of tables...

I need to write up a full tutorial on the tools. I'll try for that this weekend while I get a motorcycle worked on.

FYI, generation speed on a 5870 is:

Code: Select all
Total execution rate: 3798.94 M/s


Cool :)

Re: OpenCL Beta for Linux!

PostPosted: Wed Sep 28, 2011 3:03 pm
by panda
Ok, looks like I am generating, using this command

Code: Select all
./GRTCLGen -h NTLM -c charsets/charsetall -l 7 --chainlength 200000 -i 0 --numtables 4 --threads 256 --blocks 256 -m 100 --amd -d 0


I will let it run to completion then test.

I have been trying to figure out the optimal settings to use, using this:

http://www.tobtu.com/rtcalc.php?reductionFunc=grt&cpTables=10&cpSpeed=3800.0&cpFileFormat=GRT&loweralpha&upperalpha&numeric&symbol14&symbol18&space&pwMinLen=7&pwMaxLen=7&cpTotalSuccessRate=99.999999&cpChainLength=200000&cpPerfectRT&cpgrtIndex=32

which should be exactly the same as the settings you used to generate the length 7 NTLM tables available for download. However, I see that the estimated size is 195GB whereas yours are only 54GB. What am I missing?