mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Hardware > GPU Computing > GpuOwl

Reply
Thread Tools
Old 2019-04-09, 22:57   #1057
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

153D16 Posts
Default

Quote:
Originally Posted by preda View Post
News:
Added arguments for bypassing worktodo.txt
-prp <exponent>
-pm1 <exponent>

Embedded gpuowl.cl in executable, the .cl file next to the executable is not needed anymore.
Welcome changes.

Are there any changes in the performance compared to v6.2?
Here's a Windows compile.
Attached Files
File Type: zip gpuowl-v6.4-f6d3153.zip (255.1 KB, 70 views)
kriesel is offline   Reply With Quote
Old 2019-04-09, 23:28   #1058
xx005fs
 
"Eric"
Jan 2018
USA

110101002 Posts
Default

Quote:
Originally Posted by preda View Post
Embedded gpuowl.cl in executable, the .cl file next to the executable is not needed anymore.

Does shared.h still need to be included in the folder?

Last fiddled with by xx005fs on 2019-04-09 at 23:28
xx005fs is offline   Reply With Quote
Old 2019-04-10, 00:29   #1059
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·457 Posts
Default

Quote:
Originally Posted by xx005fs View Post
Does shared.h still need to be included in the folder?
no
preda is offline   Reply With Quote
Old 2019-04-12, 12:17   #1060
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3·457 Posts
Default

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.
preda is offline   Reply With Quote
Old 2019-04-12, 13:26   #1061
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

101010110112 Posts
Default

Quote:
Originally Posted by preda View Post
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.
Please use v6.5 for the fix (just commited to github)

Last fiddled with by preda on 2019-04-12 at 13:26
preda is offline   Reply With Quote
Old 2019-04-12, 14:28   #1062
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

3×457 Posts
Default New in 6.5

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
preda is offline   Reply With Quote
Old 2019-04-12, 17:13   #1063
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

827 Posts
Default

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).
M344587487 is offline   Reply With Quote
Old 2019-04-12, 19:28   #1064
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

153D16 Posts
Default V6.5 gpuowl Windows build attempt failed

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
kriesel is offline   Reply With Quote
Old 2019-04-13, 05:14   #1065
SELROC
 

19·313 Posts
Default

Quote:
Originally Posted by kriesel View Post
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



https://github.com/preda/gpuowl/pull/41
  Reply With Quote
Old 2019-04-13, 05:50   #1066
preda
 
preda's Avatar
 
"Mihai Preda"
Apr 2015

137110 Posts
Default

Quote:
Originally Posted by M344587487 View Post
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).
This is the segfault, has been reported but no diagnosis yet: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90050

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.
preda is offline   Reply With Quote
Old 2019-04-13, 05:58   #1067
SELROC
 

23·3·131 Posts
Default

Quote:
Originally Posted by preda View Post
This is the segfault, has been reported but no diagnosis yet: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90050

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.

I have attempted to reproduce the segfault without success. I have fixed the Makefile by adding -lstdc++fs , the pull request is waiting.
  Reply With Quote
Reply



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

All times are UTC. The time now is 06:56.


Fri Aug 6 06:56:34 UTC 2021 up 14 days, 1:25, 1 user, load averages: 2.68, 2.65, 2.70

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.