[sldev] [VWR] Vectorization on i386?
Tofu Linden
tofu.linden at lindenlab.com
Mon Dec 3 02:40:51 PST 2007
Linux?
I got this hackily working on i386 Linux but I decided not to spend more
time on it for these reasons:
* Only the builds from gcc 3.4 were deployable in the wild due to
over-zealous processor-specific optimizations in later GCC versions
(i.e. non-SSE2 CPUs would get SSE2 code elsewhere), making this fragile.
* When it worked, it benchmarked at between ~4% slower and ~4%
faster than the pure-C++ versions on a Core2Duo and Celeron-D, so
it didn't seem worth pushing for on i386. (Hardware skinners totally
nullify any gain anyway, so even on machines where this was faster
in SSE2 than pure-C++, a reasonable GPU can be significantly faster
still).
I expect that you're getting effort-free SSE2 support on x86-64 because
-msse2 (the pivotal GCC flag!) is a GCC default there.
Callum Lerwick wrote:
> Okay, I've never ever seen vectorization work on any of my i386
> machines.
>
> ->mHasSSE: 1
> ->mHasSSE2: 1
> ->mHasAltivec: 0
> ->mCPUMhz: 2134
> ->mCPUString: Intel(R) Celeron(R) CPU 2.13GHz
>
> 2007-12-03T07:50:25Z INFO: update_vector_performances: Vectorization : DISABLED
> 2007-12-03T07:50:25Z INFO: update_vector_performances: Vector Processor : COMPILER DEFAULT
> 2007-12-03T07:50:25Z INFO: update_vector_performances: Vectorized Skinning : DISABLED
>
> Its detecting the presence of SSE2, but it refuses to use it. I don't
> understand why. I have confirmed that it IS in fact compiling in the SSE
> code. I've hacked around trying to force it to use SSE with no success.
> The vector initialization code is a rats nest of indirection.
>
> It enables SSE2 just fine compiled for x86-64. I don't see any x86-64
> specific #defines so I don't understand why that makes the difference.
>
> Note that I've never seen it work in the official builds either, so its
> not just me.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html
More information about the SLDev
mailing list