All times are UTC+02:00




Post new topic  Reply to topic  [ 299 posts ]  Go to page Previous 111 12 13 14 1530 Next
Author Message
PostPosted: Thu Apr 18, 2013 9:42 pm 

Joined: Mon Feb 04, 2013 11:49 pm
Posts: 187
Quote:
In case anyone is wondering what's happening... Still busy trying to make things run in multiple threads - it's not that easy.
Thanks for working that angle Hans...hopefully that will let me squeak by.


Top
   
PostPosted: Fri Apr 19, 2013 12:58 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11425
Quote:
I'm HAPPY just having the composite clipper. SSB is no deal breaker for me,I've looked at both sides of this issue and still not sold on its value.May actually do more harm than good in some situations.IMHO
That's what I was thinking as well. Although I'm pretty much convinced that for frequencies above 12.666 kHz it probably helps. Also, the 'Multipath clipper', which hasn't been tested in the real world yet, handles the signal better if frequencies above 12.666 kHz are SSB-encoded.


Top
   
PostPosted: Fri Apr 19, 2013 1:02 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11425
Quote:
Quote:
In case anyone is wondering what's happening... Still busy trying to make things run in multiple threads - it's not that easy.
Thanks for working that angle Hans...hopefully that will let me squeak by.
Problem is that I have to cut a piece of audio into 2 parts, which then can be upsampled, modulated, clipped, demodulated and downsampled separately. So I have one block of audio which I split into 2 pieces. Thing is, to avoid crackling sounds, there needs to be some overlap between the two halves, but you don't want to synchronize the two threads continuously, so the only solution for that is to process a bit more than half of the data on each core. I missed the synchronization issue - so I thought I had it working partially, but it sounded bad. I hope I'll get somewhere tomorrow.

Now I'm writing this, it might be a good idea to also support 4 threads instead of 2.


Top
   
PostPosted: Fri Apr 19, 2013 1:43 am 

Joined: Sun May 02, 2010 11:26 pm
Posts: 547
+1 for 4 threads, i think it will help on my system.


Top
   
PostPosted: Fri Apr 19, 2013 2:33 am 
User avatar

Joined: Tue Mar 17, 2009 2:56 pm
Posts: 4231
Quote:
+1 for 4 threads, i think it will help on my system.
Yea, you only think on your system :D Kidding..

Anyway.. both 2 and 4 should be supported as much as possible.. Determined by software.. or maybe just simply like option - Like VAC, worker threads > auto, 1, 2, 4 ..
Image


Top
   
PostPosted: Fri Apr 19, 2013 3:06 am 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11425
If you increase the number of threads, overhead also increases (see some versions ago where the CPU load was very high when I switched on multi-threading in the Intel library). So I'm not too sure that 4 will be better than 2.


Top
   
PostPosted: Fri Apr 19, 2013 8:51 am 

Joined: Sun Dec 12, 2010 2:26 pm
Posts: 885
Quote:
If you increase the number of threads, overhead also increases (see some versions ago where the CPU load was very high when I switched on multi-threading in the Intel library). So I'm not too sure that 4 will be better than 2.
From what I've been reading, multithreading can either help or harm cache utilization. I think that given the cache dependency of your code, the configuration needs to be optional, much like multi-core. What Bojcha posted about the user having control of the number of threads is a good idea.

As for the Intel libraries, I remember seeing documentation at Intel or some other web site that when I was trying to investigate SSE levels, but didn't pay attention to it as it didn't specifically pertain to SSE. Something about static vs. dynamic linking, I think.

(Note: If feeling tl;dr at this point, skip to tl;dr section).

Also, in addition to my routine reminder of the benefit of exception handling for finding sources of crashes more quickly, I'd also like to provide a gentle reminder about investigating the performance degradation issue when upgrading to Composer XE vs. Intel C++ Compiler 10.1. As I said some time ago, it's best not to let it go for 5-10 more versions. The more you code, the more you may have to change. I know that coding more features means the potential for more market share and more money, but I would caution you on placing too high of an importance upon new features / more revenue. Yes, it is important, but it should not blind all other things.

At my prior job at a publicly traded company, this was known as focusing on "capital" projects. New development got classified as a capital expenditure, which meant it could be classified differently from an accounting perspective, and making the balance sheet items that drove stock prices appear "better", and thus keeping stock prices elevated. The unfortunate side-effect is that bug-fixing and other maintenance tasks were "expense" projects, and got put on hold, over, and over, and over again, despite the end-users complaining very loudly about the extra expense that they were incurring on a daily basis because of having to accomodate the software's fragile nature when dealing with a customer face-to-face. Eventually someone understood that the aggregate amount of expense across thousands of locations was far greater than the expense needed to address the bugs and other maintenance items, so expense projects started getting attention again. That did, however, take a few years to happen, and all that while the company was bleeding expense at the thousands of locations because they were too focused on keeping the IT budget looking lean, mean, and capital-oriented.

tl;dr:

- Configurable amount of multi-threading = good
- Threading in Intel libraries might be related to linking.
- Putting off administrative tasks because they don't generate revenue = very likely bad


Top
   
PostPosted: Fri Apr 19, 2013 2:56 pm 

Joined: Fri Nov 23, 2012 4:34 pm
Posts: 217
Quote:
Quote:
In case anyone is wondering what's happening... Still busy trying to make things run in multiple threads - it's not that easy.
Thanks for working that angle Hans...hopefully that will let me squeak by.
I am also hoping that this helps just enough! :)

The SSB issue has been rather controversial it seems, so I would like to hear peoples opinions and real world results.

Also, does anybody have the right sort of test environment to give feedback on the 'multipath clipper'?


Top
   
PostPosted: Fri Apr 19, 2013 5:32 pm 
Site Admin
User avatar

Joined: Mon Mar 17, 2008 1:40 am
Posts: 11425
For some reason I'm not getting much more out of it than before I added multi-threading... :(
http://www.stereotool.com/download/dsp_ ... 20-005.exe

Edit: O, in my VMware environment there's not much difference, but outside of it I can now - barely - run the composite clipper with Strictness set to 20! If I also enable SSB I need to lower it to 18.

There may be more things that I can parallelize, but this was definitely the biggest step.


Warning: Audio quality might be slightly less in multi-threading mode, especially with SSB. I haven't really tested it yet - it should be close but there may be an issue with soft clicks on the stereo channel. If anyone hears these, please let me know.


Top
   
PostPosted: Fri Apr 19, 2013 10:42 pm 
User avatar

Joined: Thu Oct 25, 2012 3:22 pm
Posts: 237
Location: Poland
I'm testing now ssb standard on density terrain with many buildings and maybe is little better, but not measurment only ears ;)

_________________
Urban Junglist


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 299 posts ]  Go to page Previous 111 12 13 14 1530 Next

All times are UTC+02:00


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited