gcc autovectorize

Burdick, Thomas Edward tburdi1 at uic.edu
Mon Dec 11 22:28:49 CET 2006


I was thinking the same thing, runtime check would be a much cleaner
solution since your right, not very many people build their own. However,
this may give a good idea of where to start or which loops are easy to
vectorize. It may also let you (the developer) know how it may effect
performance without dealing with hand coding it just yet. In which cases
did you find it buggy? I would think it wouldn't create any more bugs than
were already existant... but perhaps its doing something funny, and if it
is, perhaps the people writting the vectorizer should be notified.

-Tom


On Mon, December 11, 2006 3:22 pm, Cyrille Berger wrote:
>> for(int i = 0; i < 64; i++) {
>> 	a[i]  = b[i]*c[i];
>> }
>>
>> and instead use whatever simd instructions you have to eliminate a good
>> number
>> of iterations.
>>
>> If you've already tried this out, or are already using the simd
>> instructions
>> disregard!
>
> well I have tried and never found the option to pass gcc to make it
> understand to use the simd instructions ;)
>
> The only problem is that it will only benefit our user that build krita
> themselves (mostly gentoo users), and those of them which use the
> relevant gcc option (only gentoo users). Two problems:
> 1) those options are dangerous, unfortunately very often they will make
> most C++ application even more buggy and crashy than they allready are
> (and as krita is far to have achieve a full level of stability, this is
> a bit annoying)
> 2) most of our user don't build krita themselves, and therefor use the
> distribution option for compilation, and most distribution doesn't build
> with those optimization (if they even build with mmx instructions
> enabled)
>
> So the plan is to make a direct usuage of simd instructions and to offer
> a run time check like, for instance, the gimp and mplayer do. But we
> have yet to decide the API to achieve that goal. There was a discution
> about this, but no decision was taken :'(
>
> That's said, nothing prevent us to write our loop in such a way that the
> autovector of gcc transform them to use simd. Except that I would like
> to have the possiblity to ask user which report crash to easily disable
> those optimizations.
>
> --
> Cyrille Berger
> _______________________________________________
> kimageshop mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>




More information about the kimageshop mailing list