Multicore and GPU's ?

Discussions about everything to do with SDRuno
Post Reply
User avatar
df1ech
Posts: 19
Joined: Wed Sep 21, 2016 5:40 pm
Location: Maaseik
Contact:

Multicore and GPU's ?

Post by df1ech » Sun Oct 09, 2016 7:52 pm

Multicore multithreading cpu's like the Amd64X2, Intel Pentium D, Core2, I3/5/7 series have been around as consumer hardware since 2005.

How is it possible with the above fact that software 11.5 years later still isn't taking advantage of multiple cores ?

When Using multiple vfo's and waterfalls with 10Mhz bandwidth 1 core is completely overloaded -> 100% and a queue for instructions to be executed on a 4 core 8 threads 4.5 Ghz CPU !

Another thing is GPU accelleration for at least the Waterfall and spectrum display. GPU's which support either cuda or open cl or AMD's equivalent are installed in all systems for several years now.
so please why not move the waterfall display over to the GPU ( Cuda, OPEN CL etc. ) That is designed to handle such things and get the pressure off of the cpu.(Proof of concept see: SDRconsole v3)
Last edited by df1ech on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

Misterj
Posts: 63
Joined: Wed Apr 06, 2016 6:40 pm

Re: Multicore and GPU's ?

Post by Misterj » Mon Oct 10, 2016 3:50 pm

I tried a similar test on my system: AMD FX-8350, 8 core running 4.1 GHz, 16 GB memory, W10 Pro x64.
My results are different than df1ech. I cannot tell how SDRuno is working internally but I do see the thread count increasing as I start more and more receivers. I saw as many as 18 threads running. At one time I had three windows (RX, SP1, SP2) open for each of four receivers. My CPU usage remained below 20% and the Resource Monitor using "Analyze Wait Chain" showed nothing waiting.
Now the bad news which definitely needs developers attention! After a few seconds running as above, the system said "SDRuno is not responding" and I had to kill it. If I opened and started more and more receivers, after 12 or 13, SDRuno crashed with an "Internal Error" message. If there is a SW limit to number of receivers (i.e. array size), then it should be enforced and SDRuno should not crash. Thanks and enjoy, John.

Reason: No reason

User avatar
df1ech
Posts: 19
Joined: Wed Sep 21, 2016 5:40 pm
Location: Maaseik
Contact:

Re: Multicore and GPU's ?

Post by df1ech » Tue Oct 11, 2016 7:00 am

Misterj wrote:I tried a similar test on my system: AMD FX-8350, 8 core running 4.1 GHz, 16 GB memory, W10 Pro x64.
My results are different than df1ech. I cannot tell how SDRuno is working internally but I do see the thread count increasing as I start more and more receivers. I saw as many as 18 threads running. At one time I had three windows (RX, SP1, SP2) open for each of four receivers. My CPU usage remained below 20% and the Resource Monitor using "Analyze Wait Chain" showed nothing waiting.
Now the bad news which definitely needs developers attention! After a few seconds running as above, the system said "SDRuno is not responding" and I had to kill it. If I opened and started more and more receivers, after 12 or 13, SDRuno crashed with an "Internal Error" message. If there is a SW limit to number of receivers (i.e. array size), then it should be enforced and SDRuno should not crash. Thanks and enjoy, John.

Multiple threads Yes but check out on how many cores they get divided.
I use a 4790k i7 and recently tested on a dual CPU 22 core 44 thread workstation and on both I had similar results.
Last edited by df1ech on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

Misterj
Posts: 63
Joined: Wed Apr 06, 2016 6:40 pm

Re: Multicore and GPU's ?

Post by Misterj » Tue Oct 11, 2016 8:24 pm

Thanks, df1ech. You are correct, I did not watch my core usage. I assumed with SDRuno having 15-18 threads running that W10 would distribute the load fairly evenly amongst the 8 cores. I guess one thread could be doing all the heaving lifting thus loading one core while the other 7 did little. I will rerun my test after the developers release a version that will not crash my system - see here.
I have always used AMD processors and am not familiar with how the multi-threading works in Intel CPUs. Please tell us what OS you are testing under.
Thanks and enjoy, John.

Reason: No reason

User avatar
df1ech
Posts: 19
Joined: Wed Sep 21, 2016 5:40 pm
Location: Maaseik
Contact:

Re: Multicore and GPU's ?

Post by df1ech » Fri Oct 14, 2016 9:13 am

The OS isn't of influence in this matter but my system is a I7 4790K with 16gb and windows 10 latest official stable released build.

Using multiple threads is a different thing then actually deviding threads over multiple CPU's you need to somehow get all data that you spread over the CPU's back into your main thread because there is no communication link between threads sent to different CPU's I know that seems to be the problem often for developers.

But I think you could run the USB sampling process on a cpu the pre processing on another and the post processing again another one all away from the main that could allready be a big performance improvement without making it over complex. Also move the waterfall generation to the GPU and you can create a b east of an sdr system
Last edited by df1ech on Thu Jan 01, 1970 12:00 am, edited 0 times in total.
Reason: No reason

Post Reply