Marcus,
Attached you can find the results of the benchmark test.
I have been also compared the behavior with 2 different CPU and different USB type 3.0 for the older tower PC, USB 3.1 on the laptop, very strange the case of the older CPU generating an overflow every minute. The conditions were exactly the same in all test with no other visible activity on the machines. Release 14.0 seems a bit better with the benchmark but,sadly, the 2 UHD release are not comparable because the 14.0 as soon as generates an overflow indication drops in the timeout with no recovery but final consideration is that fast sample rate became unusable for long signal recording regardless to software release and PC.
I really hope for a solution.
nando

On 8/28/2020 18:52, Marcus D. Leech wrote:
On 08/28/2020 12:23 PM, Nando Pellegrini wrote:
Hi Marcus ,
I am back with more or less same problem, trying to restore the former situation. I did not add any device argument simply because i really never needed to change the default. I do not pretend to have the problem solved at once on a release candidate , i was simply reporting them. In addition but not sure how could help , and now i am talking about the low level of performance, my testing application is a simple and short code looping on a receive function (with high priority)  but unable to pull out all the expected data. The CPU load is very low and it seems like the lower levels of software are not able to engage the cpu. I normally set the float32 format as output but tried to avoid the conversion setting 16bit integer. Nothing changes. Of course i do not know how lower starting from the UHD library end ending with the OS process scheduling , and , strange, but the same in two different CPUS where the fastest has the worse behavior. I made also an attempt starting with the short latency version of kernel , exactly the same!
That's the status.
nando
If you use the 'benchmark_rate' tool that comes with UHD, what are your results with both this new release candidate and 3.15?



CPU Intel Core i7-10875H


nando@nando:~/Downloads/uhd-4.0.0.0-rc1/host/build/examples$ ./benchmark_rate 
--rx_rate 56000000  --duration 1000

[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_4.0.0.0-0-unknown
[00:00:00.000507] Creating the usrp device with: ...
[INFO] [B200] Detected Device: B200mini
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz... 
[INFO] [B200] Actually got clock rate 16.000000 MHz.
Using Device: Single USRP:
  Device: B-Series Device
  Mboard 0: B200mini
  RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: FE-RX1
  TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: FE-TX1

[00:00:01.626445841] Setting device timestamp to 0...
[INFO] [B200] Asking for clock rate 56.000000 MHz... 
[INFO] [B200] Actually got clock rate 56.000000 MHz.
[00:00:01.874374152] Testing receive rate 56.000000 Msps on 1 channels
O[00:04:42.9661629] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
[00:04:42.211143190] Receiver error: ERROR_CODE_TIMEOUT, continuing...


        Version 3.15LTS


nando@nando:~/Downloads/uhd-UHD-3.15.LTS/host/build/examples$ ./benchmark_rate 
--rx_rate 56000000  --duration 1000

[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_3.15.0.0-0-unknown
[00:00:00.000006] Creating the usrp device with: ...
[INFO] [B200] Detected Device: B200mini
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz... 
[INFO] [B200] Actually got clock rate 16.000000 MHz.
Using Device: Single USRP:
  Device: B-Series Device
  Mboard 0: B200mini
  RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: FE-RX1
  TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: FE-TX1

[00:00:00.963410] Setting device timestamp to 0...
[INFO] [B200] Asking for clock rate 56.000000 MHz... 
[INFO] [B200] Actually got clock rate 56.000000 MHz.
[00:00:01.202222] Testing receive rate 56.000000 Msps on 1 channels
O[00:11:40.614152] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:15:25.712007] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
[00:16:41.252526] Benchmark complete.


Benchmark rate summary:
  Num received samples:     55999810609
  Num dropped samples:      2
  Num overruns detected:    2
  Num transmitted samples:  0
  Num sequence errors (Tx): 0
  Num sequence errors (Rx): 0
  Num underruns detected:   0
  Num late commands:        0
  Num timeouts (Tx):        0
  Num timeouts (Rx):        0


Done!


CPU Intel I7-4770

UHD 14.0

nando@nando-desktop:~/Downloads/uhd-4.0.0.0-rc1/host/build/examples$ 
./benchmark_rate --rx_rate 56000000 --duration 1000

Error opening log file: basic_ios::clear: iostream error
[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_4.0.0.0-0-unknown
[INFO] [B200] Loading firmware image: 
/usr/local/share/uhd/images/usrp_b200_fw.hex...
[00:00:00.000580] Creating the usrp device with: ...
[INFO] [B200] Detected Device: B200mini
[INFO] [B200] Loading FPGA image: 
/usr/local/share/uhd/images/usrp_b200mini_fpga.bin...
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz... 
[INFO] [B200] Actually got clock rate 16.000000 MHz.
Using Device: Single USRP:
  Device: B-Series Device
  Mboard 0: B200mini
  RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: FE-RX1
  TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: FE-TX1

[00:00:11.98049291] Setting device timestamp to 0...
[INFO] [B200] Asking for clock rate 56.000000 MHz... 
[INFO] [B200] Actually got clock rate 56.000000 MHz.
[00:00:11.342605768] Testing receive rate 56.000000 Msps on 1 channels
O[00:12:20.903040744] Timestamp after overrun recovery ahead of error 
timestamp! Unable to calculate number of dropped samples.(Delta: -3170 ticks)
[00:12:21.103358189] Receiver error: ERROR_CODE_TIMEOUT, continuing...
[00:12:21.203549013] Receiver error: ERROR_CODE_TIMEOUT, continuing...


UHD 3.15 LTS 

nando@nando-desktop:~/Downloads/uhd-UHD-3.15.LTS/host/build/examples$ 
./benchmark_rate --rx_rate 56000000 --duration 1000

Error opening log file: basic_ios::clear: iostream error
[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_3.15.0.0-0-unknown
[00:00:00.000004] Creating the usrp device with: ...
[INFO] [B200] Detected Device: B200mini
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz... 
[INFO] [B200] Actually got clock rate 16.000000 MHz.
Using Device: Single USRP:
  Device: B-Series Device
  Mboard 0: B200mini
  RX Channel: 0
    RX DSP: 0
    RX Dboard: A
    RX Subdev: FE-RX1
  TX Channel: 0
    TX DSP: 0
    TX Dboard: A
    TX Subdev: FE-TX1

[00:00:01.851473] Setting device timestamp to 0...
[INFO] [B200] Asking for clock rate 56.000000 MHz... 
[INFO] [B200] Actually got clock rate 56.000000 MHz.
[00:00:02.092200] Testing receive rate 56.000000 Msps on 1 channels
O[00:00:23.852053] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:01:24.854252] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:02:25.854316] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:03:26.854313] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:04:27.854256] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
[O00:05:28.854289] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:06:29.854308] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:07:30.854310] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:08:31.854256] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:09:32.854314] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
[O00:10:33.854300] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:11:34.854313] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:12:35.854307] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:13:36.854327] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:14:37.854251] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:15:38.854243] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
O[00:16:39.854318] Timestamp after overrun recovery ahead of error timestamp! 
Unable to calculate number of dropped samples.(Delta: -3170 ticks)
[00:16:42.142516] Benchmark complete.


Benchmark rate summary:
  Num received samples:     55999780624
  Num dropped samples:      17
  Num overruns detected:    17
  Num transmitted samples:  0
  Num sequence errors (Tx): 0
  Num sequence errors (Rx): 0
  Num underruns detected:   0
  Num late commands:        0
  Num timeouts (Tx):        0
  Num timeouts (Rx):        0


Done!



nando@nando:~/Downloads/uhd-UHD-3.15.LTS/host/build/examples$ 


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to