log in |
1)
Message boards :
Number crunching :
2 GPUs, 2 tasks on one card, not utilizing gpu 1,
(Message 8638)
Posted 7 Jan 2023 by DeleteNull As far as I know: BOINC passes e.g. "-device 1" to the device so may be we have to update the code that it understands -device instead of -d. |
2)
Message boards :
Number crunching :
2 GPUs, 2 tasks on one card, not utilizing gpu 1,
(Message 8636)
Posted 7 Jan 2023 by DeleteNull Hello, this is the content of a job file: ../../projects/srbase.my-firewall.org_sr5/job_TF_l64c_00020.xml <job_desc> <task> <application>./mfaktc.exe</application> <append_cmdline_args/> </task> <unzip_input> <zipfilename>mfaktc-linux64-v6.zip</zipfilename> </unzip_input> </job_desc> if you want a device number you have to add a -d <number> parameter (default is 0) Usage: ./mfaktc.exe [options] -h display this help and exit -d <device number> specify the device number used by this program -tf <exp> <min> <max> trial factor M<exp> from 2^<min> to 2^<max> and exit instead of parsing the worktodo file -st run builtin selftest and exit -st2 same as -st but extended range for k_min/m_max -v <number> set verbosity (min = 0, default = 1, more = 2, max/debug = 3) |
3)
Message boards :
Number crunching :
Trial Factoring
(Message 8594)
Posted 30 Dec 2022 by DeleteNull Hello, you have to copy the needed libs into your library folder (for me /lib64). then create a link: e.g.: lrwxrwxrwx 1 root root 21 29. Dez 23:46 libcudart.so.12 -> libcudart.so.12.0.107 lrwxrwxrwx 1 root root 21 29. Dez 23:52 libcudart.so.12.0 -> libcudart.so.12.0.107 -rwxr-xr-x 1 root root 675168 29. Dez 23:45 libcudart.so.12.0.107 after this is done mfactc.exe can execute the self test: Selftest statistics number of tests 26192 successfull tests 26192 kernel | success | fail -------------------+---------+------- UNKNOWN kernel | 0 | 0 71bit_mul24 | 2586 | 0 75bit_mul32 | 2682 | 0 95bit_mul32 | 2867 | 0 barrett76_mul32 | 1096 | 0 barrett77_mul32 | 1114 | 0 barrett79_mul32 | 1153 | 0 barrett87_mul32 | 1066 | 0 barrett88_mul32 | 1069 | 0 barrett92_mul32 | 1084 | 0 75bit_mul32_gs | 2420 | 0 95bit_mul32_gs | 2597 | 0 barrett76_mul32_gs | 1079 | 0 barrett77_mul32_gs | 1096 | 0 barrett79_mul32_gs | 1130 | 0 barrett87_mul32_gs | 1044 | 0 barrett88_mul32_gs | 1047 | 0 barrett92_mul32_gs | 1062 | 0 selftest PASSED! |
4)
Message boards :
Number crunching :
Linux GPU errors
(Message 7014)
Posted 23 Nov 2020 by DeleteNull
No, I haven't. Performance is outstanding, so there is no need to do so (for me). |
5)
Message boards :
Number crunching :
Linux GPU errors
(Message 7002)
Posted 22 Nov 2020 by DeleteNull Depending on the flavour of Linux you are using you have to choose the right directory. For Ubuntu (and derivatives) it is /usr/lib and in OpenSuse it is /usr/lib64. But there are some other Linux Distros to confuse the user ;) |
6)
Message boards :
Number crunching :
mfaktc.exe --perftest for RTX3080/90 cards
(Message 6933)
Posted 12 Nov 2020 by DeleteNull o.k., thanks. With this number the result is: no factor for M219111587 from 2^70 to 2^71 [mfaktc 0.21 barrett76_mul32_gs] tf(): total time spent: 19.759s |
7)
Message boards :
Number crunching :
mfaktc.exe --perftest for RTX3080/90 cards
(Message 6931)
Posted 12 Nov 2020 by DeleteNull ~/mfakt/compile/mfaktc-master> ./mfaktc.exe --perftest mfaktc v0.21 (64bit built) Compiletime options THREADS_PER_BLOCK 256 SIEVE_SIZE_LIMIT 32kiB SIEVE_SIZE 193154bits SIEVE_SPLIT 250 MORE_CLASSES enabled Runtime options SievePrimes 25000 SievePrimesAdjust 1 SievePrimesMin 5000 SievePrimesMax 100000 NumStreams 3 CPUStreams 3 GridSize 3 GPU Sieving enabled GPUSievePrimes 82486 GPUSieveSize 64Mi bits GPUSieveProcessSize 16Ki bits Checkpoints enabled CheckpointDelay 30s WorkFileAddDelay 600s Stages enabled StopAfterFactor bitlevel PrintMode full V5UserID (none) ComputerID (none) AllowSleep no TimeStampInResults no CUDA version info binary compiled for CUDA 11.10 CUDA runtime version 11.10 CUDA driver version 11.10 CUDA device info name GeForce RTX 3080 compute capability 8.6 max threads per block 1024 max shared memory per MP 102400 byte number of multiprocessors 68 clock rate (CUDA cores) 1815MHz memory clock rate: 9501MHz memory bus width: 320 bit Automatic parameters threads per grid 557056 GPUSievePrimes (adjusted) 82486 GPUsieve minimum exponent 1055144 running a simple selftest... Selftest statistics number of tests 107 successfull tests 107 selftest PASSED! ERROR: get_next_assignment(): no valid assignment found in "worktodo.txt" which value shall worktodo.txt have? |
8)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6235)
Posted 15 Apr 2020 by DeleteNull I've patched mfakto, not mfaktc. So the mapping --device 0 to -d 00 is only implemented for AMD, not NVidia. (and only linux) |
9)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6233)
Posted 15 Apr 2020 by DeleteNull o.k., you can find the updated wrapper.cpp here: https://p-numbers.net/wrapper.cpp Works for mfakto (mfaktc), but will not work for LLR. |
10)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6231)
Posted 15 Apr 2020 by DeleteNull Do you have the complete wrapper.cpp file? The new wrapper works as expected. Task starts with 0%, switches to 100% after one minute. This is because there is no Mxxxxxx.ckp file in the first 5 minutes. After 5 minutes it switches to the percentage of the last Mxxxxxx.ckp. The remaining time increases (because the percentage stays at the old level for 5 minutes) After 10 minutes is the next update, and then every 5 minutes. Is this o.k., or shall I implement a smoother calculation of the percentage (a few more steps in the 5 minute interval)? |
11)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6225)
Posted 15 Apr 2020 by DeleteNull Theoretical both applicatins can support more than one (different) GPU. But: BOINC enumerates the GPU with 0, 1, 2, .... In OpenCl you have platforms, e.g. Intel=0, AMD=1, NVidia=2, and for each platform 1..n devices GPU. A mapping form 0, 1, 2 to 00, 10, 11 is different for each computer with more than one graphics device. So there is currently only one mapping --device 0 to d 00. (possible) Sorry to interject your development process. |
12)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6224)
Posted 15 Apr 2020 by DeleteNull No issues. In about an hour an "old" WU is finished, the new WU should use the new wrapper and I can report. I am not a C/C++ developer. The new method just reads the worktodo.txt with the number and contructs the file name for the checkpoint file of mfaktc/mfakto and calculates the fraction of "work done". This can be used by the method fraction_done() of the (original) wrapper. If it succeeds I will send you the wrapper.cpp so it can be used for Windows too. |
13)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6220)
Posted 15 Apr 2020 by DeleteNull What ending is exe? The file is named wrapper_26016_7.16_mfakt It is linux executable (-rwxr-xr-x) The new method is:
double getMfraction() {
FILE* f = fopen("worktodo.txt", "r");
if (!f) return 0;
char* p;
char buf[256];
p = fgets(buf, 256, f);
fclose(f);
if (p == NULL) return 0;
char * qch;
qch = strtok(p, "="); qch = strtok(NULL, ",");
int len = strlen(qch);
char mfile[6+len];
mfile[0] = 'M';
int i;
for (i = 0; i < len; i++) {
mfile[1+i] = qch[i];
}
mfile[1+len] = '.'; mfile[2+len] = 'c'; mfile[3+len] = 'k'; mfile[4+len] = 'p'; mfile[5+len] = '\0';
FILE* ff = fopen(mfile, "r");
if (!ff) return 0;
char* pp;
pp = fgets(buf, 256, ff);
fclose(ff);
if (pp == NULL) return 0;
char * pch;
int count = 0;
double all = 0, done = 0, frac = 0;
pch = strtok (pp, " ");
while (pch != NULL) {
count++;
if (count == 4) all = atof(pch);
if (count == 7) done = atof(pch);
pch = strtok (NULL, " ");
}
if (all > 0) frac = done / all;
if (frac < 0) return 0;
if (frac > 1) return 1;
return frac;
}
|
14)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6217)
Posted 15 Apr 2020 by DeleteNull 20:18:30 (19664): BOINC client no longer exists - exiting 20:18:30 (19664): timer handler: client dead, exiting |
15)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6215)
Posted 15 Apr 2020 by DeleteNull Does the wrapper work without BOINC? So I create a test dir and copy the files into it? And yes...you will get the source. |
16)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6213)
Posted 15 Apr 2020 by DeleteNull A new (test) version of the wrapper (mfakto/mfaktc) is here: https://p-numbers.net/wrapper_26016_7.16_mfakt The next test can begin..... |
17)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6200)
Posted 14 Apr 2020 by DeleteNull Will need another evening. C and characters (strings) are colliding worlds. |
18)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6174)
Posted 13 Apr 2020 by DeleteNull The old wrapper code is here Tomorrow (after work) I will try to implement a method in the wrapper that it can deal with the .ckp file. The ini file should change from CheckpointDelay=300 to CheckpointDelay=60. (both: NVidia and AMD) |
19)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6173)
Posted 13 Apr 2020 by DeleteNull I added a second PC to this test, and it runs too (had to reset the project). The good news: Two tests are running, one with Ubuntu 18.04, the other with Opensuse 15.1. One with driver 20.10 (Radeon 5500XT), the other with driver 19.50 (R9 380) One will need about 10 hours, the other will need 27 hours. The bad news: You have to wait with 100% until it's finished, or you have to extend the wrapper. |
20)
Message boards :
Number crunching :
Trial Factoring tests
(Message 6171)
Posted 13 Apr 2020 by DeleteNull In this case the file M97983883.ckp keeps the checkpoint: 97983883 77 78 4620 mfakto 0.15pre6: 17 0 B624ABF0 97983883 77 78 4620 mfakto 0.15pre6: 45 0 150D244C 97983883 77 78 4620 mfakto 0.15pre6: 72 0 7071D1B7 97983883 77 78 4620 mfakto 0.15pre6: 93 0 48AC81E6 97983883 77 78 4620 mfakto 0.15pre6: 116 0 9EC681F1 So the estimated runtime is 9:50 hours. But the name M97983883.ckp is different for each test. ...we need a few additional lines of code in the wrapper, so that it can handle the .ckp file. |