View Single Post
Old 2018-05-29, 04:44   #4
kriesel's Avatar
Mar 2017
US midwest

2×29×127 Posts
Default Getting started with gpuOwL

This is an old post, but kept in place for its documentation of what can be done with the very old builds, and the long list of (mostly Windows, plus rarely Linux) builds available.

See the Available Software guide portion for gpuOwL, for where to get code, a brief summary of capability, and a discussion thread for it. Or scroll to the bottom of this post. Note this was originally written for very early versions, and that has been left in place here for those occasions when an old version is the best tool for a particular task.

It's pretty simple to get started with gpuOwL. Get the version that supports the fft length corresponding to the exponents you want to run, and build it for your operating system, or find a suitable executable someone else has already built. Kracker was kind enough to post build directions for Windows (including setting up a free open source build environment) at and a Windows build or two in the past in that same thread.

Install the OpenCL drivers on your system and confirm function with a separate OpenCL query utility.

Make sure you have in the working directory. For V1.9, depending on the transform type used, you may want nttshared.h in there too, such as if using -fft M61. (See

No ini file. Very little setup.

Manually check out some exponents for PRP test or PRP double check (unless you're using an old version that does LL, get that type of assignment instead) and put those records in a file called worktodo.txt, just as's manual checkout gives them.

You may want to use a small shell script or batch file depending on which OS you're using.

Syntax and options change with gpuowl version.
V0.6 syntax example:
gpuowl -logstep 5000 -savestep 2000000 -checkstep 250000 -uid kriesel/condorella-rx550
For V1.9, which has multiple power-of-two fft lengths, I use a simple batch file as follows (allowing switching options with a couple keystrokes and cutting way down on typos):
:set opts=-fft M61 -size 4M
set opts=-legacy
set dev=2

gpuowl -user kriesel -cpu condorella-rx550 -device %dev% -verbosity 2 %opts%
Observed memory requirements for 8m fft, 150M exponent, V1.9 gpuOwL, ~475-490MB on gpu, and about 100MB on cpu side (380MB peak). FFT sizes, transforms, and RX550 speeds see

For V2 it's also simple, and somewhat differs:
gpuowl -device 0 -user kriesel -cpu condorella-rx480 -carry long
In my case I needed to update the MSI display adapter driver from April 2017 to Feb 2018 version to get V2.0 gpuOwL to run on an RX550 on Windows 7.

In V2 there's a -step option; see

V3.x is different yet. See for example
As is V4.x. As is V5.

Code (for Windows unless otherwise indicated)
For gpuOwL Windows code, and source see
An early guide for compiling 0.x on windows with msys64+mingw64
Windows in current versions includes the ability to handle .zip files but does not include support for some other compressed archive forms. IZArc is available for free download. It supports many formats, popular with/for Windows or Linux.
May 2017 v0.1 version Windows build (kracker) .zip
May 2017 V0.3 Windows binary (kracker) .zip
Jun 2017 V0.5 Windows binary (kracker) .zip
(LL discontinued, PRP with Gerbicz block error check beginning V0.7)

Sep 2017 V1.0 binaries for Windows (kracker) .zip
Nov 2017 V1.9 binaries for Windows (kracker) .zip
Jan 2018 V1.9 binaries updated for Windows (kracker) .zip
Aug 2018 V2.0 binary for Windows 64 bit .exe
Aug 2018 V3.3 binary for Windows 64 bit .7z
Aug 2018 V3.5 binary for Windows 64 bit .7z
Aug 2018 V3.6 binary for Windows 64-bit .7z
Aug 2018 V3.8 binary for Windows 64-bit (this and all the above are for OpenCl) .7z
Aug 2018 V3.9 binary for Windows 64 bit .7z

Nov 2018 V4.3 binary for Windows 64 bit .7z
Nov 2018 V4.6 binary for Windows 64 bit .7z
Oct 2018 V4.7 binary for Windows 64 bit .7z (not recommended, fails for me)

Nov 2018 V5.0 binary for Windows 64 bit .7z
and with some fixes and new shorter fft lengths, .7z
v5.0-9c13870 .7z

Feb 2019 V6.0 binary for Windows 64 bit .7z
V6.1 do not use the posted binary for V6.1 or for an early commit of V6.2. There was a bug that caused primes to be indicated composite in both.
Feb 2019 V6.2 binary for Windows 64 bit .zip
Apr 2019 V6.4 binary for Windows 64 bit .zip
May 2019 V6.5 binary for Windows 64 bit (AMD or NVIDIA!) .7z
July 2019 V6.5-84-30c0508 for Windows 64 bit residue type 1 .7z
V6.7-4-g278407a Windows build .7z
version uncertain, Woltman's test version .zip file of source suitable for Linux building
V6.10-9-g54cba1d Windows build .zip
V6.11-9-ga9e3189 Windows build .7z
Woltman's dropbox Windows build .exe
Another Woltman dropbox version .exe
V6.11-83-ge270393 Windows build .7z
v6.11-88 build for Windows .7z
gpuowl v6.11-99-gdd8527b Windows build .7z
v6.11-104-g91ef9a8 .zip
v6.11-112-gf1b00d1 Windows build .7z
January 2020 V6.11-116-g5ca090d P-1 PRP assignment split rewrite Windows build .7z
v6.11-132-gfd01ee5 Windows build .7z
January 2020 V6.11-134-g1e0ce1d Windows build .7z
February 2020 V6.11-142-gf54af2e Windows build .zip
v6.11-145-g6146b6d Windows build .zip
v6.11-147-g3b8b00e Windows build .zip
v6.11-148-gfc93773 Windows build .7z
March 2020 v6.11-163-gec98bfe Windows build .7z
v6.11-198-g628f3cd Windows build .7z
v6.11-219-ge70ec99 ffts up to 192M Windows build .7z
v6.11-?-af403e2 (by kracker) the return of LL? Windows build .zip
v6.11-255-g81fa7c3 max fft 96M Windows build .7z
v6.11-257-g39fc002 Windows build .7z
v6.11-259-g83434d8 Windows build .7z
April 2020 v6.11-264-g5c977d4-dirty Windows build .7z
v6.11-268-g0d07d21 Windows build .7z
v6.11-270-gf1fd1f7 Windows build .7z
v6.11-272-g07718b9 Windows build .7z
May 2020 v6.11-278-ga39cc1a Windows build .7z
v6.11-285-gf25ecbd Windows build .7z
v6.11-288-g20c4213 Jacobi check returns! .7z
v6.11-292-gecab9ae Windows build .7z
June 2020 v6.11-295-gaecf041 (the last I could build until ~ -316) .7z
v6.11-318-g3109989 Windows build, max fft 120M, includes PRP proof capability .7z
gpuowl for Windows 7 or up 64-bit v6.11-325-g7c09e38 .7z
gpuowl for Windows v611-327-g43cdf1c by Dylan14 .7z
gpuowl commit e5a8f2c for Google Colaboratory Linux environment built by Fan Ming .zip
gpuowl for Windows v6.11-330-ge5a8f2c .7z
July 2020 Gpuowl-win v6.11-335-gff60b08 .7z
Gpuowl-win v6.11-340-g41d435f .7z
Gpuowl-win v6.11-357-g1f41292 build .7z
Gpuowl-win v6.11-364-g36f4e2a .7z
August 2020 Gpuowl v6.11-366-gf887d6e for Linux Google Colab .7z
(Note, August development focused more on and less on the gpuowl executable.)
September 2020 Gpuowl for Linux v6.11-380-g79ea0cc .7z
Gpuowl for Windows v6.11-380-g79ea0cc .7z
April 2022 Gpuowl-win v6.11-382-g98ff9c7-dirty (proof powers 1-12) .zip

October 2020 Gpuowl for Windows v7.0-18-g69c2b85 .7z (LL and standalone P-1 removed, joint P-1/PRP introduced)
Gpuowl-win v7.0-26-g8e6a1d1 .7z
gpuowl-win v7.0-35-gf06bc5b .7z
gpuowl-win v7.0-40-gb62d4fd .7z
gpuowl-win v7.0-47-ga8664fe .7z
gpuowl-win v7.0-66-gebe49cc .7z

Note, do not use the self-verify option with v7.1, or the resulting proof files will be bad.
gpuowl-win v7.1-1-g0f73d04 .7z
(Ethan EO multiple vendors' OpenCL flavors) gpuowl-win v7.1-7 .7z
GpuOwl-win v7.1-11-g97cfbd2 2xSP fft experimentation .7z

November 2020 GpuOwl-win v7.2-2-ga135d8d .7z or .zip
gpuowl-win v7.2-13-g266aed4 .7z
gpuowl-win v7.2-21-g28dbf88 .zip
Febrary 2021 gpuowl-win v7.2-39-ga87a679 .zip
gpuowl-win v7.2-53-ge27846f
gpuowl-win v7.2-63-ge47361b
March 2021 gpuowl-win v7.2-69-g23c14a1
gpuowl 7.2-70 for Linux
November 2021 gpuowl-win v7.2-86-gddf3314
April 2022 gpuowl-win v7.2-93-ga5402c5-dirty (proof powers 1-12) .zip
October 2022 gpuowl-win v7.2-112-gd6ad1e0-dirty (proof powers 1-12)
December 2022 gpuowl-win v7.2-129-g2a16a0b P-1 stage on on GPU, GCD & stage 2 on mprime

For the current version source (and previous too)
A separate forum thread was created for Windows gpuowl build posting. It is here

Top of reference tree:

Last fiddled with by kriesel on 2022-12-10 at 19:34 Reason: V7.2-129 split P-1 gpuowl/mprime
kriesel is online now