HFU HF Underground

Technical Topics => Software => Topic started by: skeezix on March 19, 2017, 2117 UTC

Title: ADGPS performance on various systems
Post by: skeezix 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.



Title: Re: ADGPS performance on various systems
Post by: ChrisSmolinski 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
Title: Re: ADGPS performance on various systems
Post by: skeezix 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.
Title: Re: ADGPS performance on various systems
Post by: ChrisSmolinski 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.
Title: Re: ADGPS performance on various systems
Post by: skeezix 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.

Title: Re: ADGPS performance on various systems
Post by: Josh 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
Title: Re: ADGPS performance on various systems
Post by: ChrisSmolinski 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.
Title: Re: ADGPS performance on various systems
Post by: skeezix 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.

Title: Re: ADGPS performance on various systems
Post by: ChrisSmolinski 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