![]() |
|
|
#1057 | |
|
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest
26×5×17 Posts |
Quote:
Are there any changes in the performance compared to v6.2? Here's a Windows compile. |
|
|
|
|
|
|
#1058 | |
|
"Eric"
Jan 2018
USA
22×53 Posts |
Quote:
Does shared.h still need to be included in the folder? Last fiddled with by xx005fs on 2019-04-09 at 23:28 |
|
|
|
|
|
|
#1059 |
|
"Mihai Preda"
Apr 2015
3×457 Posts |
|
|
|
|
|
|
#1060 |
|
"Mihai Preda"
Apr 2015
3·457 Posts |
There was a memory leak in the GCD, triggered when doing P-1. If somebody is doing many P-1, an update is recommended. PRP is not affected.
The symptom is gradually increasing memory use by gpuowl in time. Leak is on the order of 20MB per P-1 test. |
|
|
|
|
|
#1061 |
|
"Mihai Preda"
Apr 2015
3·457 Posts |
Please use v6.5 for the fix (just commited to github)
Last fiddled with by preda on 2019-04-12 at 13:26 |
|
|
|
|
|
#1062 |
|
"Mihai Preda"
Apr 2015
137110 Posts |
In recent commits (v6.5) I changed a bit how configuration and work files are handled.
A new command-line argument was added: "-dir", which takes a folder name. This allows to specify the working folder of the program. All the files are accessed in that folder, such as: worktodo.txt, gpuowl.log, results.txt, checkpoints. If -dir is not specified, the current directory is the working dir (i.e. this preserves the old behavior). A new special file was added, "config.txt". If it exists, it should contain arguments in the same syntax as the command line arguments. These arguments will be parsed and have the same effect as the ones on the command line, except that in case of conflict the command line wins. Example: I have two GPUs. I keep two work folders, one per gpu. In each folder I keep a config.txt containing something like: user preda -cpu r7 -device 1 -B1 300000 I can use a single openowl binary for both folders. I start them with something like: ./openowl -dir gpu0 ./openowl -dir gpu1 I can still override what's in config.txt on the command line: ./openowl -dir gpu0 -B1 500000 Let me know what you think. Also, there may be bugs or other problems. Last fiddled with by preda on 2019-04-12 at 14:30 |
|
|
|
|
|
#1063 |
|
"Composite as Heck"
Oct 2017
11001111002 Posts |
I think it's great. It'll allow for clean compartmentalisation without having to resort to sym links. The binary builds but seg faults with or without args (except -h) and with or without a config.txt. Could be a fault my end, I'm having to mess about transferring the source manually and the internet is not good enough to clone the entire repo (had to use --depth 1 for just the latest commit).
|
|
|
|
|
|
#1064 |
|
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest
26·5·17 Posts |
Same method as used for V6.4, produced
Code:
$ make openowl-win
g++ -Wall -O2 -std=c++17 -DREV=\"aa9f555f\" -Wall Pm1Plan.cpp GmpUtil.cpp Worktodo.cpp common.cpp gpuowl.cpp Gpu.cpp clwrap.cpp Task.cpp checkpoint.cpp timeutil.cpp Args.cpp Primes.cpp state.cpp Signal.cpp FFTConfig.cpp -o openowl -lOpenCL -lgmp -pthread -L/opt/rocm/opencl/lib/x86_64 -L/opt/amdgpu-pro/lib/x86_64-linux-gnu -L/c/Windows/System32 -L. -static
gpuowl.cpp: In function 'int main(int, char**)':
gpuowl.cpp:33:57: error: no matching function for call to 'std::__cxx11::basic_string<char>::basic_string(std::filesystem::__cxx11::path)'
log("Working directory: %s\n", string(current_path()).c_str());
^
In file included from C:/msys64/mingw64/include/c++/8.2.0/string:52,
from clwrap.h:8,
from Args.h:6,
from gpuowl.cpp:3:
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:649:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__sv_wrapper, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(__sv_wrapper __svw, const _Alloc& __a)
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:649:7: note: candidate expects 2 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:639:2: note: candidate: 'template<class _Tp, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Tp&, const _Alloc&)'
basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:639:2: note: template argument deduction/substitution failed:
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:628:2: note: candidate: 'template<class _Tp, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Tp&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&)'
basic_string(const _Tp& __t, size_type __pos, size_type __n,
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:628:2: note: template argument deduction/substitution failed:
gpuowl.cpp:33:57: note: candidate expects 4 arguments, 1 provided
log("Working directory: %s\n", string(current_path()).c_str());
^
In file included from C:/msys64/mingw64/include/c++/8.2.0/string:52,
from clwrap.h:8,
from Args.h:6,
from gpuowl.cpp:3:
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:614:9: note: candidate: 'template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&)'
basic_string(_InputIterator __beg, _InputIterator __end,
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:614:9: note: template argument deduction/substitution failed:
gpuowl.cpp:33:57: note: candidate expects 3 arguments, 1 provided
log("Working directory: %s\n", string(current_path()).c_str());
^
In file included from C:/msys64/mingw64/include/c++/8.2.0/string:52,
from clwrap.h:8,
from Args.h:6,
from gpuowl.cpp:3:
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:576:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(basic_string&& __str, const _Alloc& __a)
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:576:7: note: candidate expects 2 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:572:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(const basic_string& __str, const _Alloc& __a)
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:572:7: note: candidate expects 2 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:568:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:568:7: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'std::initializer_list<char>'
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:541:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(basic_string&& __str) noexcept
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:541:7: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'std::__cxx11::basic_string<char>&&'
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:529:7: note: candidate: 'template<class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, _CharT, const _Alloc&)'
basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:529:7: note: template argument deduction/substitution failed:
gpuowl.cpp:33:57: note: candidate expects 3 arguments, 1 provided
log("Working directory: %s\n", string(current_path()).c_str());
^
In file included from C:/msys64/mingw64/include/c++/8.2.0/string:52,
from clwrap.h:8,
from Args.h:6,
from gpuowl.cpp:3:
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:514:7: note: candidate: 'template<class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&)'
basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:514:7: note: template argument deduction/substitution failed:
gpuowl.cpp:33:55: note: cannot convert 'std::filesystem::current_path()()' (type 'std::filesystem::__cxx11::path') to type 'const char*'
log("Working directory: %s\n", string(current_path()).c_str());
~~~~~~~~~~~~^~
In file included from C:/msys64/mingw64/include/c++/8.2.0/string:52,
from clwrap.h:8,
from Args.h:6,
from gpuowl.cpp:3:
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:499:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long long unsigned int]'
basic_string(const _CharT* __s, size_type __n,
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:499:7: note: candidate expects 3 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:481:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long long unsigned int]'
basic_string(const basic_string& __str, size_type __pos,
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:481:7: note: candidate expects 4 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:465:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long long unsigned int]'
basic_string(const basic_string& __str, size_type __pos,
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:465:7: note: candidate expects 3 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:450:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long long unsigned int]'
basic_string(const basic_string& __str, size_type __pos,
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:450:7: note: candidate expects 3 arguments, 1 provided
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:437:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(const basic_string& __str)
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:437:7: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'const std::__cxx11::basic_string<char>&'
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:429:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:429:7: note: no known conversion for argument 1 from 'std::filesystem::__cxx11::path' to 'const std::allocator<char>&'
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:420:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
basic_string()
^~~~~~~~~~~~
C:/msys64/mingw64/include/c++/8.2.0/bits/basic_string.h:420:7: note: candidate expects 0 arguments, 1 provided
make: *** [Makefile:14: openowl-win] Error 1
|
|
|
|
|
|
#1065 | |
|
960910 Posts |
Quote:
https://github.com/preda/gpuowl/pull/41 |
|
|
|
|
#1066 | |
|
"Mihai Preda"
Apr 2015
3×457 Posts |
Quote:
I did work-around that problem by compiling with gcc-9, which is available on ubuntu 19.04 with "sudo apt install g++-9" I still don't understand how a problem so severe is in the wild like that. If more people hit it, I'll probably try to change the implementation to avoid using filesystem::path, although that's convenient. |
|
|
|
|
|
|
#1067 | |
|
947 Posts |
Quote:
I have attempted to reproduce the segfault without success. I have fixed the Makefile by adding -lstdc++fs , the pull request is waiting. |
|
|
![]() |
| Thread Tools | |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| mfakto: an OpenCL program for Mersenne prefactoring | Bdot | GPU Computing | 1676 | 2021-06-30 21:23 |
| GPUOWL AMD Windows OpenCL issues | xx005fs | GpuOwl | 0 | 2019-07-26 21:37 |
| Testing an expression for primality | 1260 | Software | 17 | 2015-08-28 01:35 |
| Testing Mersenne cofactors for primality? | CRGreathouse | Computer Science & Computational Number Theory | 18 | 2013-06-08 19:12 |
| Primality-testing program with multiple types of moduli (PFGW-related) | Unregistered | Information & Answers | 4 | 2006-10-04 22:38 |