mersenneforum.org  

Go Back   mersenneforum.org > Prime Search Projects > Sierpinski/Riesel Base 5

Reply
 
Thread Tools
Old 2007-12-05, 00:04   #408
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

13·89 Posts
Default Problems with Windows x86-64 executable

I have had two reports of the x86-64 executables crashing on Windows 64, one for sr1sieve and one for sr2sieve.

Has anyone else had problems with the x86-64 Windows version, especially an access violation soon after starting?

Conversely, has anyone successfully run the x86-64 executable on Vista 64?
geoff is offline   Reply With Quote
Old 2007-12-05, 00:36   #409
tnerual
 
tnerual's Avatar
 
Oct 2006

25910 Posts
Default

Quote:
Originally Posted by geoff View Post
Conversely, has anyone successfully run the x86-64 executable on Vista 64?
if nobody is running it, i will try it tomorrow (if vista accept to start)
tnerual is offline   Reply With Quote
Old 2007-12-06, 23:52   #410
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

48516 Posts
Default srsieve 0.6.9, sr1sieve 1.2.4, sr2sieve 1.6.15

These versions have a new switch: `sr2sieve -An ...' will set affinity to CPU n.

This feature is probably not useful on Linux where you can just as easily run `taskset -cn sr2sieve ...', It hasn't been tested on Windows yet, please let me know if it doesn't work as expected.
geoff is offline   Reply With Quote
Old 2007-12-07, 02:21   #411
AES
 
Jul 2007
Tennessee

60810 Posts
Default

Quote:
Originally Posted by geoff View Post
I have had two reports of the x86-64 executables crashing on Windows 64, one for sr1sieve and one for sr2sieve.

Has anyone else had problems with the x86-64 Windows version, especially an access violation soon after starting?

Conversely, has anyone successfully run the x86-64 executable on Vista 64?
sr1sieve-1.2.4-windows-x86-64 runs great on 64-bit Vista. I have not had problems with any version of sr2sieve on 64-bit Vista.

Thanks Geoff.
AES is offline   Reply With Quote
Old 2007-12-08, 01:15   #412
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

13·89 Posts
Default

It appears that there is a bug in the cross compiler I use to build the Windows x86-64 executables that probably affected all prior sr1sieve versions. sr1sieve version 1.2.4 has a workaround for the bug, and I have also added the workaround to the stable branch in sr1sieve version 1.1.13. Thanks AES for helping track this down.

If anyone builds their own executables, please avoid using GCC version 4.3.0 if possible.

edit: This problem didn't affect the Linux or 32-bit precompiled executables, I use GCC 3.4 to compile them.

Last fiddled with by geoff on 2007-12-08 at 01:20
geoff is offline   Reply With Quote
Old 2007-12-08, 13:28   #413
em99010pepe
 
em99010pepe's Avatar
 
Sep 2004

2×5×283 Posts
Default

Hey Geoff,

You are doing a great job on the sieving side what about the LLRring side?

Carlos
em99010pepe is offline   Reply With Quote
Old 2007-12-09, 00:27   #414
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

48516 Posts
Default Don't use Windows x86-64 executables for p > 2^51

There are more reports of problems with the sr2sieve 64-bit Windows executables, the common thread is that the problems occur in the x87 FPU code path which is used for sieving p > 2^51 or when the --no-sse2 switch is used.

I don't have any solution yet, and without a 64-bit Windows machine it could take a while to locate the problem, so in the meantime please use the 32-bit executable on 64-bit Windows machines for sieving above p=2^51 (about 2250e12 or 2250T).
geoff is offline   Reply With Quote
Old 2007-12-09, 00:34   #415
axn
 
axn's Avatar
 
Jun 2003

2×3×7×112 Posts
Default

Hmmm... At first, I thought that maybe this was the problem, but then ...
Quote:
Originally Posted by the article
Early reports claimed that the operating system scheduler would not save and restore the x87 FPU machine state across thread context switches. Observed behavior shows that this is not the case: the x87 state is saved and restored, except for kernel-mode-only threads. The most recent documentation available from Microsoft states that the x87/MMX/3DNow! instructions may be used in long mode.
Oh well.
axn is online now   Reply With Quote
Old 2007-12-10, 23:59   #416
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

13·89 Posts
Default sr1sieve 1.2.5, sr2sieve 1.6.16 (Windows x86-64)

I have found a place where the cross-compiler I use to build the x86-64 Windows executables generates incorrect code, causing an array overrun in the x87 FPU code path. This code path is only used when sieving deeper than 2^51 or when the --no-sse2 switch is given. The normal result is that the program crashes with an access violation soon after starting.

As a workaround I have lowered the compiler optimisation level to -O1 when building the sr1sieve version 1.2.5 and sr2sieve version 1.6.16 executables. This changes the part of the code which is obviously incorrect so that it is not obviously incorrect. It still needs to be tested. All earlier versions of the Windows x86-64 executables were affected by this bug and should not be used for sieving p > 2^51.

If compiling your own executable from source, avoid GCC 4.3.0 if possible, or else use the ARCH=x86-64-gcc430 Makefile option instead of ARCH=x86-64. This probably applies to the MacIntel executables too.
geoff is offline   Reply With Quote
Old 2007-12-11, 08:55   #417
Cruelty
 
Cruelty's Avatar
 
May 2005

23×7×29 Posts
Default

Would it be possible to append to sr(x)sieve.log file version information every time sieve is started? Just to track which versions completed which ranges in case some error occurs.
Cruelty is offline   Reply With Quote
Old 2007-12-12, 01:19   #418
geoff
 
geoff's Avatar
 
Mar 2003
New Zealand

115710 Posts
Default

Quote:
Originally Posted by Cruelty View Post
Would it be possible to append to sr(x)sieve.log file version information every time sieve is started? Just to track which versions completed which ranges in case some error occurs.
That is a very good idea, I'll do it ASAP. Thanks.
geoff is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Very Prime Riesel and Sierpinski k robert44444uk Open Projects 587 2016-11-13 15:26
Sierpinski/ Riesel bases 6 to 18 robert44444uk Conjectures 'R Us 139 2007-12-17 05:17
Sierpinski/Riesel Base 10 rogue Conjectures 'R Us 11 2007-12-17 05:08
Sierpinski / Riesel - Base 23 michaf Conjectures 'R Us 2 2007-12-17 05:04
Sierpinski / Riesel - Base 22 michaf Conjectures 'R Us 49 2007-12-17 05:03

All times are UTC. The time now is 12:11.


Mon Aug 2 12:11:58 UTC 2021 up 10 days, 6:40, 0 users, load averages: 1.49, 1.53, 1.48

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.