From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=AWL,SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id F0C59BBC4 for ; Fri, 20 Feb 2009 17:59:43 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkECAPRvnknRVYa5mWdsb2JhbACUGD8BAQEBAQgLCgcRsFmGd4hKhA8G X-IronPort-AV: E=Sophos;i="4.38,242,1233529200"; d="scan'208";a="21461141" Received: from mu-out-0910.google.com ([209.85.134.185]) by mail2-smtp-roc.national.inria.fr with ESMTP; 20 Feb 2009 17:59:43 +0100 Received: by mu-out-0910.google.com with SMTP id w1so728552mue.3 for ; Fri, 20 Feb 2009 08:59:43 -0800 (PST) MIME-Version: 1.0 Sender: hcarty@mulethief.com Received: by 10.103.52.13 with SMTP id e13mr1849806muk.99.1235149183024; Fri, 20 Feb 2009 08:59:43 -0800 (PST) In-Reply-To: <167d0c900902200840n3b236bb7p411e054c49381486@mail.gmail.com> References: <167d0c900902200840n3b236bb7p411e054c49381486@mail.gmail.com> Date: Fri, 20 Feb 2009 11:59:42 -0500 X-Google-Sender-Auth: 0601d7a95af197f7 Message-ID: <3a360f590902200859u57f9ea3bxade3eb13acbf4a5a@mail.gmail.com> Subject: Re: [Caml-list] true parallelism / threads From: "Hezekiah M. Carty" To: Atmam Ta Cc: caml-list@yquem.inria.fr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; parallelism:01 ocaml:01 ocaml:01 cheers:01 ocamlmpi:01 camlp:01 bsml:01 loulergue:01 bsmllib:01 parallelism:01 jocaml:01 jocaml:01 2009:98 0.4:98 threads:01 2009/2/20 Atmam Ta : > Hi, > > I am trying to evaluate ocaml for a project involving large scale numerical > calculations. We would need parallel processing, i.e. a library that > distributes jobs accross multiple processors within a machine and accross > multiple PCs. > Speed and easy programability are important. I have tried to search this > issue first, but the postings I found were usually negative and 4-5 years > old. On the other hand, I see a number of libraries in the Hump that by now > might be taking care of these things. > > My question is: is ocaml good for parallel processing / hreaded computation, > are there (mature) libraries or tools that let developers make use of > multicore and multimachine environments? > > cheers, > Atmam There are several libraries available which seem to be reasonably usable in their current state. Distributed processing across multiple machines: - OCAMLMPI - http://pauillac.inria.fr/~xleroy/software.html - OCamlP3l - http://camlp3l.inria.fr/eng.htm - BSML - http://frederic.loulergue.eu/research/bsmllib/bsml-0.4beta.html Fork-based parallelism for exploiting multiple cores/processors locally: - Prelude.ml - http://github.com/kig/preludeml/tree/master There is also JoCaml (http://jocaml.inria.fr/), which is an extension of OCaml itself. JoCaml has examples for various distributed processing methods. Hez -- Hezekiah M. Carty Graduate Research Assistant University of Maryland Department of Atmospheric and Oceanic Science