mersenneforum.org  

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

Reply
 
Thread Tools
Old 2021-03-22, 16:54   #1
drkirkby
 
"David Kirkby"
Jan 2021
Althorne, Essex, UK

32·13 Posts
Default Problems building "v7.2-69-g23c14a1" with gcc 10.2.0

I am running CentOs 7.8 on a Dell 7920 with an Nvdia 2100 graphics card.



I cloned the git repository of gpuowl yesterday, and built gcc 10.2.0, as my gcc was too old. But I run into a problem - see below. I'm not a C++ programmer, so don't know what to look for to be honest.



[dkirkby@jackdaw gpuowl]$ make
echo "`git describe --tags --long --dirty --always`" > version.new
diff -q -N version.new version.inc >/dev/null || mv version.new version.inc
echo Version: `cat version.inc`
Version: "v7.2-69-g23c14a1"
g++ -MT ProofCache.o -MMD -MP -MF .d/ProofCache.Td -Wall -g -O3 -std=gnu++17 -c -o ProofCache.o ProofCache.cpp
g++ -MT Proof.o -MMD -MP -MF .d/Proof.Td -Wall -g -O3 -std=gnu++17 -c -o Proof.o Proof.cpp
g++ -MT Pm1Plan.o -MMD -MP -MF .d/Pm1Plan.Td -Wall -g -O3 -std=gnu++17 -c -o Pm1Plan.o Pm1Plan.cpp
g++ -MT B1Accumulator.o -MMD -MP -MF .d/B1Accumulator.Td -Wall -g -O3 -std=gnu++17 -c -o B1Accumulator.o B1Accumulator.cpp
g++ -MT Memlock.o -MMD -MP -MF .d/Memlock.Td -Wall -g -O3 -std=gnu++17 -c -o Memlock.o Memlock.cpp
g++ -MT log.o -MMD -MP -MF .d/log.Td -Wall -g -O3 -std=gnu++17 -c -o log.o log.cpp
g++ -MT GmpUtil.o -MMD -MP -MF .d/GmpUtil.Td -Wall -g -O3 -std=gnu++17 -c -o GmpUtil.o GmpUtil.cpp
GmpUtil.cpp: In function ‘std::string GCD(u32, const std::vector<unsigned int>&, u32)’:
GmpUtil.cpp:104:25: error: ‘gcd’ was not declared in this scope
104 | mpz_class resultGcd = gcd((mpz_class{1} << exp) - 1, w - sub);
| ^~~
make: *** [GmpUtil.o] Error 1
drkirkby is offline   Reply With Quote
Old 2021-03-22, 17:15   #2
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

7·113 Posts
Default

Looks like the GMP dependency has not been met, "yum install gmp-devel" might do the trick but that's just a guess.
M344587487 is offline   Reply With Quote
Old 2021-03-23, 12:55   #3
drkirkby
 
"David Kirkby"
Jan 2021
Althorne, Essex, UK

32·13 Posts
Default

Quote:
Originally Posted by M344587487 View Post
Looks like the GMP dependency has not been met, "yum install gmp-devel" might do the trick but that's just a guess.
That does not do it - the gmp development package is already installed.

Code:
[root@jackdaw dkirkby]# yum install gmp-devel
Loaded plugins: fastestmirror, langpacks
<snip>
Package 1:gmp-devel-6.0.0-15.el7.x86_64 already installed and latest version
Nothing to do
[root@jackdaw dkirkby]#

I've noticed in the past that one version of gcc will compile a program, and another one will not. Can anyone suggest a version of gcc that is known to work? If so, I can compile that.
drkirkby is offline   Reply With Quote
Old 2021-03-26, 08:04   #5
drkirkby
 
"David Kirkby"
Jan 2021
Althorne, Essex, UK

32×13 Posts
Default


Thank you. It seems at least I will need to install another GMP then. I'm not moving to CentOS 8.x due to the policy changes from Redhat, and I need to run CentOS, Redhat or Suse Enterprise for a bit of commercial software.



It would really helpl if gpuowl used autoconf/automake to detect the systems capabilites and report missing libraries, version of gcc that are too old etc. Most software would catch these problems. There's not a readme file to indicate what one needs.
drkirkby is offline   Reply With Quote
Old 2021-03-26, 19:54   #7
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

7×113 Posts
Default

Quote:
Originally Posted by drkirkby View Post
Thank you. It seems at least I will need to install another GMP then. I'm not moving to CentOS 8.x due to the policy changes from Redhat, and I need to run CentOS, Redhat or Suse Enterprise for a bit of commercial software.
Any chance of using virtualisation to have your cake and eat it too? The commercial software could run in a CentOS/RedHat/whatever VM (easily if the software is not GPU-accelerated) with say a modern Debian 11 host, and for ease gpuowl should probably run on the host (with VFIO the GPU could be passed to a VM but it's finicky). Alternatively you could spin up a VM solely to compile gpuowl with a modern toolchain without having the dice roll of breaking the base system by installing multiple potentially incompatible toolchains around each other. My eyes have recently been opened to QEMU/KVM virtualisation using libvirt (virt-manager/virsh/oVirt for management), if the hardware is relatively modern to allow the use of KVM a guest VM runs at practically native speed.
M344587487 is offline   Reply With Quote
Old 2021-03-27, 12:25   #8
UBR47K
 
UBR47K's Avatar
 
Aug 2015

22×17 Posts
Default

Quote:
Originally Posted by drkirkby View Post
It would really helpl if gpuowl used autoconf/automake to detect the systems capabilites and report missing libraries, version of gcc that are too old etc. Most software would catch these problems. There's not a readme file to indicate what one needs.
I agree that they should be mentioned in the docs but autoconf is overkill for a project with so few dependencies (you get an idea what's missing when it errors out during build).

Afaik, gpuowl doesn't have any requirements for GCC, it already provides some workarounds for older gcc versions when possible. GCC 8.x and above should have no issues compiling it.

Last fiddled with by UBR47K on 2021-03-27 at 13:22
UBR47K is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
OFFICIAL "SERVER PROBLEMS" THREAD ewmayer PrimeNet 2127 2021-04-04 13:15
Aouessare-El Haddouchi-Essaaidi "test": "if Mp has no factor, it is prime!" wildrabbitt Miscellaneous Math 11 2015-03-06 08:17
Problem E7 of Richard Guy's "Unsolved problems in number theory" Batalov Computer Science & Computational Number Theory 40 2013-03-16 09:19
sr2sieve 1.9.3 "problems" pepi37 Software 8 2013-03-15 00:58
Would Minimizing "iterations between results file" may reveal "is not prime" earlier? nitai1999 Software 7 2004-08-26 18:12

All times are UTC. The time now is 21:34.

Wed Apr 21 21:34:34 UTC 2021 up 13 days, 16:15, 0 users, load averages: 1.91, 1.78, 1.79

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.