[LAD] FLTK vs GTKmm

2009-08-10 Thread Christian
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,
I'm just curious what your long-time experiences with these
gui-libraries are.
Considering to use one of these two but can't really decide.
But I do not want to switch in a year or two...
Thanks for your advices!
Christian
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkp/wE0ACgkQVC26eJ+o0+2UQACePLcVXkXSwPygZrC1sQnDUWC0
hk0AmgNmgru7KzOfYCkGppoqldsam5GH
=BzmB
-END PGP SIGNATURE-
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Thorsten Wilms
On Mon, 2009-08-10 at 08:38 +0200, Christian wrote:

> I'm just curious what your long-time experiences with these
> gui-libraries are.
> Considering to use one of these two but can't really decide.
> But I do not want to switch in a year or two...

Well, I can't say anything about developing with either one of them, but
I think you should also take into account how the result will look and
feel.

All examples of FLTK I know of look horribly out of place on a modern
desktop. Like, the 80ies want their GUIs back!


-- 
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Christian
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Thorsten Wilms schrieb:
> On Mon, 2009-08-10 at 08:38 +0200, Christian wrote:
> 
>> I'm just curious what your long-time experiences with these
>> gui-libraries are.
>> Considering to use one of these two but can't really decide.
>> But I do not want to switch in a year or two...
> 
> Well, I can't say anything about developing with either one of them, but
> I think you should also take into account how the result will look and
> feel.
> 
> All examples of FLTK I know of look horribly out of place on a modern
> desktop. Like, the 80ies want their GUIs back!
> 
> 
Well you can design an fltk gui pretty well.
GTKmm guis are always using your desktop theme which might be bad, too.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkp/4xQACgkQVC26eJ+o0+0UCgCeL5W0DlCi8eESuZpVbslUBx9C
0x4An2X+0tlngoHBiOygePAMRdBG1RQQ
=wMkr
-END PGP SIGNATURE-
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Paul Davis
On Mon, Aug 10, 2009 at 5:06 AM, Christian wrote:

> GTKmm guis are always using your desktop theme which might be bad, too.

not true. ardour uses gtkmm and doesn't use the desktop theme.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Christian
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Paul Davis schrieb:
> On Mon, Aug 10, 2009 at 5:06 AM, Christian wrote:
> 
>> GTKmm guis are always using your desktop theme which might be bad, too.
> 
> not true. ardour uses gtkmm and doesn't use the desktop theme.
> 
> 
Thats interesting. Will have a look how this works.
I think I'll go for gtkmm. I like the nice docu ;)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkp/5z4ACgkQVC26eJ+o0+3zugCgg8H/kkxePDzkmcvwMtXcAt01
lGwAn3ibuP4KjYA5u0lIAmpKtJlhI15+
=4JRs
-END PGP SIGNATURE-
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Raymond Martin
On Monday 10 August 2009 05:51:52 Thorsten Wilms wrote:
> On Mon, 2009-08-10 at 08:38 +0200, Christian wrote:
> > I'm just curious what your long-time experiences with these
> > gui-libraries are.
> > Considering to use one of these two but can't really decide.
> > But I do not want to switch in a year or two...
>
> Well, I can't say anything about developing with either one of them, but
> I think you should also take into account how the result will look and
> feel.
>
> All examples of FLTK I know of look horribly out of place on a modern
> desktop. Like, the 80ies want their GUIs back!

There are other GUI toolkits that can look so much better. For instance, Qt
and wxWidgets. Why are you settling for the two choices given?

Raymond


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Christian
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

>>> I'm just curious what your long-time experiences with these
>>> gui-libraries are.
>>> Considering to use one of these two but can't really decide.
>>> But I do not want to switch in a year or two...
>> Well, I can't say anything about developing with either one of them, but
>> I think you should also take into account how the result will look and
>> feel.
>>
>> All examples of FLTK I know of look horribly out of place on a modern
>> desktop. Like, the 80ies want their GUIs back!
> 
> There are other GUI toolkits that can look so much better. For instance, Qt
> and wxWidgets. Why are you settling for the two choices given?
> 
> Raymond
Well I don't want to get into qt as I don't need these dependencies(and
qmake)
And I don't like wxWidgets example code.
I'll stick to gtkmm.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkp/8jwACgkQVC26eJ+o0+37jQCfdHs/u9IMYEfk5B8r6wzxGfPd
4gYAn0GRlnSZI5QnQ1Ary6SgZCDZI2WI
=07/f
-END PGP SIGNATURE-
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 11:51 +0200, Thorsten Wilms wrote:

> All examples of FLTK I know of look horribly out of place on a modern
> desktop. Like, the 80ies want their GUIs back!
> 

Supercollider was some time ago. Current Version of FLTK has more than
one engine, including one that clains to be a "Clearlooks" knock-off
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen
Bzzt ...

SPIRALSYNTH, not Super- .. Whatever.


On Mon, 2009-08-10 at 13:28 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 11:51 +0200, Thorsten Wilms wrote:
> 
> > All examples of FLTK I know of look horribly out of place on a modern
> > desktop. Like, the 80ies want their GUIs back!
> > 
> 
> Supercollider was some time ago. Current Version of FLTK has more than
> one engine, including one that clains to be a "Clearlooks" knock-off
> > 
> 
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Raymond Martin
On Monday 10 August 2009 06:11:08 Christian wrote:
> >>> I'm just curious what your long-time experiences with these
> >>> gui-libraries are.
> >>> Considering to use one of these two but can't really decide.
> >>> But I do not want to switch in a year or two...
> >>
> >> Well, I can't say anything about developing with either one of them, but
> >> I think you should also take into account how the result will look and
> >> feel.
> >>
> >> All examples of FLTK I know of look horribly out of place on a modern
> >> desktop. Like, the 80ies want their GUIs back!
> >
> > There are other GUI toolkits that can look so much better. For instance,
> > Qt and wxWidgets. Why are you settling for the two choices given?
> >
> > Raymond
>
> Well I don't want to get into qt as I don't need these dependencies(and
> qmake)

You can always recompile with less dependencies, and you do not have
to use qmake to compile either. You can use CMake or something else.

> And I don't like wxWidgets example code.

Seems like an odd reason to rule it out. Have you seen Audacity? Looks
pretty good, IMO.

Raymond


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Luis Garrido
>> Well I don't want to get into qt as I don't need these dependencies(and
>> qmake)

For what is worth, Qt's documentation is simply superb (reference,
examples, tutorials), I suggest you give it a look, for me it was the
selling point.

http://doc.qtsoftware.com/4.5/index.html

You can use any build system you want with it as long as it takes into
account Qt's idiosyncrasies: autotools, cmake or scons are
possibilities I have toyed with, although in the end I haven't found
any reason to use anything other than qmake in my Qt projects.

About dependencies, what are you referring to precisely?

It has its drawbacks too (dual licensing, non-standard C++ syntax
extensions...) but I find it easy to learn, powerful and well
supported.

Anyway, all toolkits are fine once you get used to them, just pick the
one with the more appealing features to you.

http://en.wikipedia.org/wiki/List_of_widget_toolkits#Comparison

Cheers,

Luis
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 11:06 +0200, Christian wrote:
> Thorsten Wilms schrieb:
> > All examples of FLTK I know of look horribly out of place on a modern
> > desktop. Like, the 80ies want their GUIs back!
> > 
> > 
> Well you can design an fltk gui pretty well.
> GTKmm guis are always using your desktop theme which might be bad, too.

Ick!  Using the desktop theme is not bad!  The user chose it for a
reason!

Less atrocious and weird looking "skinned" UI's designed by seemingly
half-blind artistically retarded programmers, please :)

-dr (half-blind artistically retarded programmer who at least knows it)


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 12:10 -0400, David Robillard wrote:


> Ick!  Using the desktop theme is not bad!  The user chose it for a
> reason!

The default GTK+ Theme in the incarnation of Mandriva I have here is
absolutely stunning and good looking ... But redraws at a crawl when the
machine is close to full rt-dsp load. Hey, you can even watch how it
paints the faders in gnome-volume-control from right to left when there
is no load /at all./ Really, an Atari ST is more responsive.

Another theme supplied with this dist (La-Ora Grey) looks almost as good
and works just fine under heavy load. 

Now tell me again, what was the reason for choosing this theme rather
than that theme?



___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 18:31 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 12:10 -0400, David Robillard wrote:
> 
> 
> > Ick!  Using the desktop theme is not bad!  The user chose it for a
> > reason!
> 
> The default GTK+ Theme in the incarnation of Mandriva I have here is
> absolutely stunning and good looking ... But redraws at a crawl when the
> machine is close to full rt-dsp load. Hey, you can even watch how it
> paints the faders in gnome-volume-control from right to left when there
> is no load /at all./ Really, an Atari ST is more responsive.
> 
> Another theme supplied with this dist (La-Ora Grey) looks almost as good
> and works just fine under heavy load. 
> 
> Now tell me again, what was the reason for choosing this theme rather
> than that theme?

... in other words, being able to choose your theme is nice?

Indeed ;)

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 13:57 -0400, David Robillard wrote:

> > Now tell me again, what was the reason for choosing this theme rather
> > than that theme?
> 
> ... in other words, being able to choose your theme is nice?
> 

Yes, but why is UNIX always by default configured in the least useful
way?

> Indeed ;)
> 
> -dr
> 
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Patrick Shirkey


On 08/11/2009 04:05 AM, Jens M Andreasen wrote:

On Mon, 2009-08-10 at 13:57 -0400, David Robillard wrote:

   

Now tell me again, what was the reason for choosing this theme rather
than that theme?
   

... in other words, being able to choose your theme is nice?

 


Yes, but why is UNIX always by default configured in the least useful
way?

   



I'm sure that someone is getting their kicks out of it.

As a comparison on my 64 bit version of Gnome I find the default theme 
to be very responsive...






Patrick Shirkey
Boost Hardware Ltd






Indeed ;)

-dr


 


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
   
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Tue, 2009-08-11 at 04:14 +1000, Patrick Shirkey wrote:

> As a comparison on my 64 bit version of Gnome I find the default theme
> to be very responsive...

As a comparison, the machine I have today is the equivalent of a Cray2 -
the most outrageous 200KW 'supercomputer' of the time when (the quite
responsive) Atari/Amiga were the bread and butter machines for
audio/video hackers.

Spending that much clockcycles on screen redraws of bland widgets just
ain't sane anymore. Ohh, and I forgot: I even have a graphics card on
top with computational power exceeding that of the Cray2 by a factor of
four ... Still feels like my Linux desktop will be forever stuck on pear
with that of a Spectrum-48 :-/
 
/j


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Patrick Shirkey


On 08/11/2009 04:42 AM, Jens M Andreasen wrote:

On Tue, 2009-08-11 at 04:14 +1000, Patrick Shirkey wrote:

   

As a comparison on my 64 bit version of Gnome I find the default theme
to be very responsive...
 


As a comparison, the machine I have today is the equivalent of a Cray2 -
the most outrageous 200KW 'supercomputer' of the time when (the quite
responsive) Atari/Amiga were the bread and butter machines for
audio/video hackers.

Spending that much clockcycles on screen redraws of bland widgets just
ain't sane anymore. Ohh, and I forgot: I even have a graphics card on
top with computational power exceeding that of the Cray2 by a factor of
four ... Still feels like my Linux desktop will be forever stuck on pear
with that of a Spectrum-48 :-/

   



Isn't this Sergey's Law?

i.e.  The faster the hardware becomes, the slower the software performs...

I think he has tried to start a movement against this unwritten law of 
computing. I can't recall the name right now though.




Patrick Shirkey
Boost Hardware Ltd




/j


   
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 20:05 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 13:57 -0400, David Robillard wrote:
> 
> > > Now tell me again, what was the reason for choosing this theme rather
> > > than that theme?
> > 
> > ... in other words, being able to choose your theme is nice?
> > 
> 
> Yes, but why is UNIX always by default configured in the least useful
> way?

My default theme, and that on most distributions, is stock ClearLooks,
which is both attractive and relatively fast (and colour configurable)
as far as I can tell.

If your slowness is truly as bad as your description suggests, it sounds
like you may have an X/driver/configuration problem.

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 20:42 +0200, Jens M Andreasen wrote:
> Spending that much clockcycles on screen redraws of bland widgets just
> ain't sane anymore. Ohh, and I forgot: I even have a graphics card on
> top with computational power exceeding that of the Cray2 by a factor of
> four ... Still feels like my Linux desktop will be forever stuck on pear
> with that of a Spectrum-48 :-/

Let me guess Nvidia?  Proprietary drivers?

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 14:49 -0400, David Robillard wrote:

> If your slowness is truly as bad as your description suggests, it sounds
> like you may have an X/driver/configuration problem.
> 

IIRC the default GTK+ is indeed Clearlooks. 
It is an Nvidia X driver running.

There is an Intel framebuffer builtin into the chipset. You say that I
should try that and check if I can still follow the right to left
drawing order of gnome-volume-control, or else shut up?

Yes why not ... cu later!
 
> -dr
> 
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 14:59 -0400, David Robillard wrote:

> Let me guess Nvidia?  Proprietary drivers?
> 


This is such BS  .. Let me Guess Intel? Opensource and broken GL!!!


> -dr
> 
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 21:14 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 14:59 -0400, David Robillard wrote:
> 
> > Let me guess Nvidia?  Proprietary drivers?
> > 
> 
> 
> This is such BS  .. Let me Guess Intel? Opensource and broken GL!!!

Funny, my desktop is nice and snappy, and well supported by all recent
advancements in X.

Reality seems to have a "BS" bias.

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 15:22 -0400, David Robillard wrote:

> > This is such BS  .. Let me Guess Intel? Opensource and broken GL!!!
> 
> Funny, my desktop is nice and snappy, and well supported by all recent
> advancements in X.
> 
> Reality seems to have a "BS" bias.
> 

Ah, your 2D driver works .. But that is not what I said.


> -dr
> 
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 21:26 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 15:22 -0400, David Robillard wrote:
> 
> > > This is such BS  .. Let me Guess Intel? Opensource and broken GL!!!
> > 
> > Funny, my desktop is nice and snappy, and well supported by all recent
> > advancements in X.
> > 
> > Reality seems to have a "BS" bias.
> > 
> 
> Ah, your 2D driver works .. But that is not what I said.

Actually, it is what you were complaining about (and blaming "UNIX" for,
unfairly for obvious reasons).  You only brought up GL because I
mentioned your drivers and you got triple-exclamation-point agitated for
some reason.

I guessed, and I guessed right.  That is all.

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen
On Mon, 2009-08-10 at 15:41 -0400, David Robillard wrote:

> Actually, it is what you were complaining about (and blaming "UNIX" for,
> unfairly for obvious reasons).  You only brought up GL because I
> mentioned your drivers and you got triple-exclamation-point agitated for
> some reason.
> 
> I guessed, and I guessed right.  That is all.
> 

OK, I have been around BIOS now, and changed the monitor connection as
well (so I can see what I write ... )

I have no GL whatsoever now, but - lo and behold - Clearlooks is
actually snappy? I wouldn't have believed that without trying it out.

Going down again ... cu!


> -dr
> 
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 22:04 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 15:41 -0400, David Robillard wrote:
> 
> > Actually, it is what you were complaining about (and blaming "UNIX" for,
> > unfairly for obvious reasons).  You only brought up GL because I
> > mentioned your drivers and you got triple-exclamation-point agitated for
> > some reason.
> > 
> > I guessed, and I guessed right.  That is all.
> > 
> 
> OK, I have been around BIOS now, and changed the monitor connection as
> well (so I can see what I write ... )
> 
> I have no GL whatsoever now, but - lo and behold - Clearlooks is
> actually snappy? I wouldn't have believed that without trying it out.
> 
> Going down again ... cu!

Lots of info on the web about this, but most of it looks pretty old.

Xorg logs (/var/log/Xorg.0.log on debian at least) are usually
informative when stuff like this is happening.  Render accel is probably
not working, or maybe compositing is involved...

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 22:04 +0200, Jens M Andreasen wrote:

> OK, I have been around BIOS now, and changed the monitor connection as
> well (so I can see what I write ... )
> 
> I have no GL whatsoever now, but - lo and behold - Clearlooks is
> actually snappy? I wouldn't have believed that without trying it out.
> 
> Going down again ... cu!
> 

While I was at it, I updated my driver to the latest ... And you know
what? (Yes, you probably gussed it :) Clearlooks is now snappy with
Nvidia as well (driver 190.18, X:1.3.0 )


I wonder if this positive effect is also reflected in the behaviour of
scrolling in Firefox at certain (most!) 'wordpress' sites, while
simultaniously doing audio processing on the GPU ...


So I suppose we can conclude that commercial vendors never fix bugs
except for some of them and then only sometimes.

> 
> > -dr
> > 
> > 
> 
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 23:09 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 22:04 +0200, Jens M Andreasen wrote:
> I wonder if this positive effect is also reflected in the behaviour of
> scrolling in Firefox at certain (most!) 'wordpress' sites, while
> simultaniously doing audio processing on the GPU ...

What do you use to do this?  (audio processing on the GPU)

> So I suppose we can conclude that commercial vendors never fix bugs
> except for some of them and then only sometimes.

The problem is that you have to rely on them to ;)

-dr

P.S. commercial != proprietary


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 17:14 -0400, David Robillard wrote:

> What do you use to do this?  (audio processing on the GPU)
> 

Hardware is the most humble later 8400GS (revision g98 [1.4 GHz × 8
madd])

Software is the free 'C for CUDA' compiler and SDK from Nvidia

> 
> P.S. commercial != proprietary

Mmmm, but !proprietary == !commercial (once the cat is out of the bag 
und so weiter und sofort ...)


> 
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Mon, 2009-08-10 at 23:35 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 17:14 -0400, David Robillard wrote:
> 
> > What do you use to do this?  (audio processing on the GPU)
> > 
> 
> Hardware is the most humble later 8400GS (revision g98 [1.4 GHz × 8
> madd])
> 
> Software is the free 'C for CUDA' compiler and SDK from Nvidia

Latency low enough to make realtime use feasible?
 
> > P.S. commercial != proprietary
> 
> Mmmm, but !proprietary == !commercial (once the cat is out of the bag 
> und so weiter und sofort ...)

?  The countless companies using free software in commercial ways might
disagree...

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 17:40 -0400, David Robillard wrote:

> > Software is the free 'C for CUDA' compiler and SDK from Nvidia
> 
> Latency low enough to make realtime use feasible?

What I do is - imagining that I am a Jack client with near zero
processing time - what I do is that I 'receive previous/send next/launch
kernel' in one go. Current process is in principle a 192 voice Minimoog
style polysynth with 4 external audio inputs + a ton of midi in. Mixdown
to 16 stereo (midi)channels, further mixdown to 8 out (1 stereo 'house'
+ 3 stereo 'fx send') Sorting the dynamically assigned voices to their
respective channels is currently the main bottleneck - or so it seems.

With buffersize 3 × 1.3 ms @96KHz I have clockcycles to spare and can at
ease display a stream of video (320×200) simultaniosly for doing a
soundtrack to some movie or something. And more ...

With buffersize 3 × 0.7 ms .. I'll have to back off somewhat regarding
number of voices.

With buffersize 3 × 0.3 ms  nope, can't do that, sorry! (but still
works for code on the host)


The Jack interface is not really here yet though. It must be understood
that there can only be one transfer to the device for each run which
must include all inputs, otherwise you'll get absolutely nothing done.
That transfer can OTOH be pretty huge, way more than I personally have
any use for at this point in time.

64in + 64 out @96KHz + lots of controllers, left in some place we all
(as well as Jack) knows about would not be asking for too much from the
hardware. That is not the problem.

The general hostility against non-GPL software is tougher though, and
unfortunately makes me feel like - by presenting these ideas - like I've
just dressed up in pink rubber-suit with a sign on my back saying "puke
on me" ...



Oh well, you'll have to wipe off your own monitors when you are done :-D

/j

 



___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread David Robillard
On Tue, 2009-08-11 at 00:43 +0200, Jens M Andreasen wrote:
> On Mon, 2009-08-10 at 17:40 -0400, David Robillard wrote:
> 
> > > Software is the free 'C for CUDA' compiler and SDK from Nvidia
> > 
> > Latency low enough to make realtime use feasible?
> 
> What I do is - imagining that I am a Jack client with near zero
> processing time - what I do is that I 'receive previous/send next/launch
> kernel' in one go. Current process is in principle a 192 voice Minimoog
> style polysynth with 4 external audio inputs + a ton of midi in. Mixdown
> to 16 stereo (midi)channels, further mixdown to 8 out (1 stereo 'house'
> + 3 stereo 'fx send') Sorting the dynamically assigned voices to their
> respective channels is currently the main bottleneck - or so it seems.
> 
> With buffersize 3 × 1.3 ms @96KHz I have clockcycles to spare and can at
> ease display a stream of video (320×200) simultaniosly for doing a
> soundtrack to some movie or something. And more ...

Interesting... I am surprised you can crunch DSP on these things with
this kind of latency at 96Khz.  48Khz should be a breeze then...

> The general hostility against non-GPL software is tougher though

Huh?  Are you using "non-GPL" here to mean "not open source"?

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Jens M Andreasen

On Mon, 2009-08-10 at 21:43 -0400, David Robillard wrote:

> > With buffer-size 3 × 1.3 ms @96KHz I have clock cycles to spare and can at
> > ease display a stream of video (320×200) simultaneously for doing a
> > soundtrack to some movie or something. And more ...
> 
> Interesting... I am surprised you can crunch DSP on these things with
> this kind of latency at 96KHz.  48KHz should be a breeze then...

Most certainly. The driver is very predictably processing each batch to
completion, so if there are no X-events queued up, then you 'own' the
GPU. Anything OpenGL and you're fried though - not even GLX gears in a
small window, at least not with buffer sizes around 1ms. Increasing the
buffers/jitter to around 5ms does away with that problem though, so that
glxgears can run in 256×256 (along with the previous smallish video
stream and Atari ST emulation [running a MIDI-sequencer]), oh and
apparently also GLX in full screen. Increased buffers also does away
with artifacts coming from certain Firefox redraws (where this site
http://carlbildt.wordpress.com/ mysteriously is affected while this site
http://arstechnica.com/ is not.)

This is with the tiniest most out-fashioned device almost available
which do not have newer features like overlapping processing/transfers
for alternating streams. The motherboard chipset on say the ION-platform
would have near twice the processing power, and you could then also do
away with any transfers and just read from normal memory, leaving the
Intel companion chip to do interrupt processing and nothing much else.

 
If anybody would be interested in doing a concerted effort of optimizing
PCIe transfers in jackd for cross platform CUDA audio processing, then -
well - I am here, as well as over at the CUDA forums. I imagine that, as
seen from say qjackctl, this should just look the same as any other
hardware you may have - like a sound-card - with 32 or perhaps 64
channels in/out. What happens at the other side, what those channels
connects to, would be up to the user/programmer. Running several kernels
in succession, the one piped into the other has very little overhead,
although it might be a better strategy to do different parts of the
scene in parallel on neighboring processors. Very few people who does
not work at TU-Berlin actually needs more than 640 channel strips ;)

The reward would be having huge arrays of GHz processors for about one
dollar a pop! Memory bandwidth in the triple digit range to go with
that. Or like me, just enjoy the bliss of silent computing on something
a little less ambitious.

/j


8<--
update: The performance increase for GTK pixmaps I experienced earlier
came because the X conf defaulted to 8bit after the Nvidia card was
disabled ... darned!

I'll have to redo that experiment with the Intel driver again some other
day, and for now just remember that switching to 8bit might allow for
more 'blinkenlights' while still processing near RT on the GPU.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-10 Thread Steve Harris
On 11 Aug 2009, at 07:16, Jens M Andreasen wrote:
>
> If anybody would be interested in doing a concerted effort of  
> optimizing
> PCIe transfers in jackd for cross platform CUDA audio processing,  
> then -
> well - I am here, as well as over at the CUDA forums. I imagine  
> that, as
> seen from say qjackctl, this should just look the same as any other
> hardware you may have - like a sound-card - with 32 or perhaps 64
> channels in/out. What happens at the other side, what those channels
> connects to, would be up to the user/programmer. Running several  
> kernels
> in succession, the one piped into the other has very little overhead,
> although it might be a better strategy to do different parts of the
> scene in parallel on neighboring processors. Very few people who does
> not work at TU-Berlin actually needs more than 640 channel strips ;)

If that's what the CUDA interface to the outside world looks like then  
wouldn't it be better to expose it as a JACK App, which loads CUDA- 
specific plugins onto the graphics card?

I don't see why you'd want to embed it in the jack daemon.

- Steve
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen

On Tue, 2009-08-11 at 07:45 +0100, Steve Harris wrote:
> O
> If that's what the CUDA interface to the outside world looks like then  
> wouldn't it be better to expose it as a JACK App, which loads CUDA- 
> specific plugins onto the graphics card?
> 
> I don't see why you'd want to embed it in the jack daemon.
> 

It is the scatter/gathering of data that is killing. I need to have one
and only one transfer on the PCIe line for each period to be efficient,
preferably in the 10 - 20KB range or more.  The jack model of one
channel, one buffer does not fit very well here.

Potentially It should also be possible to stream from harddisk via DMA
directly to the device without bothering the CPU at all. That OIOH hand
would work for prerecorded material with say ardour, since you can look
ahead as many bytes as you like. 

Doing live performances requres another approach though. 

Do you believe it would be very difficult to implement? I do
unfortunately not have the required knowledege of jackd internals to
judge wether or not.
 


> - Steve
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Pedro Lopez-Cabanillas
On Monday, August 10, 2009, Luis Garrido wrote:
> For what is worth, Qt's documentation is simply superb 

Agreed. 

Another excellent C++ multiplatform toolkit is Juce. It is worth to try it if 
you are writting audio/MIDI software.
http://juce.sourceforge.net

Regards,
Pedro
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Steve Harris
On 11 Aug 2009, at 08:04, Jens M Andreasen wrote:

>
> On Tue, 2009-08-11 at 07:45 +0100, Steve Harris wrote:
>> O
>> If that's what the CUDA interface to the outside world looks like  
>> then
>> wouldn't it be better to expose it as a JACK App, which loads CUDA-
>> specific plugins onto the graphics card?
>>
>> I don't see why you'd want to embed it in the jack daemon.
>>
>
> It is the scatter/gathering of data that is killing. I need to have  
> one
> and only one transfer on the PCIe line for each period to be  
> efficient,
> preferably in the 10 - 20KB range or more.  The jack model of one
> channel, one buffer does not fit very well here.

It's not ideal, but assembling all the jack buffers into one big one  
is not going to be that much load on the CPU.

> Potentially It should also be possible to stream from harddisk via DMA
> directly to the device without bothering the CPU at all. That OIOH  
> hand
> would work for prerecorded material with say ardour, since you can  
> look
> ahead as many bytes as you like.

Yeah, I think that would have to be app specific.

Another tack would be to provide a library that could execute LV2  
plugins (with CUDA versions of the code in the bundle). It would  
presumably need a daemon or such, but would be more generally useful  
than a hacked jackd.

> Doing live performances requres another approach though.
>
> Do you believe it would be very difficult to implement? I do
> unfortunately not have the required knowledege of jackd internals to
> judge wether or not.

Not difficult, just not what anyone really wants. The whole point of  
jack is that it lets you combine bits of software in different ways,  
this would take that away to some extent.

- Steve
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen
Continuing this increasingly inaccurately christened thread ..

On Tue, 2009-08-11 at 11:26 +0100, Steve Harris wrote:

> It's not ideal, but assembling all the jack buffers into one big one  
> is not going to be that much load on the CPU.
> 

OK .. Adrian Knoth showed some interest and says he knows his way around
in jackd as well as a colleague involved with CUDA. If the idea after
evaluation does not appear to be worth the effort, then we'll just drop
it by then.

> Another tack would be to provide a library that could execute LV2  
> plugins (with CUDA versions of the code in the bundle). It would  
> presumably need a daemon or such, but would be more generally useful  
> than a hacked jackd.
> 

That would have to be a collection of generally useful plugins, at least
32 channels wide to be worth it. A mega plugin so to say. This ain't no
lawn-mover you can turn around on a platter. Doing little things here
and there /only/ would be very difficult in general.

The thing to notice is that, although several kernels can be launched
the one after the other, at any given time there is only one running
which will have to be aware of which codepath to take depending on what
processor it is running on. Or else you'll end up with 640 identical
channel-strips rather than something like a synth-collection, 64 fully
equipped channel-strips + a few reverb units as well as an autocomposer
based on neural networks (Well OK, that last one might be a bit over the
top... :)

As long as you only have a single 8 core multiprocessor, the GPU can be
utilized fully by a single somewhat demanding project. It is when there
are dozens of cores to feed that the need for cooperation arises, and
this is as far as I can see where things are heading, also over in
Intel/Larrabee land. 


>  The whole point of  
> jack is that it lets you combine bits of software in different ways,  
> this would take that away to some extent.
> 

 To some extent, yes. But provided that the host isn't spending much
time on moving buffers around, you'll still have all of your (much more
flexible) CPU left to use for additional processing. Having this much
processing power available in a way also eliminates /the need/ for
carefully selecting what channels should be processed by what plugin.
Just do everything for all, possibly with all settings turned down to
zero or bypassed on some, even most channels.

Some effects will still be optional - like say time stretching, which
might not be a natural choice for the basic bread-and-butter setup, no
matter how much icing you put on it. Or maybe it is? Some people will
most likely disagree with me here ..

To put things in some economical perspective, I am talking about
upgrading this tiny desktop-machine to having bandwidth and processing
power twice that of a current top-of-the-line Intel Nehalem for less
than $200, maybe around Christmas. Inexpensive (!Apple) laptops with
GPU's like that are hitting the channel as we speak.


/jma

> - Steve

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen
On Tue, 2009-08-11 at 13:54 +0200, Jens M Andreasen wrote:
> This ain't no lawn-mover you can turn around on a platter. 

More like this actually:
http://www.toytractorshow.com/images/ih_com9.jpg


Another picture to "hammer in"  what is going on:
http://www.thewallanalysis.com/Pictures/MovieShots/FullSizeShots/Worms9.JPG

/jma


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Adrian Knoth
On Tue, Aug 11, 2009 at 01:54:39PM +0200, Jens M Andreasen wrote:

> > It's not ideal, but assembling all the jack buffers into one big one  
> > is not going to be that much load on the CPU.
> OK .. Adrian Knoth showed some interest and says he knows his way around
> in jackd as well as a colleague involved with CUDA. If the idea after
> evaluation does not appear to be worth the effort, then we'll just drop
> it by then.

Speaking from the user's point of view, LV2 would be the way to go. It's
just convenient to have all the settings saved in an ardour session,
nice GUIs and so on.

This could boil down to have a collecting thread somewhere and just
small control plugins for getting the actual data.


But I'm sure we'll find out. ;)

> That would have to be a collection of generally useful plugins, at least
> 32 channels wide to be worth it. A mega plugin so to say. This ain't no
> lawn-mover you can turn around on a platter. Doing little things here
> and there /only/ would be very difficult in general.

I could imagine a generic all-in-wonder channel strip. (to the channel,
it looks like a channel strip, but it's actually 32 or more channels in
parallel).

Which would mean: dynamics section (compressor, gate, gain), EQ, perhaps
some fancy stuff like your rubberband or pitch correction in general,
perhaps FFT analysis or at least FFT transformation, so subsequent
plugins can operate in the frequency domain.

Or whatever. ;)


> processor it is running on. Or else you'll end up with 640 identical
> channel-strips rather than something like a synth-collection, 64 fully

Doesn't sound too bad to me. ;) Though I could perfectly live with 128
identical channel strips plus your synth running, if switching kernels
is feasible.


> To put things in some economical perspective, I am talking about
> upgrading this tiny desktop-machine to having bandwidth and processing
> power twice that of a current top-of-the-line Intel Nehalem for less
> than $200, maybe around Christmas.

Christmas? That's ambitious, but hey, I guess we could "borrow" lots of
code from existing plugins and chain them together.

Anyway, it's a cool project.



-- 
mail: a...@thur.de  http://adi.thur.de  PGP/GPG: key via keyserver

Gesundheit? - Was nützt einem Gesundheit, wenn man sonst ein Idiot ist?
(Theodor W. Adorno)
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Steve Harris
On 11 Aug 2009, at 12:54, Jens M Andreasen wrote:

> Continuing this increasingly inaccurately christened thread ..
>
> On Tue, 2009-08-11 at 11:26 +0100, Steve Harris wrote:
>
>> It's not ideal, but assembling all the jack buffers into one big one
>> is not going to be that much load on the CPU.
>>
>
> OK .. Adrian Knoth showed some interest and says he knows his way  
> around
> in jackd as well as a colleague involved with CUDA. If the idea after
> evaluation does not appear to be worth the effort, then we'll just  
> drop
> it by then.
>
>> Another tack would be to provide a library that could execute LV2
>> plugins (with CUDA versions of the code in the bundle). It would
>> presumably need a daemon or such, but would be more generally useful
>> than a hacked jackd.
>>
>
> That would have to be a collection of generally useful plugins, at  
> least
> 32 channels wide to be worth it. A mega plugin so to say. This ain't  
> no
> lawn-mover you can turn around on a platter. Doing little things here
> and there /only/ would be very difficult in general.

Ah, I see. I'm not really that familiar with how it works.

Is it not possible to stitch multiple plugins into a single processing  
unit, horizontally? ie. can you compose the CUDA objects?

Going really hightech, with access to the source you could compile the  
mega-plugin on demand. That might be a bit adventurous, but it would  
be a clear win over the kind of things the closed-source people can do.

> The thing to notice is that, although several kernels can be launched
> the one after the other, at any given time there is only one running
> which will have to be aware of which codepath to take depending on  
> what
> processor it is running on. Or else you'll end up with 640 identical
> channel-strips rather than something like a synth-collection, 64 fully
> equipped channel-strips + a few reverb units as well as an  
> autocomposer
> based on neural networks (Well OK, that last one might be a bit over  
> the
> top... :)
>
> As long as you only have a single 8 core multiprocessor, the GPU can  
> be
> utilized fully by a single somewhat demanding project. It is when  
> there
> are dozens of cores to feed that the need for cooperation arises, and
> this is as far as I can see where things are heading, also over in
> Intel/Larrabee land.
>
>> The whole point of
>> jack is that it lets you combine bits of software in different ways,
>> this would take that away to some extent.
>>
>
> To some extent, yes. But provided that the host isn't spending much
> time on moving buffers around, you'll still have all of your (much  
> more
> flexible) CPU left to use for additional processing. Having this much
> processing power available in a way also eliminates /the need/ for
> carefully selecting what channels should be processed by what plugin.
> Just do everything for all, possibly with all settings turned down to
> zero or bypassed on some, even most channels.
>
> Some effects will still be optional - like say time stretching, which
> might not be a natural choice for the basic bread-and-butter setup, no
> matter how much icing you put on it. Or maybe it is? Some people will
> most likely disagree with me here ..

Oh, I see, you plan on injecting this processing into the in/outputs  
infront of the ALSA device? Kindof makes sense. At the very least you  
could use a very sophisticated dithering algorithm for little cost :)

> To put things in some economical perspective, I am talking about
> upgrading this tiny desktop-machine to having bandwidth and processing
> power twice that of a current top-of-the-line Intel Nehalem for less
> than $200, maybe around Christmas. Inexpensive (!Apple) laptops with
> GPU's like that are hitting the channel as we speak.

Sure, but it doesn't sound like it's as useful as a GP CPU.

- Steve
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen

On Tue, 2009-08-11 at 14:10 +0100, Steve Harris wrote:
> > Doing little things here
> > and there /only/ would be very difficult in general.
> 
> Ah, I see. I'm not really that familiar with how it works.
> 
> Is it not possible to stitch multiple plugins into a single processing  
> unit, horizontally? ie. can you compose the CUDA objects?
> 

No, youd have to do your "stiching" ..

> Going really hightech, with access to the source you could compile the  
> mega-plugin on demand. That might be a bit adventurous, but it would  
> be a clear win over the kind of things the closed-source people can do.
> 

.. at compile-time to get wildly diferent thing running simultaniosly on
each processor. At least the code must be present and then you could do
the final choice at kernel launch sending some parameter to the GPU to
ponder on:

switch(someArgument[blockID]) // we know where we are
{
   case STRIP: ...; // do the channel strip thingie
   case MOOG:  ...; // do classic synth
   case REVERB ... 
   case FAIRLIGHT: ... 
   case ...

Well, almost that simple at least. There is still the 192 thread rule
saying that you need at least 192 threads on each processor to fully
hide pipeline latencies. Each "warp" - which is a group of 32 threads -
can still take diferent codepaths though, as long as the programmer
takes care that all paths will evt arrive at any synchronisation barrier
issued by some other path. You'll get hung otherwise.

Furthermore, all processor configurations will be the same. If one
processor is configured for two blocks each having 128 threads, then
that is how the world looks like for all codepaths on all processors.

Still with me? In that case you are invited to do something wonderful
for one (or more) multiprocessors, each having 256 threads divided
between two blocks (128 threads per block) that will not use more than
the available 16K registers defined by Compute Model 1.2 so that both
blocks will run concurrently, hiding latencies as well as sync barriers.


Figuring out where to read and write shared in/out in an organized way
would in theory be the first minor obstacle, but nobody will notice
before the individual parts of the project is eventually stiched
together. Also, nobody knows yet what kind of processing will be
available either or why anybody would like to read any other data, so ..



Just to get going, say the kernel will be called every 128 samples at a
samplerate suitable for the processor at hand. Assume something like a
rate of 96K @1.2GHz

> Sure, but it doesn't sound like it's as useful as a GP CPU.
> 

Bah!

/jma

> - Steve

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Loki Davison
On 8/11/09, Adrian Knoth  wrote:
> On Tue, Aug 11, 2009 at 01:54:39PM +0200, Jens M Andreasen wrote:
>
>> > It's not ideal, but assembling all the jack buffers into one big one
>> > is not going to be that much load on the CPU.
>> OK .. Adrian Knoth showed some interest and says he knows his way around
>> in jackd as well as a colleague involved with CUDA. If the idea after
>> evaluation does not appear to be worth the effort, then we'll just drop
>> it by then.
>
> Speaking from the user's point of view, LV2 would be the way to go. It's
> just convenient to have all the settings saved in an ardour session,
> nice GUIs and so on.
>
> This could boil down to have a collecting thread somewhere and just
> small control plugins for getting the actual data.
>
>
> But I'm sure we'll find out. ;)
>
>> That would have to be a collection of generally useful plugins, at least
>> 32 channels wide to be worth it. A mega plugin so to say. This ain't no
>> lawn-mover you can turn around on a platter. Doing little things here
>> and there /only/ would be very difficult in general.
>
> I could imagine a generic all-in-wonder channel strip. (to the channel,
> it looks like a channel strip, but it's actually 32 or more channels in
> parallel).
>
> Which would mean: dynamics section (compressor, gate, gain), EQ, perhaps
> some fancy stuff like your rubberband or pitch correction in general,
> perhaps FFT analysis or at least FFT transformation, so subsequent
> plugins can operate in the frequency domain.
>
> Or whatever. ;)
>
>
>> processor it is running on. Or else you'll end up with 640 identical
>> channel-strips rather than something like a synth-collection, 64 fully
>
> Doesn't sound too bad to me. ;) Though I could perfectly live with 128
> identical channel strips plus your synth running, if switching kernels
> is feasible.
>
>
>> To put things in some economical perspective, I am talking about
>> upgrading this tiny desktop-machine to having bandwidth and processing
>> power twice that of a current top-of-the-line Intel Nehalem for less
>> than $200, maybe around Christmas.
>
> Christmas? That's ambitious, but hey, I guess we could "borrow" lots of
> code from existing plugins and chain them together.
>
> Anyway, it's a cool project.
>
>
>
> --
> mail: a...@thur.dehttp://adi.thur.de  PGP/GPG: key via keyserver
>
> Gesundheit? - Was nützt einem Gesundheit, wenn man sonst ein Idiot ist?
> (Theodor W. Adorno)
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
>

Could you run convolution algo's i.e jconv stuff on the card via cuda?

If so the channel emulator series here:
http://noisevault.com/nv/index.php?option=com_remository&Itemid=29&func=selectcat&cat=19
Would be fantastically awesome ;)

Has anyone used that channel emulator collection with jconv? What do
you think? What was performance like? I'd love to test the cuda stuff,
i've got a 9600GT 1gb and nvidia drivers... ;)

Loki
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen

On Wed, 2009-08-12 at 00:32 +1000, Loki Davison wrote:

> Could you run convolution algo's i.e jconv stuff on the card via cuda?
> 

That's a very good question! One user vvolkov from Berkeley has posted
some specially designed and optimized code for FFT sizes 256, 512, 1024,
2048, 4096 and 8192 here:

http://forums.nvidia.com/index.php?showtopic=69801

He is claiming a throughput of no less than 160 Gflop on a GTX 280
(which is quite a high end card.)

How much computational power is needed for jconv, just to get a rough
estimate of whether this would be a good idea?

Would it be correct to say that the expected number of flops for 8192
samples would be close to 8 × (8192/2) × log(8192) ==  approx 128000
flops, most of which can be executed as combined multiply-adds?
  


Another user posted sometime ago windows binaries for a convolution
reverb using the CUDA FFT library routines. It is a) unlike jconv using
large same size segments b) perhaps not the most optimal solution for
CUDA

But as proof of concept, yes people have said that it works.


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Ralf Mardorf
David Robillard wrote:
>> using your desktop theme which might be bad, too.
>> 
>
> Ick!  Using the desktop theme is not bad!  The user chose it for a
> reason!
>
> Less atrocious and weird looking "skinned" UI's designed by seemingly
> half-blind artistically retarded programmers, please :)
>
> -dr (half-blind artistically retarded programmer who at least knows it)

:D

On the other hand neither GNOME nor KDE are usable with dark themes, 
without causing some trouble, that's why I now use bright seems again. 
Non-graphic-design-retarded coders maybe want to design a relative 
neutral GUI, that still fit to most desktop themes.

Ralf
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Ralf Mardorf
Jens M Andreasen wrote:
> Really, an Atari ST is more responsive.

For me TOS is still the best OS for MIDI usage with external MIDI 
equipment, but this isn't true, the Atari ST's response is very good 
when using a Blitter, but very bad when not using a Blitter.

For Linux I noticed, that when running into trouble because of 
resources, ION2 is a very good WM, but sometimes ION2 has got troubles 
because of some windows behaviour. I can't remember the applicatuions, 
but if I would be a coder for Linux, I would take care about WMs that 
are frame based, without any DE.

Ralf
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen
On Wed, 2009-08-12 at 00:32 +1000, Loki Davison wrote:

> Could you run convolution algo's i.e jconv stuff on the card via cuda?

Forget what I wrote before. Since everything else has a "take no
prisoners, just instigate a bloody massacre" aproach, then why not run
32 instances of jconv in parallel? That would be four warps
independently working their way through the variously sized sample
blocks, each thread execting serial code that looks very much the same
as jconv itself, including the threading.

How much jconv would something like a 300Mhz Pentium Pro buy me? (Just
to get a hunch if this would be a possibility at all)

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Vincent Torri


On Tue, 11 Aug 2009, Ralf Mardorf wrote:

> For me TOS is still the best OS for MIDI usage with external MIDI
> equipment, but this isn't true, the Atari ST's response is very good
> when using a Blitter, but very bad when not using a Blitter.
>
> For Linux I noticed, that when running into trouble because of
> resources, ION2 is a very good WM, but sometimes ION2 has got troubles
> because of some windows behaviour. I can't remember the applicatuions,
> but if I would be a coder for Linux, I would take care about WMs that
> are frame based, without any DE.

Did you try Enlightenment 0.17 ? In addition, it is based on a powerful 
set of libraries that can be used to create beautiful applications. Here 
is a program that uses these libraries (media player):

http://www.calaos.fr/pub/video/calaos_media_music.ogg

regards

Vincent Torri
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Ralf Mardorf
Patrick Shirkey wrote:
> Isn't this Sergey's Law?
>
> i.e.  The faster the hardware becomes, the slower the software 
> performs...
>
> I think he has tried to start a movement against this unwritten law of 
> computing. I can't recall the name right now though.

Software needed less resources in the 80ies, when we programmed in 
Assembler, but in the 80ies it was easy to keep track of things while 
programming for Z80, 6502, 6510 and 68000. I guess you Linux guys need 
to use C, because the CPUs and kernels have become much more complex.

Ralf
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread David Robillard
On Tue, 2009-08-11 at 11:21 +0200, Pedro Lopez-Cabanillas wrote:
> On Monday, August 10, 2009, Luis Garrido wrote:
> > For what is worth, Qt's documentation is simply superb 
> 
> Agreed. 
> 
> Another excellent C++ multiplatform toolkit is Juce. It is worth to try it if 
> you are writting audio/MIDI software.

s/toolkit/kitchen sink/

;)

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread David Robillard
On Tue, 2009-08-11 at 09:04 +0200, Jens M Andreasen wrote:
> On Tue, 2009-08-11 at 07:45 +0100, Steve Harris wrote:
> > O
> > If that's what the CUDA interface to the outside world looks like then  
> > wouldn't it be better to expose it as a JACK App, which loads CUDA- 
> > specific plugins onto the graphics card?
> > 
> > I don't see why you'd want to embed it in the jack daemon.
> > 
> 
> It is the scatter/gathering of data that is killing. I need to have one
> and only one transfer on the PCIe line for each period to be efficient,
> preferably in the 10 - 20KB range or more.  The jack model of one
> channel, one buffer does not fit very well here.

Unless I'm missing something an app could do this just as jack could
internally.  You receive and send the buffers from/to jack separately,
sure, but that's true regardless.  Doesn't mean you have to do
individual transfers to the card, you get/send all the buffers at the
same time with jack.

The copy overhead sucks, but can't get away from that if you want it to
work with jack at all.

-dr


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Ralf Mardorf
Vincent Torri wrote:
>
>
> On Tue, 11 Aug 2009, Ralf Mardorf wrote:
>
>> For me TOS is still the best OS for MIDI usage with external MIDI
>> equipment, but this isn't true, the Atari ST's response is very good
>> when using a Blitter, but very bad when not using a Blitter.
>>
>> For Linux I noticed, that when running into trouble because of
>> resources, ION2 is a very good WM, but sometimes ION2 has got troubles
>> because of some windows behaviour. I can't remember the applicatuions,
>> but if I would be a coder for Linux, I would take care about WMs that
>> are frame based, without any DE.
>
> Did you try Enlightenment 0.17 ? In addition, it is based on a 
> powerful set of libraries that can be used to create beautiful 
> applications. Here is a program that uses these libraries (media player):
>
> http://www.calaos.fr/pub/video/calaos_media_music.ogg
>
> regards
>
> Vincent Torri

E17 looks well, but when I used it a long time ago on another machine it 
was disgusting experimental ;).

I can't play the OGG? Are you sure that it isn't broken?

Cheers,
Ralf
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Fons Adriaensen
On Tue, Aug 11, 2009 at 06:50:50PM +0200, Jens M Andreasen wrote:

> That would be four warps
> independently working their way through the variously sized sample
> blocks, each thread execting serial code that looks very much the same
> as jconv itself, including the threading.

Note that the algorithm implemented by libzita-convolver (used by
jconv) when used in real-time mode relies on regular scheduling
(i.e. being called from a Jack process callback) and carefully
set thread priorities.

How to structure a convolution engine to run on a graphics 
processor would very much depend on where you want the I/O.
If it remains a Jack app then the easiest way would be to
offload the work done for the larger partition size(s) to
the graphics processor. Timing is absolutely not critical
in that case, but if more than one partition size is moved
in that way, or if you have more than one instance running
you'd still need to respect relative priorities.

Now jconv is a general purpose tool designed to efficiently
handle any convolution matrix, including sparse ones. If you
use it for reverb the matrix size is small (usually 1x2 or
2x2 for stereo). An application that runs e.g. 8 of those
can be structured in a completely different way that could
avoid the use of multiple priorities.
 
> How much jconv would something like a 300Mhz Pentium Pro buy me? (Just
> to get a hunch if this would be a possibility at all)

Almost impossible to tell without trying. It also depends
in a very complex way of the configuration - the ratios
will not be the same on all machines.

Jconv's predecessor, jace, worked by trying to distribute
the work done on large FFTs and MACs as evenly as possible
over callbacks with a shorter period. A condition for doing
this is of course that you can estimate the work to be done
in the first place. It was the impossibility of doing this
for the more general use cases that jconv is supposed to
handle that forced me to adopt the multi-threaded/multi-
priority solution. 

Ciao,

-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Vincent Torri


On Tue, 11 Aug 2009, Ralf Mardorf wrote:

> Vincent Torri wrote:
>> 
>> 
>> On Tue, 11 Aug 2009, Ralf Mardorf wrote:
>> 
>>> For me TOS is still the best OS for MIDI usage with external MIDI
>>> equipment, but this isn't true, the Atari ST's response is very good
>>> when using a Blitter, but very bad when not using a Blitter.
>>> 
>>> For Linux I noticed, that when running into trouble because of
>>> resources, ION2 is a very good WM, but sometimes ION2 has got troubles
>>> because of some windows behaviour. I can't remember the applicatuions,
>>> but if I would be a coder for Linux, I would take care about WMs that
>>> are frame based, without any DE.
>> 
>> Did you try Enlightenment 0.17 ? In addition, it is based on a powerful set 
>> of libraries that can be used to create beautiful applications. Here is a 
>> program that uses these libraries (media player):
>> 
>> http://www.calaos.fr/pub/video/calaos_media_music.ogg
>> 
>> regards
>> 
>> Vincent Torri
>
> E17 looks well, but when I used it a long time ago on another machine it was 
> disgusting experimental ;).

well, we work hard for a release, so a lot of things has been fixed / 
stabilized. Maybe you can try it again.

> I can't play the OGG? Are you sure that it isn't broken?

I've just tried it before giving the link. Iirc, it uses theora as 
video codec, so be sure to have it. You can try that one (the wall 
paper selector of e17, using these libraries) if you still experience 
problems with the ogg file:

http://www.rasterman.com/files/wp2.avi

Or try vlc or mplayer as video player.

Vincent Torri
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Ralf Mardorf
Vincent Torri wrote:
>>
>> E17 looks well, but when I used it a long time ago on another machine 
>> it was disgusting experimental ;).
>
> well, we work hard for a release, so a lot of things has been fixed / 
> stabilized. Maybe you can try it again.

I'll try it again.

>> I can't play the OGG? Are you sure that it isn't broken?
> [snip]

I'm short of time now. It shouldn't be a problem because of the codes :S.

Ralf

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Jens M Andreasen
On Tue, 2009-08-11 at 19:54 +0200, Fons Adriaensen wrote:
> On Tue, Aug 11, 2009 at 06:50:50PM +0200, Jens M Andreasen wrote:
> 
> > That would be four warps
> > independently working their way through the variously sized sample
> > blocks, each thread execting serial code that looks very much the same
> > as jconv itself, including the threading.
> 
> Note that the algorithm implemented by libzita-convolver (used by
> jconv) when used in real-time mode relies on regular scheduling
> (i.e. being called from a Jack process callback) and carefully
> set thread priorities.
> 

The priorities are always even .. and then again not nescessarily.

Say warp A (or "process" A) must do four smaller workloads while warp B
is doing one bigger workload? The way to go would then be for warp B to
call __syncthreads()  when 25% of its work is done, thus assuring that
warp A will be given all of GPU untill it has catched up at the end of
its first workload and also calls __synthreads(), which gives warp B the
green light to continue. This under the assumption that warp A hasn't
already done it's part and is waiting for B to catch up. 

Repeat the procedure at 50% and 75%.


> How to structure a convolution engine to run on a graphics 
> processor would very much depend on where you want the I/O.

Locally on the card for use by other parts of the complex, unless by
routing directive read or written to those arrays that are transferred
back and forth between the GPU and host at each kernel launch.

> > How much jconv would something like a 300Mhz Pentium Pro buy me? (Just
> > to get a hunch if this would be a possibility at all)
> 
> Almost impossible to tell without trying. It also depends
> in a very complex way of the configuration - the ratios
> will not be the same on all machines.
> 

I found a measure of ~1 sec for a 128K FFT on a PPro @200
Would that be helpful for a guesstimate?


The thing is also that, although the first thing one might come to think
of is a nice convolution reverb with a decay of two seconds, having
instead 32 shorter impulses - all different - opens up another universe.
You could have an increasing delay in front of each of them, giving an
illusion that they are all parts of the same (huge) impulse redponse, or
you could use keyboard triggers and routing to play them like an
instrument.

Still, 500ms would be really very useful and 32 convolutions is mmm ..
perhaps a little overkill. There might be ways for two or four threads
to share one load. IIRC library routines for SSE enabled FFT exists
which could be more or less copied verbatim across four adjacent
threads.



___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-11 Thread Fons Adriaensen
On Tue, Aug 11, 2009 at 08:56:56PM +0200, Jens M Andreasen wrote:

> Say warp A (or "process" A) must do four smaller workloads while warp B
> is doing one bigger workload? The way to go would then be for warp B to
> call __syncthreads()  when 25% of its work is done, thus assuring that
> warp A will be given all of GPU untill it has catched up at the end of
> its first workload and also calls __synthreads(), which gives warp B the
> green light to continue. This under the assumption that warp A hasn't
> already done it's part and is waiting for B to catch up. 
> 
> Repeat the procedure at 50% and 75%.

It's not that simple...

An example: the santalucia reverb with period size = 256, 
mininum partition size = 256.

There will be 3 partitions of 256 frames, 6 of 512, 6 of 2048
and 24 of 8192 frames.

The first will be done in jack's callback and the others at
lower priorities, resp. -1,-2,-3 relative to jack's thread (*).
Each of these threads is triggered into action with a period
equal to its partition size, and the work is expected to be
ready at the next trigger.

That means that the thread that does the size 512 ones must
have priority over all the others. Except in some simple
cases it's almost impossible to divide the work done by e.g.
the slowest thread into equal parts. If that were possible we
wouldn't need multiple threads at all - the evenly divided
workload could be done in jack's callback without problem. 
As things are, pre-emption seems to be the only solution.

> I found a measure of ~1 sec for a 128K FFT on a PPro @200
> Would that be helpful for a guesstimate?

No. The largest FFT used by jconv is 16k, it doesn't pay to
increase that size. Depending on the configuration the FFTs
could dominate the workload (many short 1-to-1 convolutions)
or the MAC operartions would take most of the time (long IRs
and/or a dense matrix). And then there's the cache size that
will have all sorts of complicated effects.


(*) From the next release that would be -1,-3,-5, i.e. one
less for each doubling of the size. This allows multiple
jconvs to be scheduled fairly even it they don't use the
same set of sizes. Other apps doing similar things should
use the same system if they are supposed to work together
well.

-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-12 Thread Jens M Andreasen

On Tue, 2009-08-11 at 22:15 +0200, Fons Adriaensen wrote:
> ..
> 
> An example: the santalucia reverb with period size = 256, 
> mininum partition size = 256.
> 
> There will be 3 partitions of 256 frames, 6 of 512, 6 of 2048
> and 24 of 8192 frames.

Say periodsize = 128 instead. Then we would have thread A: 6 partitions
of 128, B: 6 of 512, C: 6 of 2K and finally D: 24 of 8K


> The first will be done in jack's callback and the others at
> lower priorities, resp. -1,-2,-3 relative to jack's thread (*).
> Each of these threads is triggered into action with a period
> equal to its partition size, and the work is expected to be
> ready at the next trigger.
> 

Say at time 16K. 

Thread D would then have just gotten the last 128 samples it needs to
start doing the FFT on the data between 8K and 16K

This needs not be done untill time 24K when it OTOH /must/ have been
completed. The kernel* will be called 64 times between now and then, so
if D does 1/64th of its job now it can save its state and go to sleep.

Are you saying that it in the specific case is impossible to know how
much of an 8K FFT equals 1/64th?


[*] Here "kernel" means the CUDA-program running and not the filter
kernel nor the Linux kernel. It's confusing ...


> That means that the thread that does the size 512 ones must
> have priority over all the others. Except in some simple
> cases it's almost impossible to divide the work done by e.g.
> the slowest thread into equal parts. If that were possible we
> wouldn't need multiple threads at all - the evenly divided
> workload could be done in jack's callback without problem. 
> As things are, pre-emption seems to be the only solution.


___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-12 Thread Fons Adriaensen
On Wed, Aug 12, 2009 at 09:59:50AM +0200, Jens M Andreasen wrote:

> Say periodsize = 128 instead. Then we would have thread A: 6 partitions
> of 128, B: 6 of 512, C: 6 of 2K and finally D: 24 of 8K

Actually 7,6,6,24.

> Say at time 16K. 
> 
> Thread D would then have just gotten the last 128 samples it needs to
> start doing the FFT on the data between 8K and 16K
> 
> This needs not be done untill time 24K when it OTOH /must/ have been
> completed. The kernel* will be called 64 times between now and then, so
> if D does 1/64th of its job now it can save its state and go to sleep.
> 
> Are you saying that it in the specific case is impossible to know how
> much of an 8K FFT equals 1/64th?

It would be 16K FFT, and there would be a lot more than
just that. 

This is an outline of the process() function for one
partition size:

proces()
{
for (loop over inputs)
{
if (input not active) continue
FFT
}

for (loop over outputs)
{
if (output not active) continue
for (loop over inputs)
{
if ((input,output) not active) continue
for (loop over partitions)
{
if (partition not empty)
{ 
MAC
}
}
}
IFFT
}   
}   

The loops over inputs and outputs and the continue condition
are actually inplemented by linked lists, but the code shown
is equivalent.

You could loop over the data structures, and make a list of 
of all steps (FFT, MAC, IFFT) and their parameters. Then if
you know the relative cost of the three basic operations you
try to divide this in 64 equal parts.

There are some problems with this:

- The relative cost of FFT and MAC is not know with any
  precision.
- There may be less than 64 steps.
- A single 16k FFT may already be too much, and most FFT
  libraries don't allow you to divide it into smaller
  pieces.

Again, if you *can* do the division, there is no need
to use multiple threads. you can just merge the lists
of steps for all partition sizes and execute this as
a static schedule using just function calls. This is
how jace worked.

Ciao,

-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-08-12 Thread Jens M Andreasen

On Wed, 2009-08-12 at 12:10 +0200, Fons Adriaensen wrote:

> It would be 16K FFT, and there would be a lot more than
> just that. 
> 
-

But starting out with the 16K FFT will do for now

> You could loop over the data structures, and make a list of 
> of all steps (FFT, MAC, IFFT) and their parameters. Then if
> you know the relative cost of the three basic operations you
> try to divide this in 64 equal parts.
> 

I don't really have to have 64 parts. It's just that I can't have more
AND that each part may not exceed the available computational power for
a given time quantum which could be defined as:

One processor has 8 units @1.2 GHz == 9.6G instructions total
4 warps of 32 threads (=128) share the instructions evenly
samplerate is 96K, periodsize 128 == 750 periods

 9,6G / (750 * 128) == 10 instructions

So each part must not have more than 100K insructions in any of the 64
parts, or else we'll get X-runs 

I have here an FFT implementation from 1987 by H V Sorensen.
In the inermost loop I can count almost 50 instructions
There is a 'dowhile' around that and a 'for' loop around the dowhile.

I count each time we hit the work in the innermost loop or do the sin()
and cos() in the outer loop, and then break out of the outer loop
everytime 1000 'work' (5 instuctions) has been completed:

16384=2^13
 Did 1030 'work' in 2 iteration(s)
 Did 1036 'work' in 4 iteration(s)
 Did 1046 'work' in 7 iteration(s)
 Did 1056 'work' in 12 iteration(s)
 Did 1008 'work' in 21 iteration(s)

 Did 1010 'work' in 32 iteration(s)
 Did 1008 'work' in 42 iteration(s)
 Did 1008 'work' in 72 iteration(s)
 Did 1002 'work' in 84 iteration(s)
 Did 1008 'work' in 126 iteration(s)

 Did 1004 'work' in 134 iteration(s)
 Did 1002 'work' in 167 iteration(s)
 Did 1002 'work' in 167 iteration(s)
 Did 1002 'work' in 179 iteration(s)
 Did 1004 'work' in 251 iteration(s)

 Did 1004 'work' in 251 iteration(s)
 Did 1004 'work' in 251 iteration(s)
 Final 936 'work' in 234 iteration(s)

So doing the 16K FFT for a warp of 32 instances can be done in the first
18 parts (out of 64) at an estimate of 50% GPU

Similarily a 4K FFT can be split evenly over 4 parts (of 16)

4096=2^11
 Did 1024 'work' in 22 iteration(s)
 Did 1002 'work' in 94 iteration(s)
 Did 1002 'work' in 183 iteration(s)
 Final 812 'work' in 203 iteration(s)

.. which appears to hit sin() and cos() relatively much more often  


You had a long laundry list, now what next?

> There are some problems with this:
> 
> - The relative cost of FFT and MAC is not know with any
>   precision.

I'll have to use some source and count them.

> - There may be less than 64 steps.
> - A single 16k FFT may already be too much, and most FFT
>   libraries don't allow you to divide it into smaller
>   pieces.

But division into smaller pieces is really an imperative here .. Guess
I'll have to do some more code editing then.

> 
> Again, if you *can* do the division, there is no need
> to use multiple threads. you can just merge the lists
> of steps for all partition sizes and execute this as
> a static schedule using just function calls. This is
> how jace worked.
> 
> Ciao,
> 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] FLTK vs GTKmm

2009-11-08 Thread Adrian Knoth
On Fri, Nov 06, 2009 at 09:09:39PM +0100, Jens M Andreasen wrote:

> Adrian

Hi!

> I e-mailed you several times ... Am I blacklisted somehow?

No, I have two mails from you in my Inbox about CUDA, but things are
rather busy over here, and my student is also very short on time.

So I guess he hasn't replied, yet?

In the meantime, I had a first glance at the new Fermi chips. They
support independent kernels, so this would leverage the whole design
principle of au...@cuda.

The cards are expected for Q1/2010, rumours are that it will take a
little longer. However, the cards will have ECC almost everywhere (RAM,
Caches, you name it), so the Fermi cards will be better suited for
computation. Fermi is also aiming for onchip C++ exceptions, highler
lever language support (Python), 64bits pointers and so on. Much closer
to CPU programming.

I hope to get one of these in April, that's when I hopefully will find
some time to jump the band waggon. Until then, I have to rely on Max,
but he's also busy as hell.


Just a little side note: there are already compilers which generate CUDA
code from ordinary for loops, e.g. the PGI compiler.


Cheerio

-- 
mail: a...@thur.de  http://adi.thur.de  PGP/GPG: key via keyserver
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev