mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Software (https://www.mersenneforum.org/forumdisplay.php?f=10)
-   -   How to run GIMPS on SCO OpenServer 5.0.6? (https://www.mersenneforum.org/showthread.php?t=3504)

ben 2005-01-04 07:55

How to run GIMPS on SCO OpenServer 5.0.6?
 
I has a HP Compaq ML370 G3 computer, 2xPentium Xeon 2.4GHz CPU, 4GBytes Memory, run on SCO OpenServer 5.0.6.
How to run GIMPS on this computer?

thinks,
Ben

ben 2005-01-04 08:06

Mlucas
 
I download Mlucas_src_10.21.04.tar.gz from [url]http://hogranch.com/mayer/README.html[/url] , this program need 64 bits integer(long long int), but SCO OpenServer 5.0.6's C complier: SCO UNIX Development System Release 5.1.2A 27Jul00, display error:
"./types.h", line 48: error: invalid type combination
types.h line 48 is: typedef long long int64;
How to I do?

thinks,
ben

Prime95 2005-01-04 15:30

Try Glucas, maybe you'll have better luck compiling that

ben 2005-01-05 02:17

Glucas
 
[QUOTE=Prime95]Try Glucas, maybe you'll have better luck compiling that[/QUOTE]

[url]http://glucas.sourceforge.net/glucas/index.html[/url]

thinks,
ben

ben 2005-01-08 03:02

Mlucas for SCO OpenServer 5.0.6
 
[url]http://ben.skyiv.com/test/Mlucas.htm[/url]

ben 2005-01-14 03:02

[QUOTE=Prime95]Try Glucas, maybe you'll have better luck compiling that[/QUOTE]
Dear Prime95:
Can you build Prime95 for SCO OpenServer 5.0.6?
On SCO OpenServer 5.0.6, gcc-3.4.3 compiler is valid.

thanks,
Ben

[B]BTW: Build gcc-3.4.3 on SCO OpenServer 5.0.6:[/B]
1. Install SCO OpenServer 5.0.6.
2. Install rs506a: Release Supplement 5.0.6A.
Download from: [url]ftp://ftp.sco.com/pub/openserver5/rs506a[/url].
3. Install oss646c: Execution Environment Supplement.
Download from: [url]ftp://ftp.sco.com/pub/openserver5/oss646c[/url].
4. Install gwxlibs-1.3.2.Ag: Supplemental Graphics, Web and X11 Libraries supplement.
Download from: [url]ftp://ftp.sco.com/pub/openserver5/opensrc/gwxlibs-1.3.2Ag[/url].
5. Install gnutools-v5.0.7kj: GNU Development Tools supplement.
Download from: [url]ftp://ftp.sco.com/pub/openserver5/opensrc/gnutools-5.0.7Kj[/url].
6. Download gcc-core-3.4.3.tar.gz and uncompress.
7. $ mkdir src; cd src;
8. $ tar xf gcc-core-3.4.3.tar
9. $ cd ../; mkdir obj; cd obj
10. $ ../src/gcc-3.4.3/configure --prefix=/usr/local/gcc-3.4.3 --with-gnu-as
11. $ make bootstrap
12. $ su
13. # make install
14. # exit
15. $ ../src/gcc-3.4.3/config.guess
[B]i686-pc-sco3.2v5.0.6[/B]
17. $ gcc -v
Reading specs from /var/opt/K/SCO/Unix/5.0.6Ga/usr/local/gcc-3.4.3/bin/../lib/gcc/i686-pc-sco3.2v5.0.6/3.4.3/specs
Configured with: ../src/gcc-3.4.3/configure --prefix=/usr/local/gcc-3.4.3 --with-gnu-as
Thread model: single
[B]gcc version 3.4.3[/B]
18. $ exit

ewmayer 2005-01-14 20:13

[QUOTE=ben][url]http://ben.skyiv.com/test/Mlucas.htm[/url][/QUOTE]

Apparently Ben was able to build Mlucas successfully on this platform - Ben, how did you resolve the compiler error related to the 'long long' typedef in types.h you mentioned in your first post?

Based on your Xeon timings, the gcc-built Mlucas is about half as fast as the p4-optimized Prime95 code on a Xeon (that sounds about right), so a version of Prime95 for this OS would be nice to have.

ben 2005-01-15 00:13

[QUOTE=ewmayer]
Ben, how did you resolve the compiler error related to the 'long long' typedef in types.h you mentioned in your first post?
[/QUOTE]
SCO OpenServer 5.0.6's C complier: SCO UNIX Development System Release 5.1.2A 27Jul00, not support the 'long long' type.
But gcc-3.4.3 complier support the 'long long' type.
see #6: [B]BTW: Build gcc-3.4.3 on SCO OpenServer 5.0.6:[/B]

ewmayer 2005-01-15 00:51

[QUOTE=ben]SCO OpenServer 5.0.6's C complier: SCO UNIX Development System Release 5.1.2A 27Jul00, not support the 'long long' type.
But gcc-3.4.3 complier support the 'long long' type.
see #6: [B]BTW: Build gcc-3.4.3 on SCO OpenServer 5.0.6:[/B][/QUOTE]

Try changing the 2 lines with 'typedef long long' in your local types.h file to have just one 'long' and see if you can get it to build using the above compiler - it would be interesting to compare the performance of the executables built by the 2 different compilers. The code will automatically test whether the resulting typedef still has the needed 64 bits on startup.

ben 2005-01-15 03:51

[QUOTE=ewmayer]Try changing the 2 lines with 'typedef long long' in your local types.h file to have just one 'long' and see if you can get it to build using the above compiler - it would be interesting to compare the performance of the executables built by the 2 different compilers. The code will automatically test whether the resulting typedef still has the needed 64 bits on startup.[/QUOTE]

qfloat.c include:
const struct qfloat QSQRT2 = {0x3FF6A09E667F3BCCull, 0x908B2FB1366EA958ull};

SCO UNIX Development System can't compile.

ewmayer 2005-01-17 16:25

[QUOTE=ben]qfloat.c include:
const struct qfloat QSQRT2 = {0x3FF6A09E667F3BCCull, 0x908B2FB1366EA958ull};

SCO UNIX Development System can't compile.[/QUOTE]

Boy, this compiler really dislikes 'long long' - looks like you'll need to change all occurrences of {64-bit const}ull to ...ul - luckily, all such occurrences are in just 2 files, qfloat.h and qfloat.c .

Prime95 2005-01-17 22:07

Ernst (and Guillermo),

Have you tried the QD double-double package? I've just switched it and the results have been good thusfar.

I had to switch because x86-64 does not support the 80-bit x87 FPU instructions - so I had to reimplement all that assembly language setup code.

ben 2005-01-18 03:47

[QUOTE=ewmayer]Boy, this compiler really dislikes 'long long' - looks like you'll need to change all occurrences of {64-bit const}ull to ...ul - luckily, all such occurrences are in just 2 files, qfloat.h and qfloat.c .[/QUOTE]
I modify:
types.h: line 48, line 49: long long => long
util.c: line 97, line 166: long long => long
qfloat.h, qfloat.c: ...ull => ...ul
then:
$ cc -o Mlucas *.c -lm
$ Mlucas
ERROR 14 in util.c
$

ewmayer 2005-01-18 17:05

[QUOTE=ben]I modify:
types.h: line 48, line 49: long long => long
util.c: line 97, line 166: long long => long
qfloat.h, qfloat.c: ...ull => ...ul
then:
$ cc -o Mlucas *.c -lm
$ Mlucas
ERROR 14 in util.c
$[/QUOTE]

If you look at ERROR 14 in util.c, you see that it implies that you are not getting 64 bits in you int64 types (i.e. sizeof(int64) != 8). So this compiler doesn't like 'long long' for ints, but just using 'long' appears to only give a 32-bit int. Is there a 64-bit compile option? If the SCO compiler simply doesn't support 64-bit ints (which I would find highly surprising), you're going to have to haver to use your gcc build.

[quote=Prime95]Have you tried the QD double-double package? I've just switched it and the results have been good thusfar.[/quote]

Have not tried it, though I've heard of it. The thing is, my hand-rolled qfloat-emulation functions need only one not-100%-guaranteed-by-the-C-language-standard thing - a 64-bit int type, which doesn't even need to be hardware-supported (i.e. it can be emulated), since these routines don't need to be fast. That seems not so much to ask.

ben 2005-01-19 09:02

[QUOTE=ewmayer] Is there a 64-bit compile option? If the SCO compiler simply doesn't support 64-bit ints (which I would find highly surprising), you're going to have to haver to use your gcc build.
[/QUOTE]
Yes, SCO compiler simply doesn't support 64-bit ints. No 64-bit compile option.

$ cat sizeof.c
#include <stdio.h>
#define PR(x) printf("sizeof("#x")\t= %d\n", sizeof(x))
main()
{
PR(void *);
PR(char);
PR(short);
PR(int);
PR(long);
PR(long long);
PR(float);
PR(double);
PR(long double);
}
$ gcc -o sizeof-gcc sizeof.c
$ sizeof-gcc
sizeof(void *) = 4
sizeof(char) = 1
sizeof(short) = 2
sizeof(int) = 4
sizeof(long) = 4
sizeof(long long) = 8
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 12
$ cc -o sizeof-cc sizeof.c /* delete PR(long long); line */
$ sizeof-cc
sizeof(void *) = 4
sizeof(char) = 1
sizeof(short) = 2
sizeof(int) = 4
sizeof(long) = 4
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 12
$
thus, in cc compiler long is 4 bytes.


All times are UTC. The time now is 21:45.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.