From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id E758D7FE53 for ; Wed, 9 Mar 2016 22:58:37 +0100 (CET) IronPort-PHdr: 9a23:Um5CFhA1VMQzi2Xhnzh7UyQJP3N1i/DPJgcQr6AfoPdwSP/6p8bcNUDSrc9gkEXOFd2CrakU1KyG7eu5BDdIyK3CmU5BWaQEbwUCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYsExnyfTB4Ov7yUtaLyZ/niKbipdaKPl4ArQH+SI0xBS3+lR/WuMgSjNkqAYcK4TyNnEF1ff9Lz3hjP1OZkkW0zM6x+Jl+73YY4Kp5pIZoGJ/3dKUgTLFeEC9ucyVsvJWq5i/4UBCX63AAfmITmxtOS0iZvVCpFqv25wXgv+x23yiBdef7V70yVjm4p/NlUhbugyAGLHgz/XvajMN9lopapgigrlpx2diHTpuSMa9Pd7nae5s/RGxaXdcZAz1EA4WnbJonDeMHMP1EtYTwux0Fqh7oVlrkP//m1jId3iy+5qY9yel0VFyf0Q== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yminsky@janestreet.com; spf=Pass smtp.mailfrom=yminsky@janestreet.com; spf=None smtp.helo=postmaster@mxout1.mail.janestreet.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yminsky@janestreet.com) identity=pra; client-ip=38.105.200.112; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="yminsky@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yminsky@janestreet.com designates 38.105.200.112 as permitted sender) identity=mailfrom; client-ip=38.105.200.112; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="yminsky@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout1.mail.janestreet.com) identity=helo; client-ip=38.105.200.112; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yminsky@janestreet.com"; x-sender="postmaster@mxout1.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AXAQCLm+BWjnDIaSZehA1tBqoikEOBbRcBCYUkSgKBRwc5EwEBAQEBAQEBEAEBAQEHFglQgi2CFAEBAQMBEhEdAQEsCwEECwkCCw0NHQICIhIBBQEKEgYTEhCHbQMKCAMLkmmPQYExPjGKT2eEQQEEhg4DhEcBAQEBAQEBAQEBAQEBAQEBAQEBAQEPBgqGDoRChGeCGzgTgSeGIgyHfIkShWWIDYIvjE2NIBEegQ8PEwGCNR6BbkwBAYlRAQEB X-IPAS-Result: A0AXAQCLm+BWjnDIaSZehA1tBqoikEOBbRcBCYUkSgKBRwc5EwEBAQEBAQEBEAEBAQEHFglQgi2CFAEBAQMBEhEdAQEsCwEECwkCCw0NHQICIhIBBQEKEgYTEhCHbQMKCAMLkmmPQYExPjGKT2eEQQEEhg4DhEcBAQEBAQEBAQEBAQEBAQEBAQEBAQEPBgqGDoRChGeCGzgTgSeGIgyHfIkShWWIDYIvjE2NIBEegQ8PEwGCNR6BbkwBAYlRAQEB X-IronPort-AV: E=Sophos;i="5.24,312,1454972400"; d="scan'208,217";a="206893748" Received: from mxout1.mail.janestreet.com ([38.105.200.112]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Mar 2016 22:58:36 +0100 Received: from tot-qpr-mailcore1.delacy.com ([172.27.56.68] helo=tot-qpr-mailcore1) by mxout1.mail.janestreet.com with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82) (envelope-from ) id 1adm7n-0007bU-FM for caml-list@inria.fr; Wed, 09 Mar 2016 16:58:35 -0500 X-JS-Flow: external Received: by tot-qpr-mailcore1 with JS-mailcore (0.1) (envelope-from ) id BW4JyL-AAABz2-Nd; 2016-03-09 16:58:35.431652-05:00 Received: from mail-yw0-f170.google.com ([209.85.161.170]) by mxgoog1.mail.janestreet.com with esmtps (UNKNOWN:AES128-GCM-SHA256:128) (Exim 4.72) (envelope-from ) id 1adm7n-0000NS-BC for caml-list@inria.fr; Wed, 09 Mar 2016 16:58:35 -0500 Received: by mail-yw0-f170.google.com with SMTP id h129so52074411ywb.1 for ; Wed, 09 Mar 2016 13:58:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7uT7N6rft846N9P8kcXTiJFwPhgrRXTcLA3HMm7ZJ64=; b=jKCz1kylOkczDgPSOyuUMRLE2Eg+w21TQdM+/N+/n+MHfE6aG1t2MlGYFhwkpT0IhM v7X+xhW8R8V0/35AefRVlizl+WS799mN+A/GJGo/X6gQ2sYKfU+MVlPpGg0dNekj2kIt SoyjHlBAhqF3vYtRrlHJcrn6IzxhPkzs2gnBg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7uT7N6rft846N9P8kcXTiJFwPhgrRXTcLA3HMm7ZJ64=; b=kOEjT4A/dweqXEiwhK+d8dCKMZYTwkTgNaiMw/TKcFWBx8wnDk2VI158ZZ56tQR9wY EBc4OQ4vcMgnRw2OcVUeF/294k5QgFeBj9AW715mY9mS7LnTgs+nj8hkD2/eo8/L4P3L iUdAI9hhet/iKCS6y9d6VODcZo5I1Dye52KYhfwnWQuITLQnvqMKmvmJJrySK2IJh6dd fmg8lhB8B825oGwBiulB3ejviMYcg8nu9dFLpToDXeb0pvIPluqnPTXL/Cyps4e38IUH V6c2RA2Q1X3+BNufg4in7cTs4FY1FVYbvGPUPmfDhYvUSytJaApnJ2oBAcAvDAyy8Dsh WMlA== X-Gm-Message-State: AD7BkJLByHPorFfaTbfUAdmYJiHFbSbvs1dEhD1Ciykv4YeXjzSMcApaFdcqpALXThTpXywkXq54LmEHsv1XRuSj17JSxIFZZSDaiCZmV5iqySLqW/aqpTeJHHVrs4RrmQwcUPTi6Dk3bszcn1B6 X-Received: by 10.129.37.3 with SMTP id l3mr23665ywl.128.1457560715044; Wed, 09 Mar 2016 13:58:35 -0800 (PST) X-Received: by 10.129.37.3 with SMTP id l3mr23660ywl.128.1457560714891; Wed, 09 Mar 2016 13:58:34 -0800 (PST) MIME-Version: 1.0 Received: by 10.13.226.65 with HTTP; Wed, 9 Mar 2016 13:58:15 -0800 (PST) In-Reply-To: <56E00352.1060403@inria.fr> References: <000801d179e9$1865ca40$49315ec0$@ios.ac.cn> <56DFF5E5.1050109@inria.fr> <56DFF9A3.4040805@gmail.com> <56E00352.1060403@inria.fr> From:Yaron Minsky Date: Wed, 9 Mar 2016 16:58:15 -0500 Message-ID: To:Francois Berenger Cc:"caml-list@inria.fr" Content-Type: multipart/alternative; boundary=001a11428100a69f8a052da4ccc0 X-JS-Processed-by: mailcore Subject: Re: [Caml-list] muti-core programming --001a11428100a69f8a052da4ccc0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable rpc_parallel might also be of use. On Wed, Mar 9, 2016 at 6:04 AM, Francois Berenger < francois.berenger@inria.fr> wrote: > On 03/09/2016 11:23 AM, Mohamed Iguernlala wrote: > >> Hi, >> >> Functory may be suitable as well >> (http://opam.ocaml.org/packages/functory/functory.0.5/) >> > > and maybe lwt-parallel by Ivan Gotovchits or > procord by Cryptosense; all available libraries in opam. > > > -- >> Mohamed Iguernlala. >> Senior R&D Engineer, OCamlPro SAS >> Research Associate, VALS team, LRI >> >> Le 09/03/2016 11:07, Francois Berenger a =C3=A9crit : >> >>> On 03/09/2016 10:50 AM, =E5=88=98=E5=9D=9A wrote: >>> >>>> Hi, >>>> >>>> I=E2=80=99m recently writing a formal verification tool in O= Caml, and >>>> it works really well, but I=E2=80=99m considering writing a concurrent= version. >>>> However, until now, there seems to be no way to write programs that ta= ke >>>> advantage of multi-cores. >>>> >>> >>> To accelerate something, probably you want paralellism, not concurrency. >>> >>> I recomend parmap, but there are some other libraries out there >>> too for that purpose (in opam: forkwork and probably others I don't >>> know). >>> >>> But be careful that too fine granularity calculations don't >>> parallelize well. >>> For example, if you are analyzing source code, maybe analyzing >>> distinct files in parallel would be a coarse enough granularity. >>> >>> > So, I=E2=80=99m wondering when will OCaml support >>> >>>> multi-core programming? Or else, do I have other choices by using some >>>> external extensions of OCaml instead of the standard library? >>>> >>>> Thanks, >>>> >>>> Jian >>>> >>> >>> >> >> > -- > Regards, > Francois. > "When in doubt, use more types" > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --001a11428100a69f8a052da4ccc0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
rpc_parallel might also be of use.

On Wed, Mar 9, 2016 at 6:04 AM, Fra= ncois Berenger <francois.berenger@inria.fr> wrote:<= br>
On 03/09/2016 11:23 AM, = Mohamed Iguernlala wrote:
Hi,

Functory may be suitable as well
(http://opam.ocaml.org/packages/functory/functo= ry.0.5/)

and maybe lwt-parallel by Ivan Gotovchits or
procord by Cryptosense; all available libraries in opam.


--
Mohamed Iguernlala.
Senior R&D Engineer, OCamlPro SAS
Research Associate, VALS team, LRI

Le 09/03/2016 11:07, Francois Berenger a =C3=A9crit :
On 03/09/2016 10:50 AM, =E5=88=98=E5=9D=9A wrote:
Hi,

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 I=E2=80=99m recently writing a formal ve= rification tool in OCaml, and
it works really well, but I=E2=80=99m considering writing a concurrent vers= ion.
However, until now, there seems to be no way to write programs that take
advantage of multi-cores.

To accelerate something, probably you want paralellism, not concurrency.

I recomend parmap, but there are some other libraries out there
too for that purpose (in opam: forkwork and probably others I don't
know).

But be careful that too fine granularity calculations don't
parallelize well.
For example, if you are analyzing source code, maybe analyzing
distinct files in parallel would be a coarse enough granularity.

> So, I=E2=80=99m wondering when will OCaml support
multi-core programming? Or else, do I have other choices by using some
external extensions of OCaml instead of the standard library?

Thanks,

Jian




--
Regards,
Francois.
"When in doubt, use more types"

--
Caml-list mailing list.=C2=A0 Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocam= l_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

--001a11428100a69f8a052da4ccc0--