Re: [PD-dev] devel_0_39 ? devel_0_40 ?

2007-07-25 Thread Tim Blechmann
On Tue, 2007-07-24 at 11:08 -0700, Miller Puckette wrote:
 On Mon, Jul 23, 2007 at 12:20:33PM +0200, Tim Blechmann wrote:
   Now for the hard part: in Pd, 32-bit floating point tables are stored as
   64-but 'atoms' for a 50% hit in memory efficiency.  Something Must Be 
   Done;
   but what?
  
  split audio buffers and array-of-atoms? maybe this could include
  rewriting the whole audio buffers with an asynchronous interface ...
  imo, data structures and audio buffer have completely different
  real-time and performance constraints, so i see no real benefit in
  combining both concepts ... 
  
 Well, I only just combined table~ with 'data structures' in 0.39 (I
 think), because there were hundreds of lines of essentially duplicate
 GUI code for the two types of arrays.
 
 The other complication is that I'm trying to design a new system of
 buffers suitable for images, perhaps with 8- 16- and 32- bit cells.
 It would be desirable for tabread4~ and all that to be able to talk to
 images too.  Big design problem...

the problem of generic design is, that you might have an implementation,
that does everything more or less, but does nothing completely right ...

like ... do you want/need 128bit alignment? do you want/need
power-of-two sizes? what are your real-time constraints (1.3 ms or 40 ms
deadlines)? can you affort to waste memory?

generic design is great, if you don't have to sacrifice too much
performance / usability ... i'm not sure about combining ds, audio
buffers and video buffers (and maybe multi-dimensional matrices),
though ...

tim

--
[EMAIL PROTECTED]ICQ: 96771783
http://tim.klingt.org

I had nothing to offer anybody except my own confusion
  Jack Kerouac


signature.asc
Description: This is a digitally signed message part
___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] devel_0_39 ? devel_0_40 ?

2007-07-22 Thread Miller Puckette
This explains a lot!

Now for the hard part: in Pd, 32-bit floating point tables are stored as
64-but 'atoms' for a 50% hit in memory efficiency.  Something Must Be Done;
but what?

OTOH, I'm falling out of my chair for joy that there's finally a way to 
write C code that doesn't choke on denormals.  

Life is indeed really simple, but I remain baffled :)

M

 when compiling for x86_64, floating-point opertations are generated for
 the sse unit instead of the fpu ... 
 seeing the increased number of xmm registers, less memory operations
 need to be used ... e.g. second order systems (biquad) can be computed
 in registers only ...
 another nice side-effect is the more robust handling of denormal numbers
 on the sse unit ...
 
 tim
 
 --
 [EMAIL PROTECTED]ICQ: 96771783
 http://tim.klingt.org
 
 Life is really simple, but we insist on making it complicated.
   Confucius



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] devel_0_39 ? devel_0_40 ?

2007-07-22 Thread Miller Puckette
Cool...  I'm especially excited about midi/audio patches, speaking
only for myself :)

On Sun, Jul 22, 2007 at 10:48:40PM +0200, Thomas Grill wrote:
 Hi all,
 i hate to be a spoiler, but the features that sleep in the devel  
 branch are the topic of my talk at the pdconf.
 I'll commit a bit more stuff in the next couple of days... i hope to  
 be able to use idle time at the convention to make patches against  
 HEAD for the most important improvements that are in the devel branch  
 (with decreasing priority: SIMD, portaudio, portmidi, multi threading  
 stuff, idle callbacks).
 Apart from that i'm all for completely adandoning the devel branch in  
 favor of patches to the patch tracker, which will also be one  
 conclusion of my paper.
 all the best,
 Thomas

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] devel_0_39 ? devel_0_40 ?

2007-07-21 Thread Mathieu Bouchard


Is devel_0_40 still planned?

It's getting closer to one year since the last changes to devel_0_39 
were applied, apart from mine. So, what happened exactly?


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] devel_0_39 ? devel_0_40 ?

2007-07-21 Thread Miller Puckette
As it happens I'm just having a look at devel_0_39, trying to compile
it to see if I can get any latency wins from the callback scheduling
and/or settable blocksizes.

I think there are other enhancements in there (we heard recently about
SYSEX MIDI on OSX) that warrant putting into 0.41.  If these are available
as patches to 0.41 itself, they're much easier for me to apply, but certain
changes are so non-local (like the SSE speedups) that the only way to proceed
is looking at any version that has the enhancement in question and deciding
how to fit it nicely into 0.41.

The devel branch seems to have filled two purposes simultaneously.  I think
a few people actually were using devel_0_39 in productions, but it also
served as a testbed for things to merge into the head.

There are fully THREE pathways proposed for introducing changes into Pd; the
third is Pd_extended in which, if I understand it correctly, some patches
are applied to Pd in order to resolve various compatibility problems with
external libraries (e.g., scoping of symbols in dynamic linking?) which
might, or might not, also be reflected in devel_0_39.

Finally, 0.40 still isn't 64-bit safe; for that you'll need 0.41.  This
is a serious problem in some distributions of linux in which many libraries
aren't available in 32-bit form in the 64-bit version of the OS.  Just as
a teaser, I tried running the same patch as 32-bit and 64-bit programs on
my 64-bit machine, hoping to find the 32-bit version so much faster that I
could just forget optimizing the 64 bit version entirely.  But I found the 
64-bit one 33% faster than the 32-bit one for the particular patch I tried.  
So 64-bit compatibility has to be taken seriously!

cheers
Miller

On Sat, Jul 21, 2007 at 01:21:28PM -0400, Mathieu Bouchard wrote:
 
 Is devel_0_40 still planned?
 
 It's getting closer to one year since the last changes to devel_0_39 
 were applied, apart from mine. So, what happened exactly?
 
  _ _ __ ___ _  _ _ ...
 | Mathieu Bouchard - t?l:+1.514.383.3801, Montr?al QC Canada

 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] devel_0_39 ? devel_0_40 ?

2007-07-21 Thread chris clepper

On 7/21/07, chris clepper [EMAIL PROTECTED] wrote:


On 7/21/07, Miller Puckette [EMAIL PROTECTED] wrote:

 Just as
 a teaser, I tried running the same patch as 32-bit and 64-bit programs
 on
 my 64-bit machine, hoping to find the 32-bit version so much faster that
 I
 could just forget optimizing the 64 bit version entirely.  But I found
 the
 64-bit one 33% faster than the 32-bit one for the particular patch I
 tried.
 So 64-bit compatibility has to be taken seriously!


If I had to hazard a guess that speedup is due to the compiler.  The 64
bit CPUs are all quite recent and the assumptions about what the fast paths
are a much smaller and generally much more efficient set than the 32 bit
options. No doubt some of that comes from the gamesmanship involved in
rigging and hyping scores on the baleful SPEC test suite.


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev