![]() |
[QUOTE=SELROC;482861]What is the use of the -step argument in gpuOwl ?[/QUOTE]
It seems to me after a quick look at the source, the ability for the user to override the automatic program behavior, with a specified constant step count between Gerbicz checks. I interpret this to mean -step requires a step count parameter in the range 1000 to 500000 that are 1, 2, or 5 times a power of ten; 1000 or 2000 or 5000 or 10000 ... 500000. Or perhaps larger also. args.h excerpt: [CODE]else if (!strcmp(arg, "-step")) { if (i < argc - 1) { step = atoi(argv[++i]); if (step <= 0 || step % 1000) { log("invalid -step '%s', must be positive and multiple of 1000.\n", argv[i]); return false; } } else { log("-step expects <N> argument\n"); return false; } } [/CODE]gpuowl.cpp excerpt: [CODE]int autoStep(int nIters, int nErrors, int blockSize) { int x = nIters / (100 + nErrors * 1000); int steps[] = {1, 2, 5, 10, 20, 50, 100, 200, 500}; for (int i = 0; i < size(steps) - 1; ++i) { if (x < steps[i] * steps[i + 1]) { return std::max(steps[i] * 1000, blockSize * 2); } } return steps[size(steps) - 1] * 1000; } [/CODE]gpuowl.cpp again: [CODE] auto getCheckStep = [forceStep = args.step, startK = k, startErrors = nErrors, blockSize](int currentK, int currentErrors) { return forceStep ? forceStep : autoStep(currentK - startK, currentErrors - startErrors, blockSize); }; [/CODE]Two use cases I've run into are: 1) Hardware and software are very stable, exponent is far from an fft length limit, overhead of starting at small step sizes is not necessary, run a large step size from the start. (This case might benefit from adaptive step size after starting large if an error occurs during the run. Also user settable number of consecutive retries if an error occurs) 2) Repeatable error has occurred, such as the exponent is slightly too large for the fft length, I'd like to determine as finely as possible, at what iteration it occurs, with a rerun from last known good save file, using minimum step size until encountering the error again. (This case might benefit from a user set limit of retries 0 - ~9) before giving up on the exponent and starting or resuming the next worktodo entry.) |
Thanks , at first I believed it is the number of iterations between output lines.
|
[QUOTE=SELROC;482879]Thanks , at first I believed it is the number of iterations between output lines.[/QUOTE]
It may be both output and Gerbicz check interval. |
As requested... instructions on how to compile on windows (I use msys2.. and also there are probably better ways to do it but it's just how I did it)
1) Download, install and follow the instructions for updating MSYS2 here: [URL]https://www.msys2.org/[/URL] 2) Download and install AMD APP SDK(make sure you use the 64bit version) for Windows: [URL]https://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/[/URL] 3) Copy the contents of C:\Program Files (x86)\AMD APP SDK\3.0\lib\x86_64 to C:\msys64\mingw64\lib and C:\Program Files (x86)\AMD APP SDK\3.0\include to C:\msys64\mingw64\include 4) Install gcc (pacman -S mingw-w64-x86_64-gcc) 5) Download gpuowl sources and drop them somewhere(to /home/username/ is probably easiest) 6) Run MSYS2 from mingw64.exe and cd to the directory you extracted the source to 7) Compile by: g++ -c gpuowl.cpp g++ -o gpuowl.exe gpuowl.o -lOpenCL -static strip gpuowl.exe |
[QUOTE=kracker;483209]As requested... instructions on how to compile on windows[/QUOTE]
:tu: :goodposting: |
Save frequency option
Is there a command line option to control the frequency of saving a disaster-mitigator interim file, which seems to be produced at 10^7 iterations intervals in V1.9? I would like to try running at 5M iteration intervals for safety files. I don't see any in the V1.10 source. I suppose I could run something like the following
[CODE] set gp$saveno=0 set gp$exp=149448041 set gp$savdir=.\savefiles set /A gp$delay= 3600 * 12 :count if not exist .\savefiles\%gp$exp%.%gp$saveno%.gpsav goto loop set /A gp$saveno=gp$saveno+1 goto count :loop timeout /T %gp$delay% copy %gp$exp%.owl .\savefiles\%gp$exp%.%gp$saveno%.gpsav set /A gp$saveno=gp$saveno+1 dir .\savefiles\ goto loop :change exponent as required :create .\savefiles if it does not exist :change number of hours as desired :press a key to create a save file immediately :leave this run continuously in parallel with the gpu application [/CODE] |
work fetch for gpuowl
Hello is there a way to automate work fetch for gpuowl in linux ?
|
[QUOTE=SELROC;483735]Hello is there a way to automate work fetch for gpuowl in linux ?[/QUOTE]
primenet.py that's included with mlucas should* do the job: [url]http://www.mersenneforum.org/mayer/README.html#reserve[/url] Instead of -T 100 use one of these ids for PRP:[list][*]150 - Smallest available first-time PRP tests[*]151 - Double-check PRP tests[*]152 - World record PRP tests[*]153 - 100 million digit PRP tests[/list] Then you just need to create a symlink as gpuowl uses worktodo.txt instead of worktodo.ini (or replace all references to worktodo.ini with worktodo.txt in the script). *I say it should work because I just tried it, the exponents are being reserved but worktodo.ini isn't being written to for any of the 4 PRP requests. If you try this can you let me know how you get on please. |
[QUOTE=M344587487;483763]primenet.py that's included with mlucas should* do the job: [URL]http://www.mersenneforum.org/mayer/README.html#reserve[/URL]
Instead of -T 100 use one of these ids for PRP:[LIST][*]150 - Smallest available first-time PRP tests[*]151 - Double-check PRP tests[*]152 - World record PRP tests[*]153 - 100 million digit PRP tests[/LIST] Then you just need to create a symlink as gpuowl uses worktodo.txt instead of worktodo.ini (or replace all references to worktodo.ini with worktodo.txt in the script). *I say it should work because I just tried it, the exponents are being reserved but worktodo.ini isn't being written to for any of the 4 PRP requests. If you try this can you let me know how you get on please.[/QUOTE] Thank you, I will try this script while I wait for the feature to be incorporated in gpuowl |
[QUOTE=SELROC;483781]Thank you, I will try this script while I wait for the feature to be incorporated in gpuowl[/QUOTE]
The exponents are being reserved, but then I have to write them in the worktodo file by hand. I don't know for you but this script is pretty much useless in this status. |
[QUOTE=SELROC;483807]The exponents are being reserved, but then I have to write them in the worktodo file by hand. I don't know for you but this script is pretty much useless in this status.[/QUOTE]
Yes I said that. I think that it should work, and that the API just hasn't been fully updated for PRP yet. Short of scraping your assignment details page (or the API equivalent whatever that is) I'm not sure there's a solution. I could be wrong. |
| All times are UTC. The time now is 22:48. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.