mersenneforum.org  

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

Reply
 
Thread Tools
Old 2022-03-24, 18:02   #1
Magellan3s
 
Mar 2022

61 Posts
Default What to do after "Make"

I have gotten pretty far along the process of getting this program running but I am still unable to perform any type of PRP testing. I have linux WSL working on ubuntu for linux and after a ton of work this is where I am at.

Quote:
(base) magallanes@Magellan:/mnt/c/Users/Jesus/gpuowl$ make
./tools/expand.py < gpuowl.cl > gpuowl-expanded.cl
cat head.txt gpuowl-expanded.cl tail.txt > gpuowl-wrap.cpp
echo "`git describe --tags --long --dirty --always`" > version.new
fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
diff -q -N version.new version.inc >/dev/null || mv version.new version.inc
echo Version: `cat version.inc`
Version: ""
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
g++ -MT Worktodo.o -MMD -MP -MF .d/Worktodo.Td -Wall -g -O3 -std=gnu++17 -c -o Worktodo.o Worktodo.cpp
g++ -MT common.o -MMD -MP -MF .d/common.Td -Wall -g -O3 -std=gnu++17 -c -o common.o common.cpp
g++ -MT main.o -MMD -MP -MF .d/main.Td -Wall -g -O3 -std=gnu++17 -c -o main.o main.cpp
g++ -MT Gpu.o -MMD -MP -MF .d/Gpu.Td -Wall -g -O3 -std=gnu++17 -c -o Gpu.o Gpu.cpp
g++ -MT clwrap.o -MMD -MP -MF .d/clwrap.Td -Wall -g -O3 -std=gnu++17 -c -o clwrap.o clwrap.cpp
g++ -MT Task.o -MMD -MP -MF .d/Task.Td -Wall -g -O3 -std=gnu++17 -c -o Task.o Task.cpp
g++ -MT Saver.o -MMD -MP -MF .d/Saver.Td -Wall -g -O3 -std=gnu++17 -c -o Saver.o Saver.cpp
g++ -MT timeutil.o -MMD -MP -MF .d/timeutil.Td -Wall -g -O3 -std=gnu++17 -c -o timeutil.o timeutil.cpp
g++ -MT Args.o -MMD -MP -MF .d/Args.Td -Wall -g -O3 -std=gnu++17 -c -o Args.o Args.cpp
g++ -MT state.o -MMD -MP -MF .d/state.Td -Wall -g -O3 -std=gnu++17 -c -o state.o state.cpp
g++ -MT Signal.o -MMD -MP -MF .d/Signal.Td -Wall -g -O3 -std=gnu++17 -c -o Signal.o Signal.cpp
g++ -MT FFTConfig.o -MMD -MP -MF .d/FFTConfig.Td -Wall -g -O3 -std=gnu++17 -c -o FFTConfig.o FFTConfig.cpp
g++ -MT AllocTrac.o -MMD -MP -MF .d/AllocTrac.Td -Wall -g -O3 -std=gnu++17 -c -o AllocTrac.o AllocTrac.cpp
g++ -MT gpuowl-wrap.o -MMD -MP -MF .d/gpuowl-wrap.Td -Wall -g -O3 -std=gnu++17 -c -o gpuowl-wrap.o gpuowl-wrap.cpp
g++ -MT sha3.o -MMD -MP -MF .d/sha3.Td -Wall -g -O3 -std=gnu++17 -c -o sha3.o sha3.cpp
g++ -MT md5.o -MMD -MP -MF .d/md5.Td -Wall -g -O3 -std=gnu++17 -c -o md5.o md5.cpp
g++ -Wall -g -O3 -std=gnu++17 -o gpuowl ProofCache.o Proof.o Pm1Plan.o B1Accumulator.o Memlock.o log.o GmpUtil.o Worktodo.o common.o main.o Gpu.o clwrap.o Task.o Saver.o timeutil.o Args.o state.o Signal.o FFTConfig.o AllocTrac.o gpuowl-wrap.o sha3.o md5.o -lstdc++fs -lOpenCL -lgmp -pthread -lquadmath -L/opt/rocm-4.0.0/opencl/lib -L/opt/rocm-3.3.0/opencl/lib/x86_64 -L/opt/rocm/opencl/lib -L/opt/rocm/opencl/lib/x86_64 -L/opt/amdgpu-pro/lib/x86_64-linux-gnu -L.
Magellan3s is offline   Reply With Quote
Old 2022-03-24, 19:12   #2
tServo
 
tServo's Avatar
 
"Marv"
May 2009
near the Tannhäuser Gate

23×32×11 Posts
Default

Quote:
Originally Posted by Magellan3s View Post
I have gotten pretty far along the process of getting this program running but I am still unable to perform any type of PRP testing. I have linux WSL working on ubuntu for linux and after a ton of work this is where I am at.

It would be easier to download the executables rather than to compile the source.
See:
https://mersenneforum.org/showthread.php?t=23391
tServo is offline   Reply With Quote
Old 2022-03-25, 09:08   #3
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

29×31 Posts
Default

  • It looks like it built, so there should be an executable called gpuowl (no extension) in the gpuowl directory that you can run with ./gpuowl
  • git describe failed to get the version from the .git directory, possibly because you downloaded a zip file instead of cloning, possibly something to do with WSL path weirdness. Either way it's minor issue
  • WSL didn't have GPU acceleration last I tried, it does now but I don't know if and how easily/smoothly OpenCL is supported. Even if you have an executable built that runs with no args there's a good chance it won't be able to do work as OpenCL may not be found. Give it a try but in the likely case of issues it's probably easier to then try a windows binary
M344587487 is offline   Reply With Quote
Old 2022-03-25, 09:43   #4
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Liverpool (GMT/BST)

2·5·599 Posts
Default

Quote:
Originally Posted by M344587487 View Post
  • It looks like it built, so there should be an executable called gpuowl (no extension) in the gpuowl directory that you can run with ./gpuowl
  • git describe failed to get the version from the .git directory, possibly because you downloaded a zip file instead of cloning, possibly something to do with WSL path weirdness. Either way it's minor issue
  • WSL didn't have GPU acceleration last I tried, it does now but I don't know if and how easily/smoothly OpenCL is supported. Even if you have an executable built that runs with no args there's a good chance it won't be able to do work as OpenCL may not be found. Give it a try but in the likely case of issues it's probably easier to then try a windows binary

I have CUDA working flawlessly. When I got CUDA working I tried and failed to get OpenCL working. That was very early days for WSL2 GPU acceleration though(Windows preview).

Last fiddled with by henryzz on 2022-03-25 at 09:43
henryzz is online now   Reply With Quote
Old 2022-03-25, 13:35   #5
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

38 Posts
Default

Which GPU make(s)/model(s) are you aiming to support in Gpuowl, Linux on WSL?

Hmm, duckduckgo again; last time I looked at it, to even try GPU on WSL required joining the MS Insider Program. (Can't find that link now.)

CUDA on WSL2 Win10 or 11 21H2 https://docs.microsoft.com/en-us/win...pu-cuda-in-wsl
Jupyter on WSL2 https://anchormen.nl/blog/data-scien...n-gpu-support/
CUDA, Pytorch, TensorFlow, DirectML https://docs.microsoft.com/en-us/win...rated-training
https://stackoverflow.com/questions/...ort-under-wsl2
https://www.phoronix.com/scan.php?pa...oneAPI-L0-WSL2
https://github.com/microsoft/WSL/issues/6372
https://forums.developer.nvidia.com/...support/177059
etc.

Note there's no mention of NVIDIA or AMD OpenCL working on WSL2 now, at least without being part of the Insider program or developer channel; https://www.jie-tao.com/enable-gpu-a...ai-frameworks/

Gpuowl requires OpenCL 2.0 for atomics. Recent versions run on OpenCL for NVIDIA or AMD as required, but on Intel (as in IGPs) is iffy in my experience & others'; some IGP models have worked, others not.

I would expect between Linux atop WSL atop Windows, and Windows, performance to be better running GPU apps on Windows directly. If the graphics-device-manufacturer-specific-OpenCL-v2.0 on Linux/WSL can be gotten to work at all.

Good luck. If you get it to work, please post a how-to with complete step by step instructions. And comparative benchmarks, running same hardware, gpuowl version, and inputs, on
a) Linux/WSL/Windows, and
b) Windows directly.

Last fiddled with by kriesel on 2022-03-25 at 13:44
kriesel is offline   Reply With Quote
Old 2022-03-25, 15:00   #6
Magellan3s
 
Mar 2022

61 Posts
Default

I am trying to use my Nvidia 3080ti. I have already gotten a few nvidia test programs up and running, specifically cuda and tensor. I will attempt "run with ./gpuowl" and post the results.



Quote:
Originally Posted by kriesel View Post
Which GPU make(s)/model(s) are you aiming to support in Gpuowl, Linux on WSL?

Hmm, duckduckgo again; last time I looked at it, to even try GPU on WSL required joining the MS Insider Program. (Can't find that link now.)

CUDA on WSL2 Win10 or 11 21H2 https://docs.microsoft.com/en-us/win...pu-cuda-in-wsl
Jupyter on WSL2 https://anchormen.nl/blog/data-scien...n-gpu-support/
CUDA, Pytorch, TensorFlow, DirectML https://docs.microsoft.com/en-us/win...rated-training
https://stackoverflow.com/questions/...ort-under-wsl2
https://www.phoronix.com/scan.php?pa...oneAPI-L0-WSL2
https://github.com/microsoft/WSL/issues/6372
https://forums.developer.nvidia.com/...support/177059
etc.

Note there's no mention of NVIDIA or AMD OpenCL working on WSL2 now, at least without being part of the Insider program or developer channel; https://www.jie-tao.com/enable-gpu-a...ai-frameworks/

Gpuowl requires OpenCL 2.0 for atomics. Recent versions run on OpenCL for NVIDIA or AMD as required, but on Intel (as in IGPs) is iffy in my experience & others'; some IGP models have worked, others not.

I would expect between Linux atop WSL atop Windows, and Windows, performance to be better running GPU apps on Windows directly. If the graphics-device-manufacturer-specific-OpenCL-v2.0 on Linux/WSL can be gotten to work at all.

Good luck. If you get it to work, please post a how-to with complete step by step instructions. And comparative benchmarks, running same hardware, gpuowl version, and inputs, on
a) Linux/WSL/Windows, and
b) Windows directly.
Magellan3s is offline   Reply With Quote
Old 2022-03-25, 15:06   #7
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

38 Posts
Default

Quote:
Originally Posted by Magellan3s View Post
I am trying to use my Nvidia 3080ti.
Because of that gpu family's extreme SP:DP performance ratio (64:1) it would be much better utilized in TF (mfaktc) than PRP or P-1 (Gpuowl). https://www.techpowerup.com/gpu-spec...-3080-ti.c3735
Mfaktc comparative performance between the two environments would be of interest. Or 3, if the system were dual boot, allowing native Linux also.

FYI, quoting an entire post is considered bad form on this forum. Quote the relevant snippet(s) only. Saves storage perhaps, and saves the readers time figuring out what's relevant. (I sometimes substitute ... for the omitted material so I can use a single shortened quote section.)

Last fiddled with by kriesel on 2022-03-25 at 15:14
kriesel is offline   Reply With Quote
Old 2022-03-25, 15:13   #8
Magellan3s
 
Mar 2022

61 Posts
Default

Quote:
./gpuowl
20220325 10:01:07 GpuOwl VERSION
20220325 10:01:07 GpuOwl VERSION
20220325 10:01:07 Note: not found 'config.txt'
20220325 10:01:07 device 0, unique id ''
20220325 10:01:07 Exception gpu_error: clGetPlatformIDs(16, platforms, (unsigned *) &nPlatforms) at clwrap.cpp:70 getDeviceIDs
20220325 10:01:07 Bye



Tried creating new config file and got

Quote:
(base) magallanes@Magellan:/mnt/c/Users/Jesus/gpuowl$ ./gpuowl
20220325 10:12:38 GpuOwl VERSION
20220325 10:12:38 GpuOwl VERSION
20220325 10:12:38 Args: unexpected 'RTX 3080 Ti ' in '-NVIDIA GeForce RTX 3080 Ti '
20220325 10:12:38 Exiting because "Argument syntax"
20220325 10:12:38 Bye
Magellan3s is offline   Reply With Quote
Old 2022-03-25, 15:15   #9
Magellan3s
 
Mar 2022

758 Posts
Default

Quote:
Originally Posted by Magellan3s View Post
Tried creating new config file and got



https://www.mersenneforum.org/attach...1&d=1648221309
Attached Thumbnails
Click image for larger version

Name:	3080ti.jpg
Views:	40
Size:	355.5 KB
ID:	26689  
Magellan3s is offline   Reply With Quote
Old 2022-03-25, 15:23   #10
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

38 Posts
Default

You haven't indicated what you put in the config.txt file you created. Run
Code:
./gpuowl -h >help.txt
Then read and follow the help.txt output.
A Gpuowl version's config.txt format follows similar type and syntax limitations as the same version's command line parameters. And requires a single line ending in a newline. There is no "-NVIDIA" command line parameter type for gpuowl, nor -AMD nor -Intel.
See also the config.txt portion of the introductory gpuowl reference info post for an example.
Please use the reference info.

Last fiddled with by kriesel on 2022-03-25 at 15:27
kriesel is offline   Reply With Quote
Old 2022-03-25, 15:30   #11
Magellan3s
 
Mar 2022

3D16 Posts
Default

Quote:
Originally Posted by kriesel View Post
You haven't indicated what you put in the config.txt file you created. Run
Code:
./gpuowl -h >help.txt
Then read and follow the help.txt output.
A Gpuowl version's config.txt format follows similar type and syntax limitations as the same version's command line parameters. And requires a single line ending in a newline. There is no "-NVIDIA" command line parameter type for gpuowl, nor -AMD nor -Intel.
See also the config.txt portion of the introductory gpuowl reference info post for an example.
Please use the reference info.
Quote:
(base) magallanes@Magellan:/mnt/c/Users/Jesus/gpuowl$ ./gpuowl -h
20220325 10:29:05 GpuOwl VERSION

-dir <folder> : specify local work directory (containing worktodo.txt, results.txt, config.txt, gpuowl.log)
-pool <dir> : specify a directory with the shared (pooled) worktodo.txt and results.txt
Multiple GpuOwl instances, each in its own directory, can share a pool of assignments and report
the results back to the common pool.
-uid <unique_id> : specifies to use the GPU with the given unique_id (only on ROCm/Linux)
-user <name> : specify the user name.
-cpu <name> : specify the hardware name.
-time : display kernel profiling information.
-fft <spec> : specify FFT e.g.: 1152K, 5M, 5.5M, 256:10:1K
-block <value> : PRP error-check block size. Must divide 10'000.
-log <step> : log every <step> iterations. Multiple of 10'000.
-carry long|short : force carry type. Short carry may be faster, but requires high bits/word.
-B1 : P-1 B1 bound
-B2 : P-1 B2 bound
-rB2 : ratio of B2 to B1. Default 20, used only if B2 is not explicitly set
-prp <exponent> : run a single PRP test and exit, ignoring worktodo.txt
-verify <file> : verify PRP-proof contained in <file>
-proof <power> : By default a proof of power 8 is generated, using 3GB of temporary disk space for a 100M exponent.
A lower power reduces disk space requirements but increases the verification cost.
A proof of power 9 uses 6GB of disk space for a 100M exponent and enables faster verification.
-autoverify <power> : Self-verify proofs generated with at least this power. Default 9.
-tmpDir <dir> : specify a folder with plenty of disk space where temporary proof checkpoints will be stored.
-results <file> : name of results file, default 'results.txt'
-iters <N> : run next PRP test for <N> iterations and exit. Multiple of 10000.
-maxAlloc <size> : limit GPU memory usage to size, which is a value with suffix M for MB and G for GB.
e.g. -maxAlloc 2048M or -maxAlloc 3.5G
-save <N> : specify the number of savefiles to keep (default 12).
-noclean : do not delete data after the test is complete.
-from <iteration> : start at the given iteration instead of the most recent saved iteration
-yield : enable work-around for Nvidia GPUs busy wait. Do not use on AMD GPUs!
-nospin : disable progress spinner
-use NEW_FFT8,OLD_FFT5,NEW_FFT10: comma separated list of defines, see the #if tests in gpuowl.cl (used for perf tuning)
-unsafeMath : use OpenCL -cl-unsafe-math-optimizations (use at your own risk)
-binary <file> : specify a file containing the compiled kernels binary
-device <N> : select a specific device:
20220325 10:29:05 Exception gpu_error: clGetPlatformIDs(16, platforms, (unsigned *) &nPlatforms) at clwrap.cpp:70 getDeviceIDs
20220325 10:29:05 Bye
(base) magallanes@Magellan:/mnt/c/Users/Jesus/gpuowl$

My config file is set to

-user Magallan3s -cpu Magellan -NVIDIA GeForce RTX 3080 Ti -2-w2 -device 1 -maxAlloc 7500
Magellan3s is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Things that make you go "Hmmmm…" Xyzzy Lounge 4466 2022-06-01 11:11
Aouessare-El Haddouchi-Essaaidi "test": "if Mp has no factor, it is prime!" wildrabbitt Miscellaneous Math 11 2015-03-06 08:17
In Prime95 linux64, "make clean" deletes factor64.o while it shouldn't. Explorer09 Software 1 2014-08-18 19:44
Any way to make the info in "Main" reappear? flipe Software 1 2012-02-22 06:33
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 17:03.


Sat Jun 25 17:03:56 UTC 2022 up 72 days, 15:05, 0 users, load averages: 1.09, 1.17, 1.19

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, 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.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔