IRIX and Software

pathscale compiler, anybody?

In 2001 SGI released 'open64', which is basically MIPSpro, with the frontends (licensed from EDG) replaced with GNU, and the MIPS code generator replaced with one targeted at the IA64.

'open64' was never a very popular OSS project, probably because of it's complexity, lack of support by SGI, and lack of people with IA64 hardware.

Then some of the key people of the original SGI compiler team created a new company, retargeted open64 from IA64 to x86-64 and voila: the pathscale EKOpath compiler was born. They added all sorts of goodies (openMP etc.), but the source code of the compiler is still covered by the SGI OSS license. If you google for 'open64-alchemy' you can find it. And it builds, not only on an opteron (which I don't have), but even on an ordinary x86! With IPA, LNO and all the other goodies I loved so much in MIPSpro :D

Right now it's busy rebuilding itself (I bootstrapped it with GCC), if that works I'll throw some numerical codes at it. I'm just wondering why it seems to be relatively unknown. And I wish they hadn't removed the MIPS backend. Just imagine :(

So, does anybody have any experience with this compiler (on x86 or x86-64)?
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
No. But it sounds worth checking out. Thanks.
Not at my Siggy now, but don't you get the MIPS backend with IDF/IDL et al and the frontend is the $$$$$$ licensed part??

Hmmm.... possibilities
8)
Wait a minute, gotta wipe the slobber from my lower lip...x86? Does that mean I can get rid of Borland?

:)
-ks

:Onyx: :Onyx: :Crimson: :O2000: :Onyx2: :Fuel: :Octane: :Octane2: :PI: :Indigo: :Indigo: :O2: :O2: :Indigo2: :Indigo2: :Indigo2IMP: :Indy: :320: :540: :O3x0: :1600SW: :1600SW: :hpserv:

See them all >here<
kshuff wrote: Wait a minute, gotta wipe the slobber from my lower lip...x86? Does that mean I can get rid of Borland?

:)

Only if you use Borland on Linux :wink:

Code: Select all

janjaap@twister:~$ uname -a
Linux twister 2.6.12-1-k7 #1 Wed Nov 9 00:30:20 CET 2005 i686 GNU/Linux
janjaap@twister:~$ pathcc --version
PathScale EKOPath(TM) Compiler Suite: Version 2.1
Built on: 2006-09-05 15:19:11 +0200
Thread model: posix
GNU gcc version 3.3.1 (PathScale 2.1 driver)

Copyright 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
Copyright 2002, 2003, 2004, 2005 PathScale, Inc.  All Rights Reserved.
See complete copyright, patent and legal notices in the
/vol/home/janjaap/open64/share/doc/pathscale-compilers-2.1/LEGAL.pdf file.
janjaap@twister:~$


My attempt to rebuild it with itself was less than successful, but that was probably due to my own incompetence/inexperience with the thing.

I tried to compare compilation speed between this and GNU g77 by timing both when building the NAG Fortran library (2626 files, ~800K lines), but failed because g77 doesn't compile all of it :roll:

Next attempt is to compare the speed of the code generated by building ATLAS with it, and benching it against a GCC built one. An issue came up where the compiler is too smart for a calibration program. 8) But I'd seen that one with MIPSpro on IRIX already. Right now it's building. That's going to take a couple of hours, we'll see what comes out.

If I were doing HPC type of things with an AMD64 or EM64T box or cluster I'd definately check them out. http://www.pathscale.com/ekopath.html
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
Here's a testrun of ATLAS, benching GCC (3.3.x) against pathscale (a.k.a. MIPSpro/x86), solving complex double matrixes on an Athlon XP 1600:

Code: Select all

./xzl3blastst


----------------------------------- GEMM ---------------------------------------
TST# A B    M    N    K     ALPHA  LDA  LDB      BETA  LDC TIME MFLOP SpUp  TEST
==== = = ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ==== ===== ==== =====
0 N N  100  100  100  1.0  0.0 1000 1000  1.0  0.0 1000  0.0 1600.3 1.00 -----
0 N N  100  100  100  1.0  0.0 1000 1000  1.0  0.0 1000  0.0 2000.5 1.25 PASS
1 N N  200  200  200  1.0  0.0 1000 1000  1.0  0.0 1000  0.0 1828.8 1.00 -----
1 N N  200  200  200  1.0  0.0 1000 1000  1.0  0.0 1000  0.0 1882.6 1.03 PASS
2 N N  300  300  300  1.0  0.0 1000 1000  1.0  0.0 1000  0.1 1928.9 1.00 -----
2 N N  300  300  300  1.0  0.0 1000 1000  1.0  0.0 1000  0.1 1963.9 1.02 PASS
3 N N  400  400  400  1.0  0.0 1000 1000  1.0  0.0 1000  0.3 1917.9 1.00 -----
3 N N  400  400  400  1.0  0.0 1000 1000  1.0  0.0 1000  0.3 1917.9 1.00 PASS
4 N N  500  500  500  1.0  0.0 1000 1000  1.0  0.0 1000  0.5 1887.1 1.00 -----
4 N N  500  500  500  1.0  0.0 1000 1000  1.0  0.0 1000  0.5 1887.1 1.00 PASS
5 N N  600  600  600  1.0  0.0 1000 1000  1.0  0.0 1000  0.9 1963.9 1.00 -----
5 N N  600  600  600  1.0  0.0 1000 1000  1.0  0.0 1000  0.9 1959.5 1.00 PASS
6 N N  700  700  700  1.0  0.0 1000 1000  1.0  0.0 1000  1.4 1981.5 1.00 -----
6 N N  700  700  700  1.0  0.0 1000 1000  1.0  0.0 1000  1.4 1977.2 1.00 PASS
7 N N  800  800  800  1.0  0.0 1000 1000  1.0  0.0 1000  2.1 1986.7 1.00 -----
7 N N  800  800  800  1.0  0.0 1000 1000  1.0  0.0 1000  2.1 1991.6 1.00 PASS
8 N N  900  900  900  1.0  0.0 1000 1000  1.0  0.0 1000  2.9 2002.4 1.00 -----
8 N N  900  900  900  1.0  0.0 1000 1000  1.0  0.0 1000  2.9 2003.7 1.00 PASS
9 N N 1000 1000 1000  1.0  0.0 1000 1000  1.0  0.0 1000  4.1 1964.0 1.00 -----
9 N N 1000 1000 1000  1.0  0.0 1000 1000  1.0  0.0 1000  4.1 1963.0 1.00 PASS

10 tests run, 10 passed


Always GCC first, then pathscale. Most of the math kernel is handcoded, so for large cases this is where the computation time goes and both score equal. In small cases, pathscale wins. In fact, it keeps the cpu very close to peak performance for the whole range.

PS: Yeah, this is hardly a numbercruncher box. Shoot me :lol:
Now this is a deep dark secret, so everybody keep it quiet :)
It turns out that when reset, the WD33C93 defaults to a SCSI ID of 0, and it was simpler to leave it that way... -- Dave Olson, in comp.sys.sgi

Currently in commercial service: Image :Onyx2: (2x) :O3x02L:
In the museum : almost every MIPS/IRIX system.
Wanted : GM1 board for Professional Series GT graphics (030-0076-003, 030-0076-004)
I have searched the forum and noticed that there is no message about the recent Pathscale compiler changes. The Pathscale Ekopath 4 compiler that was previously sold for approximately 2000 US$ is now open source. The press release is here:
http://www.pathscale.com/ekopath4-open- ... nouncement

The open source code for the compiler is here:
https://github.com/path64/compiler

The open source code for the debugger is here:
https://github.com/path64/debugger

There is an ongoing effort to integrate / release the MIPS64 backend of Ekopath 4, wich was a collaborative work of Pathscale and SiCortex.
:Fuel: 600 MHz, 2 GB RAM, 72 GB 15k RPM HD
:O2: 180 MHz
jan-jaap wrote: My attempt to rebuild it with itself was less than successful ...

Wrong equipment ?