SGI: Development

Fractal benchmark - Page 3

Martin Steen wrote: Is the O2 not a 64-bit-machine?
It's 10 years ago that I worked on a O2.

Here is another executable for you, compiled with compiler-switches -n32 -mips3:
http://www.martin-steen.de/sgi/n32/fractbatch.gz

Best regards,
Martin


Thanks for the new compiled version. Here is my O2 work time for run1.sh:

Code: Select all

real    3m2.04s
user    2m58.60s
sys     0m0.34s


And this is for run2.sh:

Code: Select all

real    3h13m53.64s
user    3h10m24.12s
sys     0m21.15s
Strangly, girls talks to me when I walk with my O2?!
Image R12k @ 300MHz, 384Mb Ram
[I've split this topic from this thread ]

GeneratriX wrote:
ShadeOfBlue wrote:
I will post the schematics & IRIX software when it's done (ironically, my Fuel and Indy are the only computers I own that have a standard PC-style parallel port :) ).

Now you got my whole attention! :) ...count me in to beta-test it here with the Octane when it's done. I can assembly the circuit as required! ;)

Finally got some more hobby time, so I've glanced through the specs for the parallel port and the Flash chip and I've come up with a rather clunky design :)

Five 74HCT374 latches (three for the address bus [24-bit], one for the data bus [8-bit], one for control lines [8-bit]), one 74HCT138 decoder (for controlling the clock inputs on the latches) and one 74HCT257 mux (for reading the data from the flash chip, 4 bits at a time).
The lines from the parallel port will have 4.7kOhm pullups and additional 33Ohm series resistors on the 8 data and 1 strobe line (for termination).

If all SGI's had bidirectional parallel ports, the design would have been simpler. Also, for programming just EEPROM's, a different design using a few 74HCT4040 counters would do the job instead.

I don't intend to include a 12V programming mode, since I don't have any chips to test this with.

The voltage regulator, overvoltage protection + fuse will be on a separate board (I plan on reusing it for other projects).
I will include test points for measuring voltage with a DMM or a scope and also a pin header with the addr+data+ctrl lines (for making custom socket adapters or viewing the signals on a logic analyzer).
[/mental core dump]

Now I only need to draw a schematic, order the parts and build it :)
Does anyone know of any good schematic drawing programs for IRIX?
ShadeOfBlue wrote:
Now I only need to draw a schematic, order the parts and build it :)
Does anyone know of any good schematic drawing programs for IRIX?


This was once a c program and had Irix binaries. If you think it looks good enough I can scrounge around and see if I still have it.

http://www.staticfreesoft.com/manual/
hamei wrote:
This was once a c program and had Irix binaries. If you think it looks good enough I can scrounge around and see if I still have it.

http://www.staticfreesoft.com/manual/

Thanks, this looks interesting, but I got the impression that it's for designing chips rather than circuit boards :)

I've done some googling and found xcircuit , which seems to do what I need for now. There's even a slightly older version in Nekoware, I'll give it a try.
ShadeOfBlue wrote:
Thanks, this looks interesting, but I got the impression that it's for designing chips rather than circuit boards :)


That's why we need an IRIX port for gEDA/PCB! ;)

ShadeOfBlue wrote:
I've done some googling and found xcircuit , which seems to do what I need for now. There's even a slightly older version in Nekoware, I'll give it a try.


Interesting, I'll take a look on the circuit once it is finished, and if some testings are required, I also have Oscilloscope, Signal Generator, and some other cool gadgets.

(Maybe one of the administrators could split this thread to help to focus/gain attention on this topic from ShadeOfBlue?)
All the best,
Diego

_________________
Oh!, let me write that!

https://www.facebook.com/GeekTronix
https://geekli.st/GeekTronixShop
https://www.rebelmouse.com/GeekTronixShop/
http://twitter.com/GeekTronixShop
http://www.youtube.com/GeekTronixStream
GeneratriX wrote:
That's why we need an IRIX port for gEDA/PCB! ;)

PCB compiles OK with MIPSpro 7.4.4, although only the GTK version, the Motif one looks broken.
I haven't really tried compiling the rest of the gEDA suite, the integration between schematics and PCB design looked a bit clumsy to me.

I currently build all prototypes on perfboards (since they haven't been that complex to need a PCB so far :) ), so xcircuit should do for now, but I've got some larger projects planned (a Motorola 68HC000-based system and later [much later :P ] an IDT R3052E-based system [the R3052E is a MIPS-I CPU with MMU]) -- I will look into compiling the entire suite and making a Nekoware package then. Since this is just a hobby, it may take a while to get to that :)

GeneratriX wrote:
Interesting, I'll take a look on the circuit once it is finished, and if some testings are required, I also have Oscilloscope, Signal Generator, and some other cool gadgets.

That would be great :)
I had a nice 2ch 50MHz scope, but the sweep unit broke down, so I'm having it repaired. I've also recently obtained a nice 80-channel logic analyzer (Tektronix 3001GPX).

GeneratriX wrote:
(Maybe one of the administrators could split this thread to help to focus/gain attention on this topic from ShadeOfBlue?)

Done :)
ShadeOfBlue wrote:
PCB compiles OK with MIPSpro 7.4.4, although only the GTK version, the Motif one looks broken.
I haven't really tried compiling the rest of the gEDA suite, the integration between schematics and PCB design looked a bit clumsy to me.


Well... yeap... it is not the best thing around if you ask me... but very useful when you take some time with it. There is also these thing 'xgsch2pcb' to increase a bit the feeling of integration.

I'm not a user of Protel and friends... but I'm pretty sure gEDA/PCB is a few years behind of that. Anyway, this is the only thing you could find with enough features for this kind of work.

There are also a few other FOSS tools over there , but I've tried all of them with Ubuntu, and each one of them lacks something vital for my work... so, right now I'm stuck with gEDA/PCB, which despites the uncomfortable, seems to fit the bill anyway.

ShadeOfBlue wrote:
I currently build all prototypes on perfboards (since they haven't been that complex to need a PCB so far :) ), so xcircuit should do for now, but I've got some larger projects planned (a Motorola 68HC000-based system and later [much later :P ] an IDT R3052E-based system [the R3052E is a MIPS-I CPU with MMU]) -- I will look into compiling the entire suite and making a Nekoware package then. Since this is just a hobby, it may take a while to get to that :)


I could not avoid to insist again on gEDA/PCB...

ShadeOfBlue wrote:
That would be great :)
I had a nice 2ch 50MHz scope, but the sweep unit broke down, so I'm having it repaired.


Oh well, I have pretty much an equivalent beast... in working order right now.

ShadeOfBlue wrote:
I've also recently obtained a nice 80-channel logic analyzer (Tektronix 3001GPX).


I don't think you'll require an oscilloscope having such a Tektronix beast at your lab! Wonderful stuff!

ShadeOfBlue wrote:
Done :)


Oops! :lol: ...I've not realized until now that you're yourself a moderator! Then my suggestion was not too dificult to do! :) Kudos! ;)

_________________
Oh!, let me write that!

https://www.facebook.com/GeekTronix
https://geekli.st/GeekTronixShop
https://www.rebelmouse.com/GeekTronixShop/
http://twitter.com/GeekTronixShop
http://www.youtube.com/GeekTronixStream
GeneratriX wrote:
There are also a few other FOSS tools over there , but I've tried all of them with Ubuntu, and each one of them lacks something vital for my work... so, right now I'm stuck with gEDA/PCB, which despites the uncomfortable, seems to fit the bill anyway.

What about kicad ? It looks like it has better integration and all the prerequisites are already in Nekoware.

GeneratriX wrote:
I could not avoid to insist again on gEDA/PCB...

I'll take a look at it either on Wednesday or over the weekend. If it compiles cleanly, I can probably put together a tarball for installation under /opt/geda and a proper Nekoware package sometime later.
If everything goes according to plan, I will test it by drawing the schematics for this parallel port programmer with it.

GeneratriX wrote:
I don't think you'll require an oscilloscope having such a Tektronix beast at your lab! Wonderful stuff!

It can only analyze digital signals, though :)
A scope is still invaluable for checking for ripple on the power supply lines and odd analog glitches.

I bought it about two weeks ago, I paid less than 180 EUR (including shipping) and it came with manuals, probes/pods, keyboard, software ... :)
It's even got an RS232 port for connecting it to a computer (then you can either use it as a dumb terminal or for file transfer [e.g. to send collected data to the computer or to receive symbol definitions, etc.]).

GeneratriX wrote:
ShadeOfBlue wrote:
Done :)


Oops! :lol: ...I've not realized until now that you're yourself a moderator! Then my suggestion was not too dificult to do! :) Kudos! ;)

:D
ShadeOfBlue wrote:
What about kicad ? It looks like it has better integration and all the prerequisites are already in Nekoware.


I could not recall why on the earth I've rejected KiCad... I guess something to do with the file formats, or compatibility with more than two hundreed existant schematics... but I could not be sure... have you already tried it?

...anyway ...please, be my guest: I'd love to install it on my Octane. I've already installed it on Ubuntu so I can try it here by now.

ShadeOfBlue wrote:
I'll take a look at it either on Wednesday or over the weekend. If it compiles cleanly, I can probably put together a tarball for installation under /opt/geda and a proper Nekoware package sometime later.
If everything goes according to plan, I will test it by drawing the schematics for this parallel port programmer with it.


Well, as I've said... you'll be my hero, my friend... just let me know the brand of argentinean wine you would like to taste, and bam!, I'll put a box way to you within a week! :P

ShadeOfBlue wrote:
It can only analyze digital signals, though :)
A scope is still invaluable for checking for ripple on the power supply lines and odd analog glitches.


Of course. I use a pretty nice LG, and I also use a few virtual scopes with the help of my Ubuntu box and some DIY level adapters and interfaces. Since I use to work a bit more with analog than digital signals, I don't feel the need for a logic analyzer right now... but tomorrow... who knows? ;)

ShadeOfBlue wrote:
I bought it about two weeks ago, I paid less than 180 EUR (including shipping) and it came with manuals, probes/pods, keyboard, software ... :)
It's even got an RS232 port for connecting it to a computer (then you can either use it as a dumb terminal or for file transfer [e.g. to send collected data to the computer or to receive symbol definitions, etc.]).


Let me wild bet! -have you managed to find it while you searched for a Prism ? :P That was a very good finding! There are a lot of projects you can tackle with such degree of instrumentation!

Well, I'll not spend more of your time for now... I just want to add to my above statements that I own hundreeds of brand new electronic components, so, it will be a pleasure to beta-test the circuits/apps for the ROM Programmer with my Octane here. In fact I think I already have here at my office all of the required components, excepting the high density parallel port cable.

EDIT: removed a wrong link.

_________________
Oh!, let me write that!

https://www.facebook.com/GeekTronix
https://geekli.st/GeekTronixShop
https://www.rebelmouse.com/GeekTronixShop/
http://twitter.com/GeekTronixShop
http://www.youtube.com/GeekTronixStream
I was just trying to compile GEDA yesterday, and so far, I've failed.

GEDA needs a newer cairo with pango support that has pango_cairo_show_error_underline. That again requires a few other updates to glib, guile and pixman, and of course fontconfig. I'm currently stuck at fontconfig, as the fc-cache just segfaults somewhere when it's traversing some double linked lists. Another issue is that poppler in nekoware is too old for cairo, but the current one fails with gspawn.h complaining that it only wants to be included from glib.h (which it is).

I was going to try kicad, but that needs a newer cmake than the one in nekoware, and I can't compile cmake because my /tmp is too small.

So far, all I've got is a tardist of guile and glib, plus some trivial patches for pango and fontconfig.

Edit: fontconfig just seems to have trouble with the old nekoware fontconfig, so I'll try removing that first tomorrow. A new harddrive mounted as /tmp enabled me to build cmake (will provide nekoware tardist tomorrow), but kicad fails to build with:
Code:
Signal: Segmentation fault in Front End Driver phase.
Error: Signal Segmentation fault in phase Front End Driver -- processing aborted
Hey there, Canavan! ...I hope it will work sooner or later. As you said, it seems time to arrange some kind of automated build for the whole nekoware thing!

_________________
Oh!, let me write that!

https://www.facebook.com/GeekTronix
https://geekli.st/GeekTronixShop
https://www.rebelmouse.com/GeekTronixShop/
http://twitter.com/GeekTronixShop
http://www.youtube.com/GeekTronixStream
GeneratriX wrote:
I could not recall why on the earth I've rejected KiCad... I guess something to do with the file formats, or compatibility with more than two hundreed existant schematics... but I could not be sure... have you already tried it?

Not yet, I intend to compile both kicad and gEDA and then decide which one I like better.

GeneratriX wrote:
Well, as I've said... you'll be my hero, my friend... just let me know the brand of argentinean wine you would like to taste, and bam!, I'll put a box way to you within a week! :P

Thanks, that's very kind of you :)
It looks like I'm going to have to race canavan for this privilege, though :D

GeneratriX wrote:
Of course. I use a pretty nice LG, and I also use a few virtual scopes with the help of my Ubuntu box and some DIY level adapters and interfaces. Since I use to work a bit more with analog than digital signals, I don't feel the need for a logic analyzer right now... but tomorrow... who knows? ;)

Building digital circuits is fun :)
The US eBay has lots of logic analyzers to choose from... just make sure you buy one that comes with the pods, as they are often very expensive on their own. The HP/Agilent units have all the documentation available online as well as the operating system software. Tektronix doesn't have that for their older models -- some manuals can be found as PDF scans and some units, like the 1241, have the software in a ROM. I intend to image the floppies that came with my 3001GPX and put them up somewhere (I doubt Tektronix would mind, this device is obsolete in their eyes).

GeneratriX wrote:
Let me wild bet! -have you managed to find it while you searched for a Prism ? :P

Quite possible :D
I then researched the various models a bit and decided on either this one or the HP 16500A (with the 100MHz card). This one showed up sooner and it was too good a deal to pass up.

GeneratriX wrote:
That was a very good finding! There are a lot of projects you can tackle with such degree of instrumentation!

My primary goal is to create a couple of primitive computers from scratch (at least one with a 68k and one with a MIPS CPU I mentioned before), but I've also been thinking of taking up reverse engineering, although I need to get some IC clips/grabbers before I can do that.
Now I can also properly debug the BCM912500A boards I have and find out why they're rebooting at memory initialization.

GeneratriX wrote:
Well, I'll not spend more of your time for now... I just want to add to my above statements that I own hundreeds of brand new electronic components, so, it will be a pleasure to beta-test the circuits/apps for the ROM Programmer with my Octane here. In fact I think I already have here at my office all of the required components, excepting the high density parallel port cable.

The schematics should be finished within a week, then I will need about a day to build it and write a sample app which makes patterns on the busses, so I can verify it works. Writing an app that can flash EEPROMs should be simple then, Flash ROMs will take some more time.
I intend to start writing AT29C010A support first, but other chips should be compatible as well, since the flashing procedure is most likely standardized.


canavan wrote:
A new harddrive mounted as /tmp enabled me to build cmake (will provide nekoware tardist tomorrow), but kicad fails to build with:
Code:
Signal: Segmentation fault in Front End Driver phase.
Error: Signal Segmentation fault in phase Front End Driver -- processing aborted

I get the same thing when compiling with the legacy configure scripts included in the package -- I will try lowering the optimization level later (although I think that won't help, the error is probably caused by odd syntax -- finding and rewriting the offending line will probably do the trick).

I've also built PCB with the GTK frontend this morning (builds nicely with -Ofast=ip35 and -IPA, seems to run properly) -- should I learn how to make Nekoware packages now, or wait till the rest of the gEDA suite is built, so we can make one large package with all the components?
ShadeOfBlue wrote:
canavan wrote:
A new harddrive mounted as /tmp enabled me to build cmake (will provide nekoware tardist tomorrow), but kicad fails to build with:
Code:
Signal: Segmentation fault in Front End Driver phase.
Error: Signal Segmentation fault in phase Front End Driver -- processing aborted

I get the same thing when compiling with the legacy configure scripts included in the package -- I will try lowering the optimization level later (although I think that won't help, the error is probably caused by odd syntax -- finding and rewriting the offending line will probably do the trick).

It looks like it crashes in include/board_item_struct.h, at the closing '};' of the enum Track_Shapes :?
I pin-pointed it to that location by putting '#warning ...' lines before and after '#include's and structures.
One line above the enum declaration is an include for the boost library, so maybe that has something to do with it.

This looks like a really weird compiler bug, so I'm not sure where to proceed from here (a gcc build perhaps?).

I've focused my attention on compiling gEDA now and I'm currently stuck at libguile 1.8.7, which has an odd error in a switch() statement... I'll see if 1.9.4-alpha is any better (otherwise I'll convert the switch into a series of if-else's).
ShadeOfBlue wrote:
Thanks, that's very kind of you :)
It looks like I'm going to have to race canavan for this privilege, though :D


I think with both inside we have a winner team! :P

ShadeOfBlue wrote:
-- should I learn how to make Nekoware packages now, or wait till the rest of the gEDA suite is built, so we can make one large package with all the components?


It could be probably better to have a one large package with all the components inside... I guess the only caveat is that SoftwareManager behaves a bit more slowly in this way, but I prefer this fashion because if you got many packages installed (like many of us use to do), you'll locate faster the gEDA/PCB suite anyway.

It seems the thing is closer! Wonderful!

_________________
Oh!, let me write that!

https://www.facebook.com/GeekTronix
https://geekli.st/GeekTronixShop
https://www.rebelmouse.com/GeekTronixShop/
http://twitter.com/GeekTronixShop
http://www.youtube.com/GeekTronixStream
ShadeOfBlue wrote:
If all SGI's had bidirectional parallel ports, the design would have been simpler.


I've generally been more in favour of serial port solutions as they are "more portable" between different types of machines.

_________________
Land of the Long White Cloud and no Software Patents.
GeneratriX wrote:
It could be probably better to have a one large package with all the components inside... I guess the only caveat is that SoftwareManager behaves a bit more slowly in this way, but I prefer this fashion because if you got many packages installed (like many of us use to do), you'll locate faster the gEDA/PCB suite anyway.

OK, I'll help out with the porting then and leave the packaging to canavan, since he has more experience with this :)

porter wrote:
I've generally been more in favour of serial port solutions as they are "more portable" between different types of machines.

I did think of that solution... A bit-shifter based programmer would have been more portable, but probably much slower, whereas a microcontroller based programmer would need to be programmed somehow [most modern ones let you do this via the serial port as well, but you need the software to do it]).


Regarding libguile: I've fixed the problem (only needed a few extra #ifdefs here and there), onward to other prerequisites :)
Here's the patch:
Attachment:
File comment: libguile patch
guile.patch [1.66 KiB]
Downloaded 34 times
Oskar45 wrote: Anyway, for fun I did a <time ./testrun.sh> [with the default sizes/iterations] and get on my Fuel 700Mhz:

Code: Select all

real    0m58.05s
user    0m46.82s
sys     0m0.19s


quite fast, compared to my 600MHz R14000 IP35 Fuel

Code: Select all

real    2m11.07s
user    1m45.13s
sys     0m0.57s


or have I missed something here eventually?
Valueing life is not weakness; disregarding it is not strength. -Mirage-
Image
So, I'm a little late to this party, but I was playing around yesterday with it.

I grabbed the initial build and the later N32 build. I don't know if you made any changes between them, but I ran both on a 500 MHz Fuel. I changed the text file so I'm only creating the _8 fractal, I liked it best.

Code: Select all

time ./fractbatch 1600 1024 $Iter $Threads jp.txt
time ./fractbatch32 1600 1024 $Iter $Threads jp-32.txt


N64 fractbench time wrote: real 33m19.41s
user 32m41.94s
sys 0m2.18s


N32 fractbench time wrote: real 28m16.96s
user 27m44.94s
sys 0m1.82s


I thought it was interesting to see, sure enough, 17% longer run time for N64 code.

ShadeOfBlue wrote: It is more efficient to run MIPS4 N32 code on all SGI machines that have an R5k or better CPU inside (and MIPS3 N32 for R4k). Compile it as 64-bit only if your app uses more than 2GB of memory, otherwise it will just cause a slow down and use more memory.
:O3000: :Fuel: :Tezro: :Octane2: :Octane: :Indigo: :Indigo: :Indigo: :O2: :1600SW: :Indigo2: :Indigo2: :Indigo2: :Indigo2IMP: :Indigo2IMP: :Indy: :Indy: <--challenge S
japes wrote: I thought it was interesting to see, sure enough, 17% longer run time for N64 code.

No surprise there :)

64-bit code has longer instructions, so it will effectively halve the available L1 and L2 cache and also require more memory fetches. The only benefit of having 64-bit code is, as I said before, the larger address space.

People who come from an x86 background often think that 64-bit code is faster everywhere, but this is really not the case. The only reason why x86_64 code is faster is that they've increased the number of available registers and made some other changes.
Hi!

A little bit late, but here are my results from an Indy 4400/200 (128 MB RAM) running IRIX 6.5.22

run1.sh

Code: Select all

real 30m.15.40s
user 24m.19.45s
sys 0m8.99s


Unfortunately tga2jpeg doesn't work on my system.

Cheers
Hilti
Started in October 2009. My collection so far.
:Indy: :Indy: :Octane2: and an Indy Presenter