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 9F8E581792 for ; Tue, 25 Jun 2013 15:39:42 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of mathias.bourgoin@gmail.com) identity=pra; client-ip=209.85.214.42; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mathias.bourgoin@gmail.com"; x-sender="mathias.bourgoin@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of mathias.bourgoin@gmail.com designates 209.85.214.42 as permitted sender) identity=mailfrom; client-ip=209.85.214.42; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mathias.bourgoin@gmail.com"; x-sender="mathias.bourgoin@gmail.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@mail-bk0-f42.google.com) identity=helo; client-ip=209.85.214.42; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mathias.bourgoin@gmail.com"; x-sender="postmaster@mail-bk0-f42.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsYBAKKcyVHRVdYqjWdsb2JhbABagmhSsSaPXRYOAQEBAQcLCwkSBiSCYggBGxwCAxIQFhYYAwIBAgEREQEFAQ4BIAgBAYd3AQMPAQuaSoJ+jE2Cf4RcChknDViHdAEFDI9Wg00Dl0OBKYp6gWGBWz+EOA X-IPAS-Result: AsYBAKKcyVHRVdYqjWdsb2JhbABagmhSsSaPXRYOAQEBAQcLCwkSBiSCYggBGxwCAxIQFhYYAwIBAgEREQEFAQ4BIAgBAYd3AQMPAQuaSoJ+jE2Cf4RcChknDViHdAEFDI9Wg00Dl0OBKYp6gWGBWz+EOA X-IronPort-AV: E=Sophos;i="4.87,937,1363129200"; d="scan'208";a="23304169" Received: from mail-bk0-f42.google.com ([209.85.214.42]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 25 Jun 2013 15:39:42 +0200 Received: by mail-bk0-f42.google.com with SMTP id jk13so4565679bkc.15 for ; Tue, 25 Jun 2013 06:39:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=7T/lRV7YmD6tW88hACB3T5kuZqUhN3f0XtKGKinO6dw=; b=eBFGQeBstPu84w6NLXOPTZvFu2RC//O+XqUmRD97lc2vSjjJ0A9jsEsMTzuSaQ88Ex N72FSGiH1RVSnEgmNoP4ZTFNNIh1LKCtBRXOxsFb2r8zlGLEAtbh3RBQwCTuZ3xTNHKu nas0Fw+nNph2b7LLOznBt29cqdK94sjjiYcYKT25Fv3gRS7PkCxfEVOPNR5lBVLyjyVn WJnNBLkh64I02Hu9ogrTlE2oDcI1kpXicXzHUl/OOltaFRt1HpXvIYQCZzQAqDb6RNWf nikeWKz0Sw/NX/ZDi390DJL9hnnyTsbMp6ISEkd6Ti691M2SK8qfxcHGq3wJooBua9Vv 5DRw== X-Received: by 10.205.24.81 with SMTP id rd17mr61303bkb.138.1372167581314; Tue, 25 Jun 2013 06:39:41 -0700 (PDT) Received: from ?IPv6:2a01:e35:2f6f:90e0:f5c2:8e4c:c93c:55b0? ([2a01:e35:2f6f:90e0:f5c2:8e4c:c93c:55b0]) by mx.google.com with ESMTPSA id oe10sm6250983bkb.1.2013.06.25.06.39.39 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 25 Jun 2013 06:39:40 -0700 (PDT) Message-ID: <51C99D98.2000802@gmail.com> Date: Tue, 25 Jun 2013 15:39:36 +0200 From: Mathias Bourgoin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-Version: 1.0 To: caml-list@inria.fr Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Caml-list] [ANN] Spoc: GPGPU programming with OCaml Hello list, I would like to present you a set of tools for GPGPU programming with OCaml. I developed the SPOC library that enables the detection and use of GPGPU devices with OCaml using Cuda and OpenCL. I also developed a camlp4 syntax extension to handle external Cuda or OpenCL kernels as well as a DSL to express GPGPU kernels from the OCaml code. http://www.algo-prog.info/spoc This work is a big part of my PhD thesis and was partially funded by the opengpu project. I'm currently in the UPMC-LIP6 laboratory where I'm supervised by Pr. E. Chailloux and Pr. J-L Lamotte. SPOC has been presented several times and the slides and the papers references are on our website if you want more information about it. It has currently been tested on multiple architectures and systems, mostly 64-bit Linux and 64-bit OSX systems. It should work with Windows too (I tested it successfully last year with Windows 7...). To be able to use SPOC, you'll need a computer capable of running OCaml (obviously) but also compatible with either OpenCL or Cuda. For Cuda you only need a current proprietary NVidia driver while for OpenCL you need to install the correct OpenCL implementation for your system. SPOC should compile anyway as everything is dynamically linked, but you'll need Cuda/OpenCL eventually to run your programs. SPOC currently lacks a real tutorial, it comes with some examples and I strongly advise anyone interested to look into the slides and papers on the website. By the way, if you are interested and if you are in Paris next week, I will be presenting SPOC etc. during the "OCaml Users in PariS" (OUPS) Meetup next Tuesday (July 2) . I hope to see some of you there and to have some feedback on this work. Mathias SPOC : http://www.algo-prog.info/spoc OpenGPU : http://opengpu.net OUPS : http://www.meetup.com/ocaml-paris/