caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] ocaml on supercomputer?
@ 2003-07-15 14:31 Daniel Andor
  2003-07-15 15:24 ` Xavier Leroy
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Andor @ 2003-07-15 14:31 UTC (permalink / raw)
  To: caml-list

Hi All,

I have some questions regarding the possibility of running large computations 
written in OCaml:
1) (Cross) compiling.  Which of mips r12000, power4 and usparcIII are best 
supported so that my existing code runs well?  How do I cross-compile (if I 
need to), given that there are math libraries (BLAS, LAPACK) that I need to 
link to on the target platform?  To run ocamlopt on the target machine, at a 
minimum I need to cross-compile ocamlrun, right?
2) Threads vs. MPI.  Writing threaded code for an SMP node would be the 
simplest way for me to harness many CPUs at the same time.  But what's thread 
support like on different platforms (listed below) with OCaml?

Basically, the three platforms I can try to target are:
Sunfire 15K (multiple SMP nodes - MPI possible), Solaris
IBM SP (multiple SMP nodes - MPI possible), AIX
Origin2000 (cache coherent shared memory), IRIX 6

What's my best bet?

Thanks,
Daniel.

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


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

* Re: [Caml-list] ocaml on supercomputer?
  2003-07-15 14:31 [Caml-list] ocaml on supercomputer? Daniel Andor
@ 2003-07-15 15:24 ` Xavier Leroy
  2003-07-15 16:02   ` Hal Daume III
  0 siblings, 1 reply; 4+ messages in thread
From: Xavier Leroy @ 2003-07-15 15:24 UTC (permalink / raw)
  To: Daniel Andor; +Cc: caml-list

> 1) (Cross) compiling.  Which of mips r12000, power4 and usparcIII are best 
> supported so that my existing code runs well?

SPARC/Solaris and MIPS/IRIX are well supported, SPARC perhaps a bit better.
The POWER/AIX port of OCaml isn't really supported because I don't
have such a machine at hand.  (And also because AIX is a pain.)

> How do I cross-compile (if I need to), given that there are math
> libraries (BLAS, LAPACK) that I need to link to on the target
> platform?  To run ocamlopt on the target machine, at a minimum I
> need to cross-compile ocamlrun, right?

You do not need to cross-compile: just build the OCaml distribution on
the target machine, and compile your program on the target machine as well.

> 2) Threads vs. MPI.  Writing threaded code for an SMP node would be
> the simplest way for me to harness many CPUs at the same time.  But
> what's thread support like on different platforms (listed below)
> with OCaml?

OCaml threads do not exploit shared-memory multiprocessing --
basically, all threads interleave their execution, hence multiple
processors are not exploited.  Your best bet is MPI or PVM.  Both have
bindings for OCaml.

Hope this helps,

- Xavier Leroy

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


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

* Re: [Caml-list] ocaml on supercomputer?
  2003-07-15 15:24 ` Xavier Leroy
@ 2003-07-15 16:02   ` Hal Daume III
  2003-07-16  0:23     ` Yaron M. Minsky
  0 siblings, 1 reply; 4+ messages in thread
From: Hal Daume III @ 2003-07-15 16:02 UTC (permalink / raw)
  To: Xavier Leroy; +Cc: Daniel Andor, caml-list

> OCaml threads do not exploit shared-memory multiprocessing --
> basically, all threads interleave their execution, hence multiple
> processors are not exploited.  Your best bet is MPI or PVM.  Both have
> bindings for OCaml.

I thought I'd just stick in my own props for the Ocaml MPI bindings.  I
had an ~11k line ocaml program which I ported to MPI.  It only required
500 or so more lines of code to MPI-ify it (with minor restructuring so
these parts could be separated out).

It now runs on our supercomputer (56th faster computer in the world,
according to top500.org) on anywhere from 10 to 170 nodes (IBM
Netfinity Cluster P4 Xeon 2 GHz - Myrinet/ 512), and performs incredibly
well.

I am *very* happing with these bindings and would like to formally thank
Xavier for writing them :).

Best of luck.

 - Hal



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


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

* Re: [Caml-list] ocaml on supercomputer?
  2003-07-15 16:02   ` Hal Daume III
@ 2003-07-16  0:23     ` Yaron M. Minsky
  0 siblings, 0 replies; 4+ messages in thread
From: Yaron M. Minsky @ 2003-07-16  0:23 UTC (permalink / raw)
  To: Caml List

I'll second that.  I've used ocaml to great effect on my tiny little
beowulf (6 nodes) via the MPI bindings.  Not only was I able to easily
MPI-ify my code, I was able to write a clean little functor that could
be used to parallelize any bag-of-jobs style parallel task in just a few
lines of code.

So, props to ocaml and Xavier.

y

On Tue, 2003-07-15 at 12:02, Hal Daume III wrote:
> > OCaml threads do not exploit shared-memory multiprocessing --
> > basically, all threads interleave their execution, hence multiple
> > processors are not exploited.  Your best bet is MPI or PVM.  Both have
> > bindings for OCaml.
> 
> I thought I'd just stick in my own props for the Ocaml MPI bindings.  I
> had an ~11k line ocaml program which I ported to MPI.  It only required
> 500 or so more lines of code to MPI-ify it (with minor restructuring so
> these parts could be separated out).
> 
> It now runs on our supercomputer (56th faster computer in the world,
> according to top500.org) on anywhere from 10 to 170 nodes (IBM
> Netfinity Cluster P4 Xeon 2 GHz - Myrinet/ 512), and performs incredibly
> well.
> 
> I am *very* happing with these bindings and would like to formally thank
> Xavier for writing them :).
> 
> Best of luck.
> 
>  - Hal
> 
> 
> 
> -------------------
> To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
> Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
-- 
|--------/            Yaron M. Minsky              \--------|
|--------\ http://www.cs.cornell.edu/home/yminsky/ /--------|

Open PGP --- KeyID B1FFD916 (new key as of Dec 4th)
Fingerprint: 5BF6 83E1 0CE3 1043 95D8 F8D5 9F12 B3A9 B1FF D916



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


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

end of thread, other threads:[~2003-07-16  0:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-15 14:31 [Caml-list] ocaml on supercomputer? Daniel Andor
2003-07-15 15:24 ` Xavier Leroy
2003-07-15 16:02   ` Hal Daume III
2003-07-16  0:23     ` Yaron M. Minsky

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).