caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Ocamlopt for R4000?
@ 1999-08-23  8:43 Ken Wakita
  1999-08-23 15:55 ` Yozo Toda
  1999-08-31 19:16 ` Xavier Leroy
  0 siblings, 2 replies; 6+ messages in thread
From: Ken Wakita @ 1999-08-23  8:43 UTC (permalink / raw)
  To: caml-list


We have just started a project to develop an MPI-based ocaml compiler
for an NEC's massively parallel machine called Cenju-4.  The target
machine comes with sixty-four R4000 processors communicating via
highspeed processor network.  Unfortunately, the MIPS family the latest
version of ocaml supports seems to be R10000 or higher.

Does anybody already ported the native code compiler for ocaml-2.0x to
R4000?

Any information is appreciated.

Ken Wakita
Tokyo Institute of Technology




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ocamlopt for R4000?
  1999-08-23  8:43 Ocamlopt for R4000? Ken Wakita
@ 1999-08-23 15:55 ` Yozo Toda
  1999-08-31 19:16 ` Xavier Leroy
  1 sibling, 0 replies; 6+ messages in thread
From: Yozo Toda @ 1999-08-23 15:55 UTC (permalink / raw)
  To: caml-list


> Does anybody already ported the native code compiler for ocaml-2.0x to
> R4000?

there is a series of workstations from NEC, EWS4800, with mips R4000 cpu.
I believe Cenju-4 and EWS4800 use totally different OSes, so,
this message is not so interesting for wakita san, but here goes...

I compiled (a part of) ocaml-2.02 on EWS4800.
I can build the bytecode system successfully, but
compilation of the native code system failed.
I suppose the #ifdef code around signal handling should be modified a little.
(and I don't know how many other problems remain.) 

I logged the compilation process using script command.  see 
  <http://aohakobe.ipc.chiba-u.ac.jp/misc/docs/ocaml/ews4800/>
  <ftp://aohakobe.ipc.chiba-u.ac.jp/misc/docs/ocaml/ews4800/>
if you're interested.

-- yozo.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ocamlopt for R4000?
  1999-08-23  8:43 Ocamlopt for R4000? Ken Wakita
  1999-08-23 15:55 ` Yozo Toda
@ 1999-08-31 19:16 ` Xavier Leroy
  1999-09-01 15:23   ` Y2K related changes Friedman Roy
       [not found]   ` <37D79CA3280.39A6KEN.WAKITA@mail.is.titech.ac.jp>
  1 sibling, 2 replies; 6+ messages in thread
From: Xavier Leroy @ 1999-08-31 19:16 UTC (permalink / raw)
  To: Ken Wakita, caml-list

> We have just started a project to develop an MPI-based ocaml compiler
> for an NEC's massively parallel machine called Cenju-4.  The target
> machine comes with sixty-four R4000 processors communicating via
> highspeed processor network.  Unfortunately, the MIPS family the latest
> version of ocaml supports seems to be R10000 or higher.

I don't have my MIPS manuals handy right now, but as far as I can
remember, all MIPS processors except the R2000 and R3000 should work.

>From the nice logs made available by Yozo Toda, the problem seems to
be with the operating system rather than with the processors.  Namely,
there is one piece of strongly OS-specific code in the ocamlopt
runtime system.  It's a signal handler that needs (on some target
processors, including the MIPS) to access the saved register state at
the time the signal was taken.  How to do so depends strongly on the
operating system.  The current code for the MIPS works on IRIX and
perhaps Ultrix as well, but doesn't seem to work on your
machine. You'll have to look at the manual pages for signal-handling
routines, and perhaps also at /usr/include/signal.h, to see how to do
it for your operating system.

Regards,

- Xavier Leroy




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Y2K related changes
  1999-08-31 19:16 ` Xavier Leroy
@ 1999-09-01 15:23   ` Friedman Roy
  1999-09-06 17:52     ` Xavier Leroy
       [not found]   ` <37D79CA3280.39A6KEN.WAKITA@mail.is.titech.ac.jp>
  1 sibling, 1 reply; 6+ messages in thread
From: Friedman Roy @ 1999-09-01 15:23 UTC (permalink / raw)
  To: caml-list

Were there any Y2K related changes in Ocaml from version 1.05 to 2.02?

Thanks,

Roy




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Y2K related changes
  1999-09-01 15:23   ` Y2K related changes Friedman Roy
@ 1999-09-06 17:52     ` Xavier Leroy
  0 siblings, 0 replies; 6+ messages in thread
From: Xavier Leroy @ 1999-09-06 17:52 UTC (permalink / raw)
  To: Friedman Roy, caml-list

> Were there any Y2K related changes in Ocaml from version 1.05 to 2.02?

No year 2000 changes.  As far as we know, all versions of OCaml are
Y2K-safe.

However, OCaml 1 has a year 2004 problem in the Unix library: the type
"int" was used to represent a number of seconds since the Unix epoch,
and since Caml integers are signed, 31 bit (on 32-bit platforms), this
causes a roll-over in Jan 2004.

To work around this problem, OCaml 2 uses the type "float" to
represent Unix time.  This ensures correct time values till the year
570843811, and progressive degradation of the accuracy of time values
afterwards :-)

- Xavier Leroy




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ocamlopt for R4000?
       [not found]   ` <37D79CA3280.39A6KEN.WAKITA@mail.is.titech.ac.jp>
@ 1999-09-16 13:22     ` Xavier Leroy
  0 siblings, 0 replies; 6+ messages in thread
From: Xavier Leroy @ 1999-09-16 13:22 UTC (permalink / raw)
  To: Ken Wakita; +Cc: caml-list

> Thank you very much for your information.
> 
> We already met the signal handling problem and tried to fix it.  The
> thing even worse is that the assembler that comes with Cenju-4 does not
> accept 64bit code.  It might be the case that the MPU version is
> R3000???

Probably not, but all MIPS processors can be run in R3000
compatibility mode, where the 64-bit instructions are not accessible
and there are only 16 64-bit floating-point registers.  (This is what
SGI calls the "o32" model under IRIX.)  It seems like your machine is
doing this.

The ocamlopt compiler used to produce "o32" code, but then SGI IRIX
phased out "o32", forcing us to switch to the new "n32" code model.

You have basically two options at this point:

- See whether the assembler/linker/C compiler on your machine can be
  configured for a code model similar to IRIX's "n32".  (On IRIX,
  cc, as and ld have command-line options and environment variables
  that let the programmer choose the code model.)

- Downgrade OCaml to version 2.01, which still contains support for
  the "o32" code model.

Regards,

- Xavier Leroy




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~1999-09-17 12:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-08-23  8:43 Ocamlopt for R4000? Ken Wakita
1999-08-23 15:55 ` Yozo Toda
1999-08-31 19:16 ` Xavier Leroy
1999-09-01 15:23   ` Y2K related changes Friedman Roy
1999-09-06 17:52     ` Xavier Leroy
     [not found]   ` <37D79CA3280.39A6KEN.WAKITA@mail.is.titech.ac.jp>
1999-09-16 13:22     ` Ocamlopt for R4000? Xavier Leroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).