We seek to understand and document all radio transmissions, legal and otherwise, as part of the radio listening hobby. We do not encourage any radio operations contrary to regulations. Always consult with the appropriate authorities if you have questions concerning what is permissible in your locale.

Author Topic: ADGPS performance on various systems  (Read 3708 times)

Offline skeezix

  • Global Moderator
  • Marconi Class DXer
  • *****
  • Posts: 5544
  • Minneapolis, MN
  • What does 'RNO stand for?
    • View Profile
ADGPS performance on various systems
« on: March 19, 2017, 2117 UTC »
I've been running ADGPS on my 2011 Mac mini and have been able to try it on other systems. Here's a non-scientific report of how the perform:

These are times based on an approximately 1 hour recording from Studio 1 from an AFE822x SDR at 75 ksps. My time estimates are watching the stats and estimating its speed. Its reasonably close, but plenty of room for additional accuracy. If there is interest, I can do a more thorough analysis of the rates of decodes.

mid-2011 Mac mini (Macmini5,2)
1.0 kHz channels: 20 minutes - 3x realtime
0.5 kHz channels: 40 minutes - 1.5x realtime

Old Windows 7 PC  (gaming system built Oct 2009).
Intel E6850 CPU with 8 GB RAM
1.0 kHz channels: 5x realtime
0.5 kHz channles: Untested (as I was wasting a lot of time trying to get the stupid thing updating since August & then getting s/w running. Reminded me what a PITA .... <mumble> <mumble>  >:( )

New Windows 10 PC (my current gaming PC built last fall)
Intel i5-6600k @ 3.50 GHz (not currently overclocked) & 16 GB RAM.
1.0 kHz channels: 12x realtime
0.5 kHz channels: 7.5x realtime  <--- this surprised me. I was expecting 6x, not 7.5x. (7.5 being defined as watching the counter updating every second and watching the differences in jumps, sometimes 8 seconds, sometimes 7 seconds. It is definitely faster than 6x realtime).


Would prefer to use my mini, as remote access is much easier (and safer), but the Win10 PC is really doing relatively well. I fed it a bunch of nightly recordings from Mar 13 - Mar 19 and its grinding through all of them on 1.0 & 0.5 kHz channels at pretty good speed. The four cores are nearly maxed. I did try some gaming, however, its fairly unusable while ADGPS is doing its thing. lol.

I have had the old gaming PC off since last Aug when I built the new one. This weekend, I brought that back online and its now doing the daily recordings from the AFE822x (the win 10 PC used to do that, but what a waste). I'll use the Mac mini to do the daily decodes of the whole day, and will use the win 10 PC to churn through the night-time recordings looking for 0.5 kHz stations (which is the genesis of my FR for selecting 0.5, 1.0, and 0.5+1.0 kHz channels).

Also had been using the Perseus for recording. It has a 125 ksps minimum sample rate. It creates files a little larger than 2x the files that Studio 1 is creating with the AFE822x at 75 ksps. The speed on the Mac mini is the same for decodes. But copying the 2.68 GB Perseus files obviously takes longer than the 1.04 GB Studio 1 AFE822x files and uses far less disk space.



« Last Edit: March 19, 2017, 2129 UTC by skeezix »
Minneapolis, MN

Offline ChrisSmolinski

  • Administrator
  • Marconi Class DXer
  • *****
  • Posts: 31106
  • Westminster, MD USA
    • View Profile
    • Black Cat Systems
Re: ADGPS performance on various systems
« Reply #1 on: March 19, 2017, 2346 UTC »
With my 40GB 4 GHz i7 iMac, I get 17x realtime with 1 kHz channel steps, and 9.5x realtime with 0.5 kHz steps. This is where a 12 core Mac Pro would be nice. Very very nice.

With a frequency step range of -15 to +15 Hz in 5 Hz steps, the 0.5 kHz channels speed drops to about 4x real time (that is the setting I always use).

My guess as to why you see the 0.5 kHz channels being a little bit faster than half that of 1 kHz channels is that the overhead of reading the I/Q data and shoveling it through the software is about the same either way.

ADGPS launches one thread for each channel and baud rate combination (plus there's other threads for other things of course). So in theory it should use all available cores. It sets the priority of each thread very low, however, so it should not stop other apps from running. It does use a lot of memory, however, so if your system is limited in RAM, that could cause some issues.  IIRC it allocates a bit over 3GB of memory, and it is a 32 bit app, so it's close to the 4GB limit. One day I will be able to build it as a 64 bit app, then it can consume ALL of your system's memory  ;D
Chris Smolinski
Westminster, MD
eQSLs appreciated! csmolinski@blackcatsystems.com
netSDR / AFE822x / AirSpy HF+ / KiwiSDR / 900 ft Horz skyloop / 500 ft NE beverage / 250 ft V Beam / 58 ft T2FD / 120 ft T2FD / 400 ft south beverage / 43m, 20m, 10m  dipoles / Crossed Parallel Loop / Discone in a tree

Offline skeezix

  • Global Moderator
  • Marconi Class DXer
  • *****
  • Posts: 5544
  • Minneapolis, MN
  • What does 'RNO stand for?
    • View Profile
Re: ADGPS performance on various systems
« Reply #2 on: March 20, 2017, 0004 UTC »
I've experimented a bit with the frequency step, but find that I easily get duplicates, so I've gone back to 0,0,1. For now, that seems fine. Under current conditions.

I priced a 12-core MacPro today and quickly calculated the ratio of decoding DGPS vs depleting the bank account. MacPro is not on order.


Ultimate request (that is completely non-trivial):
Decoding in support of a cluster (arbitrary number of nodes) with GPU support on those nodes, on Linux and/or FreeBSD with no GUI (CLI only).

Which iMac do you have? My mid-2011 Mac mini is an 2.7 GHz i7.
Minneapolis, MN

Offline ChrisSmolinski

  • Administrator
  • Marconi Class DXer
  • *****
  • Posts: 31106
  • Westminster, MD USA
    • View Profile
    • Black Cat Systems
Re: ADGPS performance on various systems
« Reply #3 on: March 20, 2017, 0008 UTC »
Latest (2015?) iMac.

I've only briefly looked at how to do GPU stuff. Briefly enough to run away screaming.
« Last Edit: March 21, 2017, 1022 UTC by ChrisSmolinski »
Chris Smolinski
Westminster, MD
eQSLs appreciated! csmolinski@blackcatsystems.com
netSDR / AFE822x / AirSpy HF+ / KiwiSDR / 900 ft Horz skyloop / 500 ft NE beverage / 250 ft V Beam / 58 ft T2FD / 120 ft T2FD / 400 ft south beverage / 43m, 20m, 10m  dipoles / Crossed Parallel Loop / Discone in a tree

Offline skeezix

  • Global Moderator
  • Marconi Class DXer
  • *****
  • Posts: 5544
  • Minneapolis, MN
  • What does 'RNO stand for?
    • View Profile
Re: ADGPS performance on various systems
« Reply #4 on: March 21, 2017, 0100 UTC »
17x!  That's great.

I've never looked at GPU stuff. And its not for all types of things, only certain things and I do not know which the decoding would fall into.

Minneapolis, MN

Offline Josh

  • DXing Phenomena
  • *******
  • Posts: 4322
    • View Profile
Re: ADGPS performance on various systems
« Reply #5 on: March 21, 2017, 1538 UTC »
In the win systems, try setting the quanta to background rather than programs. This makes the timeslices equal for background and foreground apps but it makes them all longer. Normally one has the programs set to receive lowest latency, wich can starve background processes. Test in both modes and see if there's a diff in performance.
https://www.eightforums.com/tutorials/24129-processor-scheduling-adjust-performance-windows.html
We do not encourage any radio operations contrary to regulations.

Offline ChrisSmolinski

  • Administrator
  • Marconi Class DXer
  • *****
  • Posts: 31106
  • Westminster, MD USA
    • View Profile
    • Black Cat Systems
Re: ADGPS performance on various systems
« Reply #6 on: March 21, 2017, 1951 UTC »
I ran a test with the frequency step range set to -5 to +5, also in 5 Hz steps, and it ran at about 7x real time, vs 4x when set to -15 to +15. I was doing some tests to see how that affected pulling out weak decodes, and while similar, it is very slightly less.

But more interesting (and I have seen this before) you also get slightly different results running the same exact file more than once, even with the same settings. I think skeezix may have noticed this before as well. I'm not sure what the cause is. It is both puzzling and disconcerting.
Chris Smolinski
Westminster, MD
eQSLs appreciated! csmolinski@blackcatsystems.com
netSDR / AFE822x / AirSpy HF+ / KiwiSDR / 900 ft Horz skyloop / 500 ft NE beverage / 250 ft V Beam / 58 ft T2FD / 120 ft T2FD / 400 ft south beverage / 43m, 20m, 10m  dipoles / Crossed Parallel Loop / Discone in a tree

Offline skeezix

  • Global Moderator
  • Marconi Class DXer
  • *****
  • Posts: 5544
  • Minneapolis, MN
  • What does 'RNO stand for?
    • View Profile
Re: ADGPS performance on various systems
« Reply #7 on: March 23, 2017, 2221 UTC »
Yes, I definitely noticed that running the same recording through with no changes at all results in slightly different numbers of decodes.

Minneapolis, MN

Offline ChrisSmolinski

  • Administrator
  • Marconi Class DXer
  • *****
  • Posts: 31106
  • Westminster, MD USA
    • View Profile
    • Black Cat Systems
Re: ADGPS performance on various systems
« Reply #8 on: March 23, 2017, 2222 UTC »
Yes, I definitely noticed that running the same recording through with no changes at all results in slightly different numbers of decodes.

Apparently I need to find better quality Heisenberg compensators
Chris Smolinski
Westminster, MD
eQSLs appreciated! csmolinski@blackcatsystems.com
netSDR / AFE822x / AirSpy HF+ / KiwiSDR / 900 ft Horz skyloop / 500 ft NE beverage / 250 ft V Beam / 58 ft T2FD / 120 ft T2FD / 400 ft south beverage / 43m, 20m, 10m  dipoles / Crossed Parallel Loop / Discone in a tree