[PD] Pentium 4 and denormalization

Olaf Matthes olaf.matthes at gmx.de
Tue Sep 3 09:25:55 CEST 2002


Hi Thomas,

here is what I found on my P4, 1.8GHz, Win2k:

Pd out of the box:
DSP OFF: 10.1 %
noise~: 10.7 %
zeroes: 72.1 %

Pd compiled with Intel C++ compiler and optimizations for P4 turned on (/O3 /G7 /QaxW):
DSP OFF: 6.8 %
noise~: 8.1 %
zeroes: 7.9 %

Note: the rather hight values with DSP turned off are caused by the asio support!

It seems the Intel compiler somehow fixes this problem. You can get Pd compiled with this
compiler from http://www.akustische-kunst.org/puredata/experimental/

BTW, I still think that CPU usage is too high. Some patches using 25% in a 400MHz P2 use
20% on the 1.8GHz P4. This is not really what I expected...

Olaf


Thomas Musil schrieb:

> Hi list,
>
> Please try this benchmark-patch with 6 "hip~" Filters on a P4 (attached: test-hip~.pd).
> I ran this patch under w2k with a Pentium 4 / 2Ghz.
>
> results: with white noise input, 6 hip~ take 0.1 %
> with zero-signal they eat about 31 % (denormalization of P4).
>
> Question: could somebody try this patch under win_XP and/or under Linux
> and report his experience ?
>
> my workaround was: adding a -200 dB noise to each filter.
>
> i found some hints under:
>
> http://music.calarts.edu/~majordom/music-dsp/2001-may/msg00470.html
>
> Thomas Musil
>
>   ------------------------------------------------------------------------
> #N canvas 221 50 680 593 12;
> #X obj 357 147 noise~;
> #X obj 384 176 *~ 1;
> #X obj 384 201 hip~ 5;
> #X obj 384 228 hip~ 5;
> #X obj 384 254 hip~ 5;
> #X obj 384 281 hip~ 5;
> #X obj 384 306 hip~ 5;
> #X obj 384 333 hip~ 5;
> #X msg 439 109 0;
> #X msg 476 109 1;
> #X floatatom 112 559 4 0 0;
> #X obj 19 326 cputime;
> #X msg 19 238 1;
> #X floatatom 19 261 1 0 0;
> #X obj 19 303 t b b;
> #X obj 19 350 int;
> #X obj 19 213 loadbang;
> #X msg 15 92 \; pd dsp \$1;
> #X msg 15 42 1;
> #X floatatom 15 68 1 0 0;
> #X obj 15 17 loadbang;
> #X text 43 259 cpu_load_on/off;
> #X text 39 66 dsp_on/off;
> #X obj 84 436 f;
> #X obj 44 500 +;
> #X obj 19 399 t f b;
> #X obj 19 435 * 0.1;
> #X obj 84 460 * 0.9;
> #X text 156 558 % cpu_mean;
> #X floatatom 112 538 4 0 0;
> #X text 153 538 % cpu_peak;
> #X text 293 44 with 6 recursive-filters;
> #X text 326 62 (lop~ or hip~);
> #X obj 19 281 metro 1000;
> #X obj 19 374 * 0.1;
> #X obj 102 409 unpack;
> #X text 176 335 fast;
> #X text 178 359 medium;
> #X text 193 386 slow;
> #X msg 102 385 0.05 0.95;
> #X msg 102 360 0.3 0.7;
> #X msg 102 336 0.8 0.2;
> #X floatatom 439 147 5 0 0;
> #X text 291 28 benchmark for Pentium 4 / 2 GHz;
> #X text 430 436 dsp_ON \, noise_mul=1: 5.4 %;
> #X text 430 449 dsp_ON \, noise_mul=0: 36.2 %;
> #X text 430 424 dsp_OFF \, noise_mul=1: 5.3 %;
> #X text 420 407 benchmark-results under w2k:;
> #X text 101 315 cpu_mean_lowpass-time:;
> #X connect 0 0 1 0;
> #X connect 1 0 2 0;
> #X connect 2 0 3 0;
> #X connect 3 0 4 0;
> #X connect 4 0 5 0;
> #X connect 5 0 6 0;
> #X connect 6 0 7 0;
> #X connect 8 0 42 0;
> #X connect 9 0 42 0;
> #X connect 11 0 15 0;
> #X connect 12 0 13 0;
> #X connect 13 0 33 0;
> #X connect 14 0 11 0;
> #X connect 14 1 11 1;
> #X connect 15 0 34 0;
> #X connect 16 0 12 0;
> #X connect 18 0 19 0;
> #X connect 19 0 17 0;
> #X connect 20 0 18 0;
> #X connect 23 0 27 0;
> #X connect 24 0 10 0;
> #X connect 24 0 23 1;
> #X connect 25 0 26 0;
> #X connect 25 1 23 0;
> #X connect 26 0 24 0;
> #X connect 27 0 24 1;
> #X connect 33 0 14 0;
> #X connect 34 0 25 0;
> #X connect 34 0 29 0;
> #X connect 35 0 26 1;
> #X connect 35 1 27 1;
> #X connect 39 0 35 0;
> #X connect 40 0 35 0;
> #X connect 41 0 35 0;
> #X connect 42 0 1 1;
>
>   ------------------------------------------------------------------------
> #N canvas 121 83 785 593 12;
> #X obj 357 147 noise~;
> #X obj 384 176 *~ 1;
> #X obj 384 201 hip~ 5;
> #X obj 384 228 hip~ 5;
> #X obj 384 254 hip~ 5;
> #X obj 384 281 hip~ 5;
> #X obj 384 306 hip~ 5;
> #X obj 384 333 hip~ 5;
> #X msg 439 109 0;
> #X msg 476 109 1;
> #X floatatom 112 559 4 0 0;
> #X obj 19 326 cputime;
> #X msg 19 238 1;
> #X floatatom 19 261 1 0 0;
> #X obj 19 303 t b b;
> #X obj 19 350 int;
> #X obj 19 213 loadbang;
> #X msg 15 92 \; pd dsp \$1;
> #X msg 15 42 1;
> #X floatatom 15 68 1 0 0;
> #X obj 15 17 loadbang;
> #X text 43 259 cpu_load_on/off;
> #X text 39 66 dsp_on/off;
> #X obj 84 436 f;
> #X obj 44 500 +;
> #X obj 19 399 t f b;
> #X obj 19 435 * 0.1;
> #X obj 84 460 * 0.9;
> #X text 156 558 % cpu_mean;
> #X floatatom 112 538 4 0 0;
> #X text 153 538 % cpu_peak;
> #X text 293 44 with 6 recursive-filters;
> #X text 326 62 (lop~ or hip~);
> #X obj 19 281 metro 1000;
> #X obj 19 374 * 0.1;
> #X obj 102 409 unpack;
> #X text 176 335 fast;
> #X text 178 359 medium;
> #X text 193 386 slow;
> #X msg 102 385 0.05 0.95;
> #X msg 102 360 0.3 0.7;
> #X msg 102 336 0.8 0.2;
> #X floatatom 439 147 5 0 0;
> #X text 291 28 benchmark for Pentium 4 / 2 GHz;
> #X text 430 436 dsp_ON \, noise_mul=1: 5.4 %;
> #X text 430 449 dsp_ON \, noise_mul=0: 36.2 %;
> #X text 430 424 dsp_OFF \, noise_mul=1: 5.3 %;
> #X text 420 407 benchmark-results under w2k:;
> #X text 101 315 cpu_mean_lowpass-time:;
> #X obj 559 96 noise~;
> #X obj 559 121 *~ 1e-10;
> #X obj 559 145 s~ penicillin;
> #X obj 447 176 r~ penicillin;
> #X text 463 212 add penicillin (-200 dB noise);
> #X text 463 228 to any IIR-Filter \, which can input;
> #X text 472 243 a zero-signal;
> #X connect 0 0 1 0;
> #X connect 1 0 2 0;
> #X connect 2 0 3 0;
> #X connect 3 0 4 0;
> #X connect 4 0 5 0;
> #X connect 5 0 6 0;
> #X connect 6 0 7 0;
> #X connect 8 0 42 0;
> #X connect 9 0 42 0;
> #X connect 11 0 15 0;
> #X connect 12 0 13 0;
> #X connect 13 0 33 0;
> #X connect 14 0 11 0;
> #X connect 14 1 11 1;
> #X connect 15 0 34 0;
> #X connect 16 0 12 0;
> #X connect 18 0 19 0;
> #X connect 19 0 17 0;
> #X connect 20 0 18 0;
> #X connect 23 0 27 0;
> #X connect 24 0 10 0;
> #X connect 24 0 23 1;
> #X connect 25 0 26 0;
> #X connect 25 1 23 0;
> #X connect 26 0 24 0;
> #X connect 27 0 24 1;
> #X connect 33 0 14 0;
> #X connect 34 0 25 0;
> #X connect 34 0 29 0;
> #X connect 35 0 26 1;
> #X connect 35 1 27 1;
> #X connect 39 0 35 0;
> #X connect 40 0 35 0;
> #X connect 41 0 35 0;
> #X connect 42 0 1 1;
> #X connect 49 0 50 0;
> #X connect 50 0 51 0;
> #X connect 52 0 2 0;





More information about the Pd-list mailing list