mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software

Reply
 
Thread Tools
Old 2021-08-16, 12:57   #375
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

24·3·73 Posts
Default

Quote:
Originally Posted by S485122 View Post
sometimes the iteration times are about 10% higher for some exponents
I have no answer for you, but just confirming for anyone else pondering the problem that the reported FFT length is indeed identical for "fast" and "slow" results: 3145728
James Heinrich is offline   Reply With Quote
Old 2021-08-16, 15:41   #376
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

11010111102 Posts
Default

Quote:
Originally Posted by Prime95 View Post
The make process is a bit of a mess as you've discovered.

None of the make files deal with assembly code. Originally, only Microsoft MASM could assemble the source and MASM only ran under Windows. An object file converter by Agner Fog was used to create the Linux .o files. Recently, I switched to UASM, an open source MASM knockoff. In theory, UASM runs under Linux, but I've never tried it.
Haven't managed to get UASM to compile from the repo yet and the linux binary is a dead link. Got as far as it erroring on compile with clang-10/gcc/g++ because it can't find direct.h, a windows header (not sure if it's something I should be supplying or if cross-platform support is broken). The makefile wants to use clang-3.8 by default which is 4 years old, doesn't inspire much confidence that cross-platform support remains functional.

Assuming UASM can be compiled for Linux there are few issues with compile and compil64 that mean the makefiles fail (make doesn't like spaces instead of tabs, backslash delimiters fail, calling a bat file fails, attrib doesn't exist on Linux). I've attached versions that are some way towards functional on Linux. Object files are generated at least for 32 bit (untested), 64 bit fails on amd64/factor64.obj which may or may not be a makefile issue (this is with v30.3b6):
Code:
UASM v2.52, Apr  2 2021, Masm-compatible assembler.
Portions Copyright (c) 1992-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.

factor64.asm(1530) : Error A2049: Invalid instruction operands
factor64.asm: 6417 lines, 1 passes, 24 ms, 0 warnings, 1 errors
00f4:fixme:ver:GetCurrentPackageId (000000000021FDA0 0000000000000000): stub
make: *** [linuxcompil64:25: amd64/factor64.obj] Error 1
objconv compiles for Linux but as uasm didn't I had to use a bash wrapper using wine for now:
Code:
u20@u20:~$ cat bin/uasm64
#!/bin/bash
 WINEPREFIX=~/.prefix64 wine ~/bin/uasm64.exe "$@"
For the makefiles to have any chance of working objconv and uasm64 need to be in the PATH.

Technically uasm should be able to generate Linux-compatible object files directly but it's probably best that the object files are generated the same way regardless of the OS used during compilation.
Attached Files
File Type: xz linux-asm-scripts.tar.xz (880 Bytes, 20 views)
M344587487 is offline   Reply With Quote
Old 2021-08-16, 16:38   #377
drkirkby
 
"David Kirkby"
Jan 2021
Althorne, Essex, UK

44710 Posts
Default

Quote:
Originally Posted by M344587487 View Post
Haven't managed to get UASM to compile from the repo yet and the linux binary is a dead link. Got as far as it erroring on compile with clang-10/gcc/g++ because it can't find direct.h, a windows header (not sure if it's something I should be supplying or if cross-platform support is broken).
According to

https://en.wikipedia.org/wiki/Direct.h
direct.h in a Windows file, but POSIX versions of some of the functions are in unistd.h. So something like the following has some chance of working in a C file, so it compiles both on Linux and Windoze.
Code:
#ifdef __WINDOWS // Or whatever gets defined on a Windoze system. 
#include <direct.h>
#else
#include <unistd.h>
#endif

Last fiddled with by drkirkby on 2021-08-16 at 16:39
drkirkby is offline   Reply With Quote
Old 2021-08-24, 11:27   #378
moytrage
 
Jul 2021

3·11 Posts
Default generalization of p-1 and p+1

Quote:
Originally Posted by Prime95 View Post
Prime95 version 30.6 build 2 is available. You could be the first to find a new factor using P+1.
As you already have implemented both P-1 and P+1 methods in your software, have you looked into implementing a generalization of these two methods referred here (and paper is here), it allows to find factors for any B-smooth cyclotomic polynomial, like 1) p - 1, 2) p + 1, 3) p^2 + p + 1, 4) p^2 + 1, etc.

Of cause I expect that this generalization is much more difficult to implement, but allows to check more of B-smooth candidates. I don't know details of its mathematics, I just found this generalization reference in Wikipedia.

Last fiddled with by moytrage on 2021-08-24 at 11:29
moytrage is offline   Reply With Quote
Old 2021-08-24, 16:13   #379
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

1101101100002 Posts
Default PauseWhileRunning vs CERT work

I make use of PauseWhileRunning to pause Prime95 while other (sometimes long-running) jobs are active. One thing I have noticed is that Prime95 will still communicate with the server while it's paused and get Certification assignments which may not get worked on for hours/days/weeks. It's fine to communicate with the server while paused to send any queued results and update assignment ETA, but I don't think it should request certification (or any?) work while paused.
James Heinrich is offline   Reply With Quote
Old 2021-08-25, 00:41   #380
Zhangrc
 
"University student"
May 2021
Beijing, China

1558 Posts
Default Shutting down during proof generation results in redoing iterations

An old problem, see: https://www.mersenneforum.org/showthread.php?t=26933
AFAIK, writing a checkpoint file during proof generation is not so difficult, since only 500MB of RAM were used.
If that's not possible, We could still save the very last iteration of PRP, instead of resuming from 99.97%.

Last fiddled with by Zhangrc on 2021-08-25 at 00:45
Zhangrc is offline   Reply With Quote
Old 2021-08-27, 00:29   #381
diep
 
diep's Avatar
 
Sep 2006
The Netherlands

2·32·43 Posts
Default

hello, a few questions.

is p95 30.3 v6 the latest builld?

I have built a new CAD box obviously for designing parts. The CAD software forces me to use windows.

It is based upon cheap cpu's on the internet from china. Maybe they produced cheap some years ago couple of hundreds of thousands of magnificent intel cpu's which are for cheap on aliexpress now at 389 dollar or so i bought 2.

Intel Xeon e5-2699 ES 2.1Ghz.

Under full load that gives me 44 cores at 2.0Ghz in practice is what taskmanager reports. hyperthreading turned off.

Now i run a tad older 64 bits version of cllr64 as the latest build just had been compiled for 32 bits.

I run those currently at 38 cores.
p95 of the above build i try give 4 cores. I see first of all it uses affinity to cores - now windows scheduler ain't as bad as linux one there (regrettably for linux) so in my experiments with my chessprog in past that isn't a great plan on windows - but well YMMV.

Anyway in taskmanager i see it eats 7.6% - 7.8% system time whereas cllr64.exe eats at 4 cores 8.4 - 8.6% system time with of course 100% * 4 / 44 = 9.0% being the ideal.

Updating to P95 GUI i have set at 100k iterations. So that reports each few minutes here. The iter time gives a timing of roughly 7700+ seconds, whereas cllr64 possibly with older woltman library crunched it at 6337 seconds. That was by the way with box under full 44 cores load.

And right now theoretically spoken load is at maximum 42 cores. As 38 + 4 = 42.

What do i do wrong here?

The worktodo.txt let me try type it over by hand as the box is not on internet, otherwise i would have no life.

[Worker #1]
PRP=32767,2,6062241,-1
PRP=32767,2,6064449,-1
PRP=32767,2,6069089,-1
PRP=32767,2,6069873,-1

Kind Regards,
Vincent
diep is offline   Reply With Quote
Old 2021-08-27, 00:52   #382
moebius
 
moebius's Avatar
 
Jul 2009
Germany

2·313 Posts
Default

Quote:
Originally Posted by diep View Post
hello, a few questions.
is p95 30.3 v6 the latest builld?
No, 30.6 build 4 is more recent, look at this post
https://mersenneforum.org/showpost.p...&postcount=256
moebius is offline   Reply With Quote
Old 2021-08-27, 01:25   #383
diep
 
diep's Avatar
 
Sep 2006
The Netherlands

2×32×43 Posts
Default

Quote:
Originally Posted by Prime95 View Post
30.6 build 4 is ready

Several bug fixes: Torture tests, AVX-512 P+1 on FFT lengths that are a multiple of 7, best 36M FFT selection

Download links:

Before downloading, make sure prime.spl is uploaded to the server when upgrading from early versions of 30.6. There was a bug in spool file format for versions 30.6b1 and 30.6b2. Version 30.6b4 will have no trouble creating and reading spool files that are compatible with version 30.5 and earlier plus versions 30.6b3 and later.


Windows 64-bit: https://mersenne.org/ftp_root/gimps/p95v306b4.win64.zip
Linux 64-bit: https://mersenne.org/ftp_root/gimps/...linux64.tar.gz
Source code: https://mersenne.org/ftp_root/gimps/....source.tar.gz
thanks!
very good. other than source doesn't download the other 2 do. Will upgrade and test further.
also seems L3 cache bit overwhelmed here. Am going reduce number of processes cllr64 and give a few more threads to some that might be outside the 55MB L3 cache.

Note it is a v4 processor obviously with FMA3.
diep is offline   Reply With Quote
Old 2021-08-27, 01:55   #384
diep
 
diep's Avatar
 
Sep 2006
The Netherlands

2·32·43 Posts
Default

30.6 gives much better iteration times indeed! 1.13high to 1.14 ms / iteration.

If i do some math there it's however still whopping slower than cllr64.exe
Very obviously we can explain it by something that causes the system time to be too little it swallows.

It is 7.8 - 8.0% system time now.
That is far less than cllr64.exe shows.

If i see its output it says FFT size 512k. This would be at 8 bytes per double 4MB.
So if we have 2 arrays that's 8MB L3 cache needed possibly. Do i this math wrong?

Now i've got 55MB L3 for each cpu at 22 cores is 2.5MB /core.
This gets run at 4 cores so that's 10MB L3 theoretical seen available

All the other processes also got 4 cores roughly.

So only thing i could think of is priority it runs threads at. Where to modify this setting and to which?

Something is still wrong. Do not know what. Any thoughts?
diep is offline   Reply With Quote
Old 2021-08-27, 02:01   #385
moebius
 
moebius's Avatar
 
Jul 2009
Germany

2·313 Posts
Default Possible Error in p95 30.6 build 4?

The PRP proof interim resisdues files disapeared after several Test stop - Test continue operations from my m2.NVM SSD. Proof-File is lost unfortunately.
Isn't it better to write the new PRP proof interim resisdues files first (eventually under a other filename, and then rename it to the original filename) before deleting the old one? I don't know exact how the interim resisdues files are written to the filesystem with prime95.
Attached Thumbnails
Click image for larger version

Name:	p95-306b4.jpg
Views:	18
Size:	494.1 KB
ID:	25550  

Last fiddled with by moebius on 2021-08-27 at 02:08
moebius is offline   Reply With Quote
Reply

Thread Tools


All times are UTC. The time now is 05:33.


Mon Oct 25 05:33:38 UTC 2021 up 94 days, 2 mins, 0 users, load averages: 0.77, 0.93, 1.02

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.