[SOLVED] Hardware support: AMD FirePro
#1
Great job for supporting different types of GPUs.
It would be great if you can support OpenCL GPUs processing by AMD FirePro cards.

I have AMD FirePro V5900 on Linux which use AMD Proprietary Linux x86 Display Driver V 9.0 (http://support.amd.com/us/gpudownload/fi...linux.aspx)

Hahcat-plus call from example script shows Segmentation fault.
Other outputs:
Code:
./oclHashcat-plus64.bin -t 32 -a 7 example0.hash ?a?a?a?a example.dict --gpu-temp-disable oclHashcat-plus v0.14 by atom starting... Hashes: 6494 total, 1 unique salts, 6494 unique digests Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes Workload: 256 loops, 80 accel Watchdog: Temperature abort trigger disabled Watchdog: Temperature retain trigger disabled Device #1: Cayman, 1024MB, 600Mhz, 8MCU STOP! Unsupported or bad installed GPU driver version detected!

Also with --force option:
Code:
oclHashcat-plus v0.14 by atom starting... Hashes: 6494 total, 1 unique salts, 6494 unique digests Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes Workload: 256 loops, 80 accel Watchdog: Temperature abort trigger disabled Watchdog: Temperature retain trigger disabled Device #1: Cayman, 1024MB, 600Mhz, 8MCU Device #1: Kernel ./kernels/4098/m0000_a1.Cayman_1124.2_1124.2.kernel not found in cache! Building may take a while... ERROR: ./kernels/4098/m0000_a1.VLIW4.llvmir: No such file or directory

Tests with JavaOpenCL (JOCL) has passed, winch means that driver support OpenCL correctly.
#2
JOCL device info:
Code:
--- Info for device Cayman: --- CL_DEVICE_NAME: Cayman CL_DEVICE_VENDOR: Advanced Micro Devices, Inc. CL_DRIVER_VERSION: 1124.2 CL_DEVICE_TYPE: CL_DEVICE_TYPE_GPU CL_DEVICE_MAX_COMPUTE_UNITS: 8 CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS: 3 CL_DEVICE_MAX_WORK_ITEM_SIZES: 256 / 256 / 256 CL_DEVICE_MAX_WORK_GROUP_SIZE: 256 CL_DEVICE_MAX_CLOCK_FREQUENCY: 600 MHz CL_DEVICE_ADDRESS_BITS: 32 CL_DEVICE_MAX_MEM_ALLOC_SIZE: 256 MByte CL_DEVICE_GLOBAL_MEM_SIZE: 1024 MByte CL_DEVICE_ERROR_CORRECTION_SUPPORT: no CL_DEVICE_LOCAL_MEM_TYPE: local CL_DEVICE_LOCAL_MEM_SIZE: 32 KByte CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64 KByte CL_DEVICE_QUEUE_PROPERTIES: CL_QUEUE_PROFILING_ENABLE CL_DEVICE_IMAGE_SUPPORT: 1 CL_DEVICE_MAX_READ_IMAGE_ARGS: 128 CL_DEVICE_MAX_WRITE_IMAGE_ARGS: 8 CL_DEVICE_SINGLE_FP_CONFIG: CL_FP_INF_NAN CL_FP_ROUND_TO_NEAREST CL_FP_ROUND_TO_ZERO CL_FP_ROUND_TO_INF CL_FP_FMA CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT CL_DEVICE_2D_MAX_WIDTH 16384 CL_DEVICE_2D_MAX_HEIGHT 16384 CL_DEVICE_3D_MAX_WIDTH 2048 CL_DEVICE_3D_MAX_HEIGHT 2048 CL_DEVICE_3D_MAX_DEPTH 2048 CL_DEVICE_PREFERRED_VECTOR_WIDTH_<t> CHAR 16, SHORT 8, INT 4, LONG 2, FLOAT 4, DOUBLE 2

Benchmark script give next output:
Code:
Tue Jun 11 13:10:56 CEST 2013 Linux distl 2.6.32-358.6.2.el6.x86_64 #1 SMP Thu May 16 20:59:36 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux ******************************************************************************** Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 1.2 AMD-APP (1124.2) Platform Name: AMD Accelerated Parallel Processing Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices Platform Name: AMD Accelerated Parallel Processing Number of devices: 2 Device Type: CL_DEVICE_TYPE_GPU Device ID: 4098 Board name: Device Topology: PCI[ B#2, D#0, F#0 ] Max compute units: 8 Max work items dimensions: 3 Max work items[0]: 256 Max work items[1]: 256 Max work items[2]: 256 Max work group size: 256 Preferred vector width char: 16 Preferred vector width short: 8 Preferred vector width int: 4 Preferred vector width long: 2 Preferred vector width float: 4 Preferred vector width double: 2 Native vector width char: 16 Native vector width short: 8 Native vector width int: 4 Native vector width long: 2 Native vector width float: 4 Native vector width double: 2 Max clock frequency: 600Mhz Address bits: 32 Max memory allocation: 268435456 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 16384 Max image 2D height: 16384 Max image 3D width: 2048 Max image 3D height: 2048 Max image 3D depth: 2048 Max samplers within kernel: 16 Max size of kernel argument: 1024 Alignment (bits) of base address: 2048 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: No Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: None Cache line size: 0 Cache size: 0 Global memory size: 1073741824 Constant buffer size: 65536 Max number of constant args: 8 Local memory type: Scratchpad Local memory size: 32768 Kernel Preferred work group size multiple: 64 Error correction support: 0 Unified memory for Host and Device: 0 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: No Queue properties: Out-of-Order: No Profiling : Yes Platform ID: 0x00007f803e9d4e80 Name: Cayman Vendor: Advanced Micro Devices, Inc. Device OpenCL C version: OpenCL C 1.2 Driver version: 1124.2 Profile: FULL_PROFILE Version: OpenCL 1.2 AMD-APP (1124.2) Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt Device Type: CL_DEVICE_TYPE_CPU Device ID: 4098 Board name: Max compute units: 12 Max work items dimensions: 3 Max work items[0]: 1024 Max work items[1]: 1024 Max work items[2]: 1024 Max work group size: 1024 Preferred vector width char: 16 Preferred vector width short: 8 Preferred vector width int: 4 Preferred vector width long: 2 Preferred vector width float: 4 Preferred vector width double: 2 Native vector width char: 16 Native vector width short: 8 Native vector width int: 4 Native vector width long: 2 Native vector width float: 4 Native vector width double: 2 Max clock frequency: 2395Mhz Address bits: 64 Max memory allocation: 4178681856 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 8192 Max image 2D height: 8192 Max image 3D width: 2048 Max image 3D height: 2048 Max image 3D depth: 2048 Max samplers within kernel: 16 Max size of kernel argument: 4096 Alignment (bits) of base address: 1024 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: Yes Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: Read/Write Cache line size: 64 Cache size: 32768 Global memory size: 16714727424 Constant buffer size: 65536 Max number of constant args: 8 Local memory type: Global Local memory size: 32768 Kernel Preferred work group size multiple: 1 Error correction support: 0 Unified memory for Host and Device: 1 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: Yes Queue properties: Out-of-Order: No Profiling : Yes Platform ID: 0x00007f803e9d4e80 Name: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz Vendor: GenuineIntel Device OpenCL C version: OpenCL C 1.2 Driver version: 1124.2 (sse2) Profile: FULL_PROFILE Version: OpenCL 1.2 AMD-APP (1124.2) Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt ********************************************************************************
#3
Oh sorry, I have just find-out that file m0000_a1.VLIW4.llvmir is at root of oclHashcat folder not in /kernels/4098/
After moving to /kernels/4098/m0000_a1.VLIW4.llvmir now it works great with both --gpu-temp-disable and --force options.

Solution is to copy all m* files to /kernels/4098/ folder.
#4
you must extract the hashcat archive with '7z x' instead of '7z e'