Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 14 Jun 2019 08:23:30 -0400
From: billwhittaker@...e-mail.net
To: john-users@...ts.openwall.com
Subject: Re: Unable to use OpenCL on arm64v8/debian stretch

> > ../run/john --test --format=opencl
> > Device 1@...i: Mali-T860
> > Benchmarking: sha1crypt-opencl, (NetBSD) [PBKDF1-SHA1 OpenCL 4x]... DONE
> > Speed for cost 1 (iteration count) of 64000 and 40000
> > Raw:	12.5 c/s real, 2560 c/s virtual
> 
> This shows that *some* formats does work fine, so your OpenCL 
> installation isn't totally broken.

You consider 12.5 c/s to be "working fine" despite the speed? You do not believe the driver is the cause of such inefficiency?

> That benchmark speed is pretty low though, my laptop GPU does 10510 c/s 
> with that format. What if you add --force-scalar to the command line? By 
> default, some formats will use 4x vectorizing because your runtime 
> claims that's the preferred width of int, but it doesn't always end up 
> faster.

        Without pocl
./run/john --test --format=opencl --force-scalar
Device 1@...i: Mali-T860
Benchmarking: sha1crypt-opencl, (NetBSD) [PBKDF1-SHA1 OpenCL]... DONE
Speed for cost 1 (iteration count) of 64000 and 40000
Raw:	112 c/s real, 6400 c/s virtual

        With pocl, my CPU appears as a device.
Device 1@...i: Mali-T860
Benchmarking: sha1crypt-opencl, (NetBSD) [PBKDF1-SHA1 OpenCL]... DONE
Speed for cost 1 (iteration count) of 64000 and 40000
Raw:	113 c/s real, 8533 c/s virtual

        I do not know why I am seeing 112/113 now, but saw only 12 earlier.

	The CPU outperforms the GPU.
../run/john --test --format=sha1crypt
Will run 6 OpenMP threads
Benchmarking: sha1crypt, NetBSD's sha1crypt [PBKDF1-SHA1 128/128 ASIMD 4x]... (6xOMP) DONE
Speed for cost 1 (iteration count) of 64000 and 40000
Raw:	234 c/s real, 48.1 c/s virtual
	Shouldn't the results be vice-versa, with the GPU outperforming the CPU?
	(Redundant with question prior.) Could the runtime/driver for the GPU somehow cause such a low c/s?

> Anyway I'd start with looking for OpenCL driver/runtimer updates unless 
> you already did so.

         As far as I can tell, I have a choice: Mali drivers for opencl
dpkg -l |grep opencl
ii  ocl-icd-libopencl1:arm64                      2.2.11-1                             arm64        Generic OpenCL ICD Loader
ii  opencl-c-headers                              2.1-1                                all          OpenCL (Open Computing Language) C header files

dpkg -l |grep mali
ii  liblognorm5:arm64                             2.0.1-1.1+b1                         arm64        log normalizing library
ii  libmnl0:arm64                                 1.0.4-2                              arm64        minimalistic Netlink communication library
ii  rockchip-mali-midgard-dev                     1.6-1                                arm64        This package provides the development environment for compiling
ii  rockchip-mali-midgard14                       1.6-1                                arm64        The ARM Maliā„¢ library for Rockchip serial.

         or pocl (from debian buster, the "experimental") version. I will try the "unstable" version of pocl and run JtR with and without Mali drivers.

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.