From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 D8D5BBBAF for ; Thu, 11 Mar 2010 09:42:04 +0100 (CET) X-IronPort-AV: E=Sophos;i="4.49,619,1262559600"; d="scan'208";a="46279073" Received: from estephe.inria.fr ([128.93.11.95]) by mail2-relais-roc.national.inria.fr with ESMTP; 11 Mar 2010 09:42:04 +0100 Message-ID: <4B98ACDC.5010406@inria.fr> Date: Thu, 11 Mar 2010 09:42:04 +0100 From: Xavier Leroy User-Agent: Thunderbird 2.0.0.17 (X11/20080929) MIME-Version: 1.0 To: Mike Lin Cc: caml-list@inria.fr Subject: Re: [Caml-list] testers wanted for experimental SSE2 back-end References: <4B967857.3070303@inria.fr> <2a1a1a0c1003101125v32ec2e2fh82bf0e08138f791a@mail.gmail.com> In-Reply-To: <2a1a1a0c1003101125v32ec2e2fh82bf0e08138f791a@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; ocaml:01 ocaml:01 ocamlopt:01 -where:01 makefile:01 ocaml's:01 compiler:01 defaults:01 defaults:01 oups:01 biological:98 config:01 wrote:01 wrote:01 compile:01 Mike Lin wrote: > I have a bunch of biological sequence analysis stuff that could be > interesting but I am already in x86-64 ("Wow! A 64 bit architecture!"). > The above seems pretty clear but just to verify - I would not benefit > from this new back-end, right? Right. Sorry for not mentioning this. The x86-64 bit code generator for OCaml uses SSE2 floats, like all C compilers for this platform. The experimental back-end I announced is for x86-32 bit. Some more Q&A: Q: I have OCaml installed on my x86 machine, how do I know if it's 32 or 64 bits? A: Do: grep ^ARCH `ocamlopt -where`/Makefile.config If it says "amd64", it's 64 bits with SSE2 floats. If it says "i386", it's 32 bits with x87 floats. If if says "ia32", it's the experimental back-end: 32 bits with SSE2 floats. Q: If I compile from sources, which code generator is chosen by default? 32 or 64 bits? A: OCaml's configure script chooses whatever mode the C compiler defaults to. For instance, on a 32-bit Linux installation, the 32-bit generator is selected, and on 64-bit Linux installation, it's the 64-bit generator. Mac OS X is more tricky: 10.5 and earlier default to 32 bits, but 10.6 defaults to 64 bits... Will Farr wrote: > Oops. I just ran a bunch of tests on my Mac OS 10.6 system---does > that mean that I compared two sse2 backends? The ocaml-sse2 branch > definitely produced different code than the trunk, but that could > easily be due to any small difference in the two compilers, and not > due to a change of architecture. It is quite possible you ended up with two 64-bit, SSE2-float back-ends. Oups. Sorry for your time loss. And, yes, unrelated changes between release 3.11.2 and the experimental sources I released (based on what will become 3.12.0) can account for small speed differences. - Xavier Leroy