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=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 6E56EBC69 for ; Sun, 2 Dec 2007 11:14:45 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAHIUUkfUGyokimdsb2JhbACPSgEIAggiBw X-IronPort-AV: E=Sophos;i="4.23,240,1194217200"; d="scan'208";a="6390108" Received: from smtp6-g19.free.fr ([212.27.42.36]) by mail3-smtp-sop.national.inria.fr with ESMTP; 02 Dec 2007 11:14:45 +0100 Received: from smtp6-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp6-g19.free.fr (Postfix) with ESMTP id C57D55FE52; Sun, 2 Dec 2007 11:14:44 +0100 (CET) Received: from [192.168.1.3] (che78-2-82-237-71-191.fbx.proxad.net [82.237.71.191]) by smtp6-g19.free.fr (Postfix) with ESMTP id 406025FE56; Sun, 2 Dec 2007 11:14:44 +0100 (CET) Message-ID: <47528593.9060106@inria.fr> Date: Sun, 02 Dec 2007 11:14:43 +0100 From: Xavier Leroy User-Agent: Thunderbird 2.0.0.4 (X11/20070620) MIME-Version: 1.0 To: Mike Hogan Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] OCalm on Sony PS3 (was Re: More registers in modern day CPUs) References: <875c7e070709060755r1d0d099ds30a25ea78d0fd85a@mail.gmail.com> <46E01A27.1070207@janestcapital.com> <509223F0BF55E74FA1247D17207E7A0C01D75893@orsmsx419.amr.corp.intel.com> <87r6lb90tw.fsf@linux-france.org> <46E046DF.5010103@univ-savoie.fr> <46E04B85.1020004@naughtydog.com> <13858952.post@talk.nabble.com> In-Reply-To: <13858952.post@talk.nabble.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; ocaml:01 ocaml:01 native-code:01 compiler:01 powerpc:01 compilation:01 distro:01 fronts:01 run-time:01 algebra:01 bignums:01 two-level:01 sony:98 dog:98 outset:98 > I have recently compiled OCaml 3.10 for the PS3 running Yellow Dog Linux. > Seems to work fine, but I haven't tested it rigorously (and at this point, I > wouldn't even know how to test it ... um ...what's the opposite of > "rigorously"? ... non-rigorously?) I confirm that OCaml compiles correctly on the PS/3 with YDL. The native-code compiler works fine (in 32-bit mode) provided it's configured with -host powerpc-unknown-linux. (Autodetection reports powerpc64-unknown-linux, even though the default compilation mode on this distro is 32-bit; I'll hack the configure script to work around this issue.) Of course, the generated code runs on the PPC core of the Cell processor, not on the SPU cores. Performance is unimpressive: about 1/5th of that of a recent Intel Core2 processor. > I'd also be interested in any ideas for starting to explore whether/how the > Cell BE's power can be exploited using OCaml (hopefully simple ideas at the > outset, I'm a newb on several fronts here). The SPU cores only have 256 Kb of local memory, so there is no hope to run a Caml run-time system on them. For some applications (linear algebra, bignums), it might be possible to link with C libraries that offload work to the SPU cores. A more general but extremely difficult approach is two-level programming, where the Caml program, running on the PPC core, generates programs in a simple data-parallel language which is then compiled on the fly to SPU code. Such an approach could also target graphics coprocessors (the "GPGPU" approach). But I have no idea what such an intermediate language would look like. - Xavier Leroy