Updated the ShellCheck linter to enable more checks.
Updated to install the PoCL OpenCL implementation on Linux, so that so the full -h output can be displayed with the FFT lengths. This currently only supports OpenCL 1.2, so it is not yet able to perform any actual tests of GpuOwl besides this help output.
Fixed the Windows Jobs, including installing the required GMP and OpenCL libraries.
For the Windows Clang job, it will now install the MSYS2 version of Clang, instead of using the provided Visual Studio version, which was incompatible with GpuOwl.
The MSYS2 "OpenCL ICD Loader" package does not support static linking, so it is not able to use make exe to build GpuOwl.
Setup Dependabot to keep the GitHub Actions workfile updated.
It will automatically create PRs when needed.
Removed Travis CI.
It is no longer free for Open Source projects.
Fixed 1 compiler error on Windows and 2 warnings (see below).
You may want to implement a more robust solution to fix the underlining issue.
Added support for PRP proof powers up to 12.
I ported the "best power" feature from Prime95/MPrime, so it will only use up to the optimal proof power for any given exponent. For wavefront exponents, this means it will only support up to proof power 9 for double checks and 10 for first time tests.
Updated the -h output on the README.
Here was the compiler error (the warnings were a similar issue):
src/main.cpp: In function 'int main(int, char**)':
src/main.cpp:45:12: error: no matching function for call to 'initLog(const std::filesystem::__cxx11::path::value_type*)'
45 | initLog((poolDir / "gpuowl.log").c_str());
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/common.h:5,
from src/Args.h:5,
from src/main.cpp:4:
src/log.h:11:6: note: candidate: 'void initLog()'
11 | void initLog();
| ^~~~~~~
src/log.h:11:6: note: candidate expects 0 arguments, 1 provided
src/log.h:12:6: note: candidate: 'void initLog(const char*)'
12 | void initLog(const char *);
| ^~~~~~~
src/log.h:12:14: note: no known conversion for argument 1 from 'const std::filesystem::__cxx11::path::value_type*' {aka 'const wchar_t*'} to 'const char*'
12 | void initLog(const char *);
| ^~~~~~~~~~~~
make: *** [Makefile:59: build-release/main.o] Error 1
Anyway, all six GitHub Actions jobs now succeed! Note that there are several additional compiler warnings, as well as lots of linter errors from Cppcheck and Clang-Tidy that you may want to look at. Many of the Clang-Tidy errors can be fixed automatically with the --fix flag. See the Actions tab for more information about the issues.
-O3
optimization in the Makefile for released builds and added-Og
optimization for debug builds.-h
output can be displayed with the FFT lengths. This currently only supports OpenCL 1.2, so it is not yet able to perform any actual tests of GpuOwl besides this help output.make exe
to build GpuOwl.-h
output on the README.Here was the compiler error (the warnings were a similar issue):
Anyway, all six GitHub Actions jobs now succeed! Note that there are several additional compiler warnings, as well as lots of linter errors from Cppcheck and Clang-Tidy that you may want to look at. Many of the Clang-Tidy errors can be fixed automatically with the
--fix
flag. See the Actions tab for more information about the issues.