[PD] ICC compile [or: PD + P4 + Linux = massive headache!]

Tim Blechmann TimBlechmann at gmx.net
Mon May 10 12:43:25 CEST 2004

hi derek...

> What are the maintainers of the windoze packages of PD using to
> compile? Whatever it is, it seems to clear up any denormal or CPU
> spike problems.
just a guess, but maybe the linux system libraries create more denormals
than the windows ones ...

> > well, there is pd's PD_BADFLOAT macro that _should_ to that, too,
> > but this has only effect if the nubers are already denormal, so
> > maybe it's a good idea to reset the value to flush every number a 24
> > / 32 bit dac would consider to be zero to zero...
> Can you tell me a bit more about this? How and where should I start
> with that?
the PD_BADFLOAT macro is currently just checking for actual denormals...
denormals occur at about 1e-34 ... a 32 bit dac should have a resolution
of about 5e-10 ... so i suppose we could implement a macro that flushes
everything below 1e-12 to zero... the best would be to find a fancy
mask, to detect these numbers ... well, you'll have to mess around with
mantissa ... if you could have a look at this it would be great...

> I have found that certain objects have *stong* denormal tendencies, 
> including hip~, lp~, np~, throw~, catch~ and probably more that I 
> haven't weeded out yet.
well, digital filters and other delay lines are dangerous about
denormals, but i'm a bit confused about the throw~ / catch~ objects ...
i haven't had a look at the code, but to me it seems they just copy
sample arrays ...

> The bottom line is that patches which are completely fine to run on 
> windoze and on most AMD processors with Linux completely screw up my
> P4 laptop. We are talking grinding halts of DSP, sudden [+ lasting!]
> leaps of CPU usage over 100% and even completely freezing the machine
> if I happen to be in realtime mode. Not pretty.
i know the problem, tooo :-(

> Using "./configure --enable-icc --enable-optimize=pentium4 
> --enable-jack --enable-fftw" still uses GCC. Using "CC=icc CXX=icc" 
> tells it to use ICC, but I get an error that the C compiler cannot 
> create executables. I have a hunch that this is because I still
> haven't gotten this ridiculous key ["It should arrive within one
> business day", sez Intel...]
you shouldn't have to set the CC or CXX variables ... i'll have a look
at it ... about the configure message ... is you icc executable in the
/usr/bin path? if not, you'll probably have to create a symlink to it...


 Tim                          mailto:TimBlechmann at gmx.de
                              ICQ: 96771783
The only people for me are the mad ones, the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn,
burn, like fabulous yellow roman candles exploding like spiders across
the stars and in the middle you see the blue centerlight pop and
everybody goes "Awww!"
                                                          Jack Kerouac

More information about the Pd-list mailing list