[PD] Pentium 4 and denormalization

Miller Puckette mpuckett at man104-1.ucsd.edu
Tue Sep 3 05:59:03 CEST 2002


Thanks fo the warning... I haven't ever managed to get Pd running with
a soundcard/P4/W2K yet, but I've heard rumors that the execution times
are bad.  I normally run Linux.

I've got preliminary results that show that, on average, my P4 1600 doesn't
run much faster than my P3/866.  So Pd users everywhere should buy celerons
at 1.2-1.4 GHZ for best results.  They cost $60 and seem to outrun
P4s, not to mention celerons at 1.7+ which are downgraded P4s.

For video processing I think I'm going to find that the P4 greatly
outruns the P3/celeron but I haven't had time to run the experiment.

Anyway, if some of this is because of new FP trap behavior, I'd better find
out about it and fix Pd to work around the problems.  As Thomas suggests,
anything you're finding out about running Pd on various processors, I'd sure
love to hear about it!

cheers
Miller

On Tue, Sep 03, 2002 at 01:40:55AM +0200, Thomas Musil wrote:
> 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