* OCaml on IA-64 (was "About Ocaml and Sourceforge").
@ 2000-07-07 11:36 Jean-Marc EBER
2000-07-07 19:58 ` OCaml on IA-64 Xavier Leroy
0 siblings, 1 reply; 4+ messages in thread
From: Jean-Marc EBER @ 2000-07-07 11:36 UTC (permalink / raw)
To: caml-list; +Cc: Xavier.Leroy
>I registered OCaml on SourceForge for the sole purpose of getting
>an account on their "compile farm", and more specifically on their
>prototype IA64/Itanium machines. I'm working on an IA64 port of the
>OCaml native-code compiler, and while the initial port was done using
>HP's emulator, I needed real hardware to complete it.
>
>IA64 a weird architecture; exploiting all its capabilities is a real
>challenge for compiler writers. OCaml is not going to exploit all of
>them (far from it!), but even a relatively naive code generator isn't
>easy, especially with all the bugs in the GNU IA64 assembler...
OCaml team from INRIA working on an (even "relatively naive") port of the *native-code* compiler to
the IA-64 platform ? Best news of the day, or even the week.... :-)
Does this mean tnat the OCaml team could already achieve to produce a byte-code compiler for
this platform (I know well that there is a 64 bit version of the *byte-code compiler* available (Alpha),
but as we all know, one often encounter some unforseen problems...) ?
Jean-Marc Eber
Société Générale
Infi/Dir
17, cours Valmy, F 92 987 Paris - La Défense Cedex
Tél +33 1 42 13 65 30 Fax: +33 1 42 13 60 78
EMail: jean-marc.eber@socgen.com
______________________________ Reply Separator _________________________________
Xavier.Leroy@inria.fr
07/05/2000 11:35:00 PM
To: Luc.Mazardo@cvf.fr@internet
caml-list@inria.fr@internet
cc: (bcc: Jean-Marc EBER/marc-sgop/fr/socgen)
Return Receipt: No
Importance: Normal
SUBJECT: Re: About Ocaml and Sourceforge.
> OCaml is on sourceforge since the 2000-Jun-30. What is exactly the
> goal of this move, cvs access ? or/and mailing, forums ?
I registered OCaml on SourceForge for the sole purpose of getting
an account on their "compile farm", and more specifically on their
prototype IA64/Itanium machines. I'm working on an IA64 port of the
OCaml native-code compiler, and while the initial port was done using
HP's emulator, I needed real hardware to complete it.
IA64 a weird architecture; exploiting all its capabilities is a real
challenge for compiler writers. OCaml is not going to exploit all of
them (far from it!), but even a relatively naive code generator isn't
easy, especially with all the bugs in the GNU IA64 assembler...
As for OCaml on SourceForge, I'll put a couple of Web pages pointing
back to the INRIA Web and CVS servers. I hope the SourceForge people
won't mind this slight bending of their rules!
> PS: now there is 3 OCaml projet under sourceforge !!
I was impressed with the quality of the services offered by
SourceForge, and would encourage that doesn't control their own
servers to host their projects on SourceForge.
- Xavier Leroy
*************************************************************************
Ce message et toutes les pièces jointes (ci-après le "message") sont
confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite.
Tout message électronique est susceptible d'altération.
La SOCIETE GENERALE et ses filiales déclinent toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié.
********
This message and any attachments (the "message") are confidential and
intended solely for the addressees.
Any unauthorised use or dissemination is prohibited.
E-mails are susceptible to alteration.
Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified.
*************************************************************************
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OCaml on IA-64
2000-07-07 11:36 OCaml on IA-64 (was "About Ocaml and Sourceforge") Jean-Marc EBER
@ 2000-07-07 19:58 ` Xavier Leroy
2000-07-11 12:02 ` David Mentré
0 siblings, 1 reply; 4+ messages in thread
From: Xavier Leroy @ 2000-07-07 19:58 UTC (permalink / raw)
To: Jean-Marc EBER, caml-list
> Does this mean tnat the OCaml team could already achieve to produce
> a byte-code compiler for this platform (I know well that there is a
> 64 bit version of the *byte-code compiler* available (Alpha), but as
> we all know, one often encounter some unforseen problems...) ?
Well, IA64/Linux is a rather well-behaved platform, and I didn't
encounter any unforeseen problems. Caml Light 0.74 compiles right
out of the box, and so does OCaml 3.00 in bytecode mode, with a tiny
patch to one of the configuration files. The patch is attached below,
just in case you have access to one of those babies...
As an aside, this isn't the first time that Caml runs on a new
architecture before it's commercially available: circa 1992, Damien
Doligez, then summer intern at Digital, got Caml Light to run on an
early Alpha prototype...
- Xavier Leroy
Index: csl/config/auto-aux/config.sub
diff -c csl/config/auto-aux/config.sub:1.6 csl/config/auto-aux/config.sub:1.7
*** csl/config/auto-aux/config.sub:1.6 Wed Apr 5 20:30:13 2000
--- csl/config/auto-aux/config.sub Fri Jun 30 18:37:42 2000
***************
*** 151,157 ****
| hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
! | mips64el-* | mips64orion-* | mips64orionel-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
--- 151,158 ----
| hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
! | mips64el-* | mips64orion-* | mips64orionel-* \
! | ia64-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OCaml on IA-64
2000-07-07 19:58 ` OCaml on IA-64 Xavier Leroy
@ 2000-07-11 12:02 ` David Mentré
2000-07-18 20:49 ` Xavier Leroy
0 siblings, 1 reply; 4+ messages in thread
From: David Mentré @ 2000-07-11 12:02 UTC (permalink / raw)
To: Xavier Leroy; +Cc: Jean-Marc EBER, caml-list
By the way, are there any aspects of Caml, like the functionnal part of
the language, that allows more easy optimizations specific to IA-64
architecture (for example definition and use of predicates, use of
speculation, etc.) compared to usual imperative language like C? And at
the opposite, are there any Caml features that are difficult to compile
on such an architecture?
Short version: Compared to the C language, compiling Caml on IA-64 is:
[ ] more difficult
[ ] less difficult
[ ] it depends
[ ] doesn't matter
david
--
David.Mentre@irisa.fr -- http://www.irisa.fr/prive/dmentre/
Opinions expressed here are only mine.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OCaml on IA-64
2000-07-11 12:02 ` David Mentré
@ 2000-07-18 20:49 ` Xavier Leroy
0 siblings, 0 replies; 4+ messages in thread
From: Xavier Leroy @ 2000-07-18 20:49 UTC (permalink / raw)
To: David Mentré; +Cc: Jean-Marc EBER, caml-list
> By the way, are there any aspects of Caml, like the functionnal part of
> the language, that allows more easy optimizations specific to IA-64
> architecture (for example definition and use of predicates, use of
> speculation, etc.) compared to usual imperative language like C? And at
> the opposite, are there any Caml features that are difficult to compile
> on such an architecture?
Tricky question. Nowadays, both OCaml and gcc fail to exploit any of
the advanced features of the IA64, and treat it basically like a
conventional RISC with lots of registers and rather picky scheduling
constraints in basic blocks.
Also, many of the IA64 innovations seem to have been designed with
Fortran in mind (e.g. the loop scheduling support), so it's unclear
whether other languages can really take advantage of them.
This said, I'll venture a guess: it could be that loads and stores can be
scheduled more aggressively in OCaml than in C, because the OCaml type
system offers more non-aliasing information (e.g. stores into
immutable data types are always initializing loads and are guaranteed
not to interfere). On the other hand, OCaml programs tend to perform
more loads than C programs...
Another guess: for lazy languages like Haskell, predication could
prove very useful to handle the two cases "evaluated already" and "not
evaluated yet" without any branch penalty.
Lots of issues to explore...
- Xavier Leroy
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2000-07-19 15:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-07 11:36 OCaml on IA-64 (was "About Ocaml and Sourceforge") Jean-Marc EBER
2000-07-07 19:58 ` OCaml on IA-64 Xavier Leroy
2000-07-11 12:02 ` David Mentré
2000-07-18 20:49 ` Xavier Leroy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox