Message from discussion
testers wanted for experimental SSE2 back-end
Path: g2news2.google.com!news2.google.com!goblin2!goblin1!goblin.stu.neva.ru!uio.no!nntp.uio.no!not-for-mail
From: Xavier Leroy <Xavier.Le...@inria.fr>
Newsgroups: fa.caml
Subject: Re: [Caml-list] testers wanted for experimental SSE2 back-end
Date: Thu, 11 Mar 2010 08:42:14 UTC
Organization: Internet mailing list
Lines: 51
Sender: caml-list-boun...@yquem.inria.fr
Message-ID: <fa.S42lDU5gx7qVpPgRXZ8KcwseGcQ@ifi.uio.no>
References: <fa.MXDZ/+TK01DKtPFU/BJ1KrG8B2M@ifi.uio.no> <fa.JyEjHTIB7p/Z+SlI4knyRpcNBcg@ifi.uio.no>
NNTP-Posting-Host: mail-jess.uio.no
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: readme.uio.no 1268296934 25120 129.240.7.9 (11 Mar 2010 08:42:14 GMT)
X-Complaints-To: abuse@uio.no
NNTP-Posting-Date: Thu, 11 Mar 2010 08:42:14 +0000 (UTC)
Cc: caml-l...@inria.fr
To: Mike Lin <nile...@gmail.com>
X-IronPort-AV: E=Sophos;i="4.49,619,1262559600";
d="scan'208";a="54401348"
X-Original-To: caml-l...@yquem.inria.fr
Delivered-To: caml-l...@yquem.inria.fr
X-IronPort-AV: E=Sophos;i="4.49,619,1262559600"; d="scan'208";a="46279073"
User-Agent: Thunderbird 2.0.0.17 (X11/20080929)
In-Reply-To: <2a1a1a0c1003101125v32ec2e2fh82bf0e08138f791a@mail.gmail.com>
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
X-BeenThere: caml-l...@yquem.inria.fr
X-Mailman-Version: 2.1.5
List-Id: Caml users' mailing list <caml-list.yquem.inria.fr>
List-Unsubscribe: <http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list>,
<mailto:caml-list-requ...@yquem.inria.fr?subject=unsubscribe>
List-Post: <mailto:caml-l...@yquem.inria.fr>
List-Help: <mailto:caml-list-requ...@yquem.inria.fr?subject=help>
List-Subscribe: <http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list>,
<mailto:caml-list-requ...@yquem.inria.fr?subject=subscribe>
Original-Date: Thu, 11 Mar 2010 09:42:04 +0100
Original-Message-Id: <4B98ACDC.5010406@inria.fr>
Original-References: <4B967857.3070...@inria.fr>
<2a1a1a0c1003101125v32ec2e2fh82bf0e08138f7...@mail.gmail.com>
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
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs