![]() |
![]() |
#1 |
"Ed Hall"
Dec 2009
Adirondack Mtns
22×1,151 Posts |
![]()
I have an AMD machine that was running Aliqueit fine with msieve until I just upgraded msieve. Now I'm getting an illegal instruction error. This CPU does not have SSE2, as I discovered when trying to run YAFU a while back, so I'm wondering if that is now the msieve problem.
I'd like to run the latest possible version, but realize this machine is limited. Unfortunately, as limited as it is, this AMD machine had been running everything faster than all my Intel machines, up until now. This isn't real urgent. I can just grab earlier versions and try them, but it would save a little compiling/testing time if the version is known. In case it's not SSE2 that's causing me trouble, here's my cpu info for this machine: Code:
vendor_id : AuthenticAMD cpu family : 6 model : 8 model name : AMD Athlon(tm) Processor stepping : 1 cpu MHz : 1795.623 cache size : 64 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up bogomips : 3591.24 clflush size : 32 cache_alignment : 32 address sizes : 34 bits physical, 32 bits virtual power management: ts |
![]() |
![]() |
![]() |
#2 |
"Ed Hall"
Dec 2009
Adirondack Mtns
22×1,151 Posts |
![]()
OK, memory is a bad thing to rely on sometimes...
Anyway, I found some records that show that I've had to use an early version for quite some time on this machine. Actually, the version I was using was revision 423. So whatever changed way back then was the issue. No further info is needed on this. I consider it resolved (until next time my memory takes a stroll). I'll revert back to 423 and move on. |
![]() |
![]() |
![]() |
#3 |
Tribal Bullet
Oct 2004
354510 Posts |
![]()
I think what happened was that the default architecture on 32-bit builds was changed from -march=athlon-xp to -march=k8 long ago. The athlon xp flag would not work on a 64-bit system because that's a 32-bit processor, so the choice was either using k8 (which has SSE2) for everything or remembering to change a line in the Makefile every time you moved to a 64-bit system. Since I kept forgetting to do the latter, the choice was clear :)
I do wonder whether it's time to change the default machine flag to something like a core2 though... |
![]() |
![]() |
![]() |
#4 |
"Ed Hall"
Dec 2009
Adirondack Mtns
22·1,151 Posts |
![]()
Thank you!
I grafted that line from the revision 423 Makefile into the current one and now 636 is running on this machine. Guess I should have inquired earlier... Thanks for a great program and support! |
![]() |
![]() |
![]() |
#5 |
Tribal Bullet
Oct 2004
67318 Posts |
![]()
No problem, you in particular seem to have suffered inordinately because of my code :)
|
![]() |
![]() |
![]() |
#6 |
Sep 2009
2·3·163 Posts |
![]()
FWIW, on x86/x86_64 platforms, GCC 4.2 (first released in May 2007) and newer support -march=native, which triggers automatic detection of the processor family GCC is being run on, and determination of the best -march setting among the processor models supported by that GCC version :)
I've been using it locally for a while on two Core 2 (Duo) and an Athlon II X4 when compiling msieve. |
![]() |
![]() |
![]() |
#7 |
Tribal Bullet
Oct 2004
5·709 Posts |
![]()
I've considered using that option before, but too many distros still ship with 4.1.x and I don't want to deal with people complaining that the build doesn't work because their gcc is too old. Though lately I haven't gotten many complaints about -march=k8, so probably enough machines do support SSE2.
|
![]() |
![]() |
![]() |
#8 |
"Ed Hall"
Dec 2009
Adirondack Mtns
22·1,151 Posts |
![]()
@jasonp: I hope my suffering wasn't too disturbing.
![]() @jasonp & debrouxl: I just tried: Code:
OPT_FLAGS = -O3 -fomit-frame-pointer -march=native -DNDEBUG -D_LARGEFILE64_SOURCE My machines are pretty old, but the OS's aren't. Thanks again for everything. |
![]() |
![]() |
![]() |
#9 |
Basketry That Evening!
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88
3·29·83 Posts |
![]()
I would say it's definitely time to move the -march to native. I'd be shocked if there's still a distro that ships gcc 4.1.*. Even Ubuntu 11.04, as EdH points out in the post above me, ships with 4.5, and gcc stable is up to 4.7 now, with 4.8 under development.
|
![]() |
![]() |
![]() |
#10 |
Just call me Henry
"David"
Sep 2007
Liverpool (GMT/BST)
2·5·599 Posts |
![]()
What does Ubuntu 10.04 LTS ship with? There are probably a few with that still. It is supported until april 2013 I think.
|
![]() |
![]() |
![]() |
#11 | ||
Basketry That Evening!
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88
160658 Posts |
![]() Quote:
Quote:
|
||
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
No results for Recently set up GPU 2 72 computer | jschwar313 | GPU to 72 | 3 | 2016-01-31 16:41 |
Contributions to msieve source code | mickfrancis | Msieve | 23 | 2014-05-15 16:52 |
Source Code for msieve ? | mohamed | Msieve | 8 | 2013-12-14 01:04 |
Recently added | T.Rex | mersennewiki | 20 | 2011-04-09 02:23 |
Questions about SSE2 code and Factoring | Joe O | Software | 2 | 2002-09-13 23:39 |