====== Objective Caml for Multicore Architectures ====== This project aims at allowing Objective Caml to take advantage of multicore architectures, notably those now commonly used (laptops, desktop PC). ===== News ===== * 2010 spring-summer : (ocaml-3.12-svn) "from scratch", making the runtime library fully reentrant, first without threads preoccupation * 2010 : (ocaml-3.11.1) adaptation of the modified runtime library for ocaml-3.11.1 * 2009 : (ocaml-3.10.2) several working implementations for X86-64 (with or without partial collections) * 2008 : (ocaml-3.10.2) first unsafe implementation for X86-64 architecture ===== 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 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 ==== === 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