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.0 required=5.0 tests=none 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 F401EBB84 for ; Mon, 14 Jul 2008 14:09:27 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArAMAAbfekjUnw7UZWdsb2JhbACCN492EgIeA5Yj X-IronPort-AV: E=Sophos;i="4.30,359,1212357600"; d="scan'208";a="13096451" Received: from ptb-relay01.plus.net ([212.159.14.212]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-SHA; 14 Jul 2008 14:09:27 +0200 Received: from [90.192.139.241] (helo=beast.local) by ptb-relay01.plus.net with esmtpa (Exim) id 1KIMru-0005Ou-OA for caml-list@yquem.inria.fr; Mon, 14 Jul 2008 13:09:26 +0100 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] thousands of CPU cores Date: Mon, 14 Jul 2008 13:08:23 +0100 User-Agent: KMail/1.9.9 References: <200807101235.42602.jon@ffconsultancy.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200807141308.23474.jon@ffconsultancy.com> X-Plusnet-Relay: 304ded2bae2456b6d0b1199ba2d831aa X-Spam: no; 0.00; ocaml:01 openmp:01 parallelism:01 openmp:01 ocamlmpi:01 ocaml:01 tpl:01 10,:98 frog:98 threads:01 wrote:01 wrote:01 caml-list:01 unsafe:01 tree:02 On Monday 14 July 2008 12:32:53 J C wrote: > On Thu, Jul 10, 2008 at 4:35 AM, Jon Harrop wrote: > > OCaml already has OS native threads (albeit with a global lock), already > > supports OpenMP and can already be used to write parallel programs that > > exploit multiple cores. > > > > ... > > Incidentally, MP is good for distributed parallelism but fails to take > > advantage of shared memory (with a concurrent GC). > > I think you are confusing stuff. Yes. You stated "OpenMP" in your question but my response was about "OpenMPI". Sorry. I was not aware of OpenMP, which appears to post-date my use of C and Fortran. > OpenMP is a shared-memory API, MPI is > a message-passing interface, OpenMPI is one implementation of the > latter, OCamlMPI is another. OCaml has little to do with OpenMP > though. Am I wrong? I believe you are correct. Moreover, I suspect that adding support for OpenMP to OCaml would be difficult because the current OCaml implementation is thread unsafe. Perhaps the parallel GC could enable support for things like OpenMP but I personally would rather see a shift to similar functionality to that of Microsoft's TPL because (I assume) it is better for parallel tree operations that are themselves more common in languages like OCaml. -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e