[Mesa-dev] Introducing OpenSWR: High performance software rasterizer

Ilia Mirkin imirkin at alum.mit.edu
Tue Oct 20 10:44:37 PDT 2015


[re-adding mesa-dev, dropped accidentally]

On Tue, Oct 20, 2015 at 1:43 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Tue, Oct 20, 2015 at 1:11 PM, Rowley, Timothy O
> <timothy.o.rowley at intel.com> wrote:
>> Does one build work on both AVX and AVX2?
>> -----------------------------------------
>>
>>  * Unfortunately, no.  The architecture support is fixed at compile
>>    time.  While the AVX version of course will run on AVX2 machines
>>    and the jitted code will use AVX2, the overall performance will
>>    suffer relative to a full AVX2 build.
>>
>>  * There is some idea that if we move some code from the driver back
>>    to SWR core, we could build two versions of libSWR and dynamically
>>    load the correct version at runtime.  Unfortunately this mechanism
>>    would not work with AVX512, as some of the SWR state structures
>>    would change size.
>
> Without commenting on any of the other issues, I believe one of your
> stated goals is to ease distribution to your end-users. If you expect
> them to build their own code, that's no problem. However if you're
> thinking of relying on distros to include your driver and have end
> users use that, then you should consider some solution that enables
> runtime selection of this stuff (even if that's building 3 versions of
> the driver -- swr-avx, swr-avx2, swr-avx512, and having e.g. loader
> magic determine which the right one is for the current CPU).
>
> Cheers,
>
>   -ilia


More information about the mesa-dev mailing list