Re: Re: nova-simd
Josh Parmenter <
josh@...>
2009-09-01 05:02:42 GMT
Tim - some of this look pretty interesting. I think one thing I see
that would probably be something I would want to see in the source
though is a little more consistency in function naming:
#ifdef NOVA_SIMD
void Gate_next_ak_nova(Gate *unit, int inNumSamples);
#endif
then later:
void Peak_next_ak_unroll(Peak *unit, int inNumSamples);
void Peak_next_ai_unroll(Peak *unit, int inNumSamples);
#ifdef NOVA_SIMD
void Peak_next_ak_k_unroll(Peak *unit, int inNumSamples); // why not
Peak_next_ak_nova_unroll ?
void Peak_next_ai_k_unroll(Peak *unit, int inNumSamples);
#endif
Other then that, I think this looks like an interesting lib, and I
don't see there being any problems with the code being added in this
way (with the ifdefs). Have you tried building a universal binary of
the library yet? I imagine this would be the way to go for including
it in the source if others think it is a good idea. Also - how many
people are working on the nova project? Is it just you? More thinking
ahead for long term maintenance then anything else.
What do others think? I know Tim has mentioned this a few times, and
it looks like the vector functions are pretty clean (it may just be
more experience under my belt, but this looks clearer to me then
altivec ever did).
Best,
Josh
On Aug 31, 2009, at 9:40 PM, Josh Parmenter wrote:
> Thanks Tim, I'll check it out.
>
> Best,
>
> Josh
>
> On Aug 31, 2009, at 1:55 AM, Tim Blechmann wrote:
>
>>> How can we find out more about what nova-simd does? I finally have a
>>> little time and was trying to track down specifics.
>>
>> nova simd provides implementations of low-level vector functions
>> based
>> on c++ template specialization for the selection of simd
>> implementations
>> (sse/sse2). the patch i submitted changes supercollider ugens to make
>> use of these implementations.
>>
>>> And do you want to actually commit nova-simd code directly to the
>>> supercollider/trunk? Or do you want a nova-simd branch? I know you
>>> have referenced your own version of the source code... is it
>>> possible
>>> for me to download, build and try it out?
>>
>> it would be easiest to just include nova-simd and libsimdmath
>> (optional
>> dependency) in the supercollider source tree. it is prbly easier to
>> use
>> for people if they don't have to get the dependencies themselves.
>> i would prefer to merge it into the trunk than using a branch, for
>> now,
>> a branch is already available in my git repository ...
>>
>> to try my code, you can check out the nova-simd branch of my git
>> repository [1]. if you are not comfortable with git, you can either
>> read
>> the git/svn crash course [2] or extract a tarball from the git web
>> interface [3].
>>
>> cheers, tim
>>
>> [1] git://tim.klingt.org/supercollider.git
>> [2] http://git.or.cz/course/svn.html
>> [3]
>> http://tim.klingt.org/git?p=supercollider.git;a=snapshot;h=refs/heads/nova-simd;sf=tgz
>>
>> --
>> tim@...
>> http://tim.klingt.org
>>
>> The aim of education is the knowledge, not of facts, but of values
>> William S. Burroughs
>>
>
> ******************************************
> /* Joshua D. Parmenter
> http://www.realizedsound.net/josh/
>
> “Every composer – at all times and in all cases – gives his own
> interpretation of how modern society is structured: whether actively
> or passively, consciously or unconsciously, he makes choices in this
> regard. He may be conservative or he may subject himself to
> continual renewal; or he may strive for a revolutionary, historical
> or social palingenesis." - Luigi Nono
> */
>
>
> _______________________________________________
> sc-dev mailing list
>
> info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
> archive: http://www.listarc.bham.ac.uk/marchives/sc-dev/
> search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/
******************************************
/* Joshua D. Parmenter
http://www.realizedsound.net/josh/
“Every composer – at all times and in all cases – gives his own
interpretation of how modern society is structured: whether actively
or passively, consciously or unconsciously, he makes choices in this
regard. He may be conservative or he may subject himself to continual
renewal; or he may strive for a revolutionary, historical or social
palingenesis." - Luigi Nono
*/
_______________________________________________
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-dev/
search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/