====== Objective Caml for Multicore Architectures ====== This project aims at allowing Objective Caml to take advantage of multicore architectures, notably those now commonly used in laptops and desktop PC. ===== News ===== * **2010 spring-summer (current work, in progress)** : (ocaml-3.12-svn) "from scratch", making the runtime library fully reentrant, first without threads preoccupation * **early 2010** : (ocaml-3.11.1) adaptation to work on x84-32 and x84-64, with Linux and Mac OS X. Fairly unstable. * **late 2009** : (ocaml-3.11.1) adaptation of the modified runtime library for ocaml-3.11.1 * **mid/late 2009** : (ocaml-3.10.2) several working implementations for X86-64 (with or without partial collections) * **late 2008** : (ocaml-3.10.2) first unsafe implementation for X86-64 architecture, running Linux ===== History ===== It started in 2008 as an [[http://ocamlsummerproject.com/|OCaml Summer Project]] 2008 funded by [[http://www.janestreet.com/|Jane Street Capital]]. It has continued since then. ===== Distribution ===== **Warning : For testing purpose only. It should not be used for production.** Some additional versions may appear in the [[http://www.algo-prog.info/ocmc/distribution/|download directory]]. If you choose to test/use them, you should be sure to know what you do. ==== November 4th, 2009 version ==== [[installation|installation notes]] === Download link === == without partial collection == [[http://www.algo-prog.info/ocmc/distribution/oc4mc-smartpumpkin.tar.gz |oc4mc-smartpumpkin.tar.gz]] * (feature) growing capable shared heap : if a huge allocation is needed, the heap grows such that it becomes possible (i.e. with system malloc limitation only) instead of going into an endless broken loop * (feature) limited shrinking : the shared heap can never become smaller than its initial size == with partial collection == [[http://www.algo-prog.info/ocmc/distribution/oc4mc-smartpumpkin-with-partial-collection.tar.gz |oc4mc-smartpumpkin-with-partial-collection.tar.gz]] * (feature) partial collection enabled : partial collection when the shared heap has more free space than required for flushing full pages ===== License ===== OCaml4MultiCore is a free software under the [[http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html|CeCILL-B license]]. ===== Team ===== Supervisor : [[http://www-apr.lip6.fr/~chaillou/|Emmanuel Chailloux]] Co-supervisor / co-developer : [[http://www-apr.lip6.fr/~canou/|Benjamin Canou]] Co-supervisor / co-developer : [[http://www-apr.lip6.fr/~pwang/|Philippe Wang]] Developer : Mathias Bourgoin Former developer : Adrien Jonquet Contact : dev {at} ocmc.algo-prog.info