Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Array Optimizations
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Christophe TROESTLER <debian00@t...>
Subject: [Caml-list] Array Optimizations
Hi all,

The following paper (that I found by chance)
http://www.cs.cornell.edu/Courses/cs612/2001SP/projects/ocaml-arrays/OCaml.pdf
describes a set of optimizations that improves array access speed in
Caml _without_loosing_bound_checking_ (contrarily to the -unsafe
option).  The performance gain on their examples looks good, in fact
they even beat gcc in some cases!  In their words:

	The final performance of MMM surpasses even that of the
	best-case baseline kernel --- the linearized 1D Array with
	bounds checking disabled --- yet without sacrificing the
	safety of bounds checking or requiring the programmer to
	linearize accesses.

and

	We conclude that OCaml could be a serious contender against
	languages such as C and Fortran for use in numerically
	intensive computation.

Is there anything like that (to be) implemented into the OCaml
compilers?  I believe many people besides myself will be interested to
have the power of Caml available with extremely good array access
times in loops.

Keep up with the good work!

Cheers,
ChriS


P.S.  As outlined in the paper, the Bigarray library is really slow
(much slower than the standard Array).  Given its (other)
capabilities, it is tempting to use it for numeric processing however.
Until this is solved, shouldn't there be a warning somewhere (in the
manual?).


Related links:
--------------

Array Data Dependence Analysis 
http://www.cs.umd.edu/projects/omega/sectionstar3_1.html

The Omega Project:
http://www.cs.umd.edu/projects/omega/

http://www.cs.cornell.edu/Courses/cs612/2001SP/projects/ocaml-arrays/
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr