Browse thread
testers wanted for experimental SSE2 back-end
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Xavier Leroy <Xavier.Leroy@i...> |
| Subject: | Re: [Caml-list] testers wanted for experimental SSE2 back-end |
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