[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