Discussion and technical support related to USRP, UHD, RFNoC
View all threadsI’m receiving a wide bandwidth signal (~250 MHz sample rate using DPDK) on X410 using GNURadio and I notice that the green LED light turns ON and quickly turns back off whenever I have signal processing blocks (e.g. filter block) connected to the UHD source block. You have 1-2 overflows at the beginning but the GUI seems to work fine showing the signal with the time/freq sink plots. Whenever I just have the time/freq sink blocks only connected to the uhd_source, the green light stays on.
My question is would the green light turning quickly off be still an issue? If so, any ideas how to resolve that one? I’m wondering because I will need to re-transmit the signal again using UHD sink block and am experiencing underflows (not been able to resolve this yet and the red transmit light doesn’t turn on). I’m wondering if that’s partly due to the green light turning back off.
On 25/11/2024 20:57, dhpanchaai@gmail.com wrote:
I’m receiving a wide bandwidth signal (~250 MHz sample rate using
DPDK) on X410 using GNURadio and I notice that the green LED light
turns ON and quickly turns back off whenever I have signal processing
blocks (e.g. filter block) connected to the UHD source block. You have
1-2 overflows at the beginning but the GUI seems to work fine showing
the signal with the time/freq sink plots. Whenever I just have the
time/freq sink blocks only connected to the uhd_source, the green
light stays on.
My question is would the green light turning quickly off be still an
issue? If so, any ideas how to resolve that one? I’m wondering because
I will need to re-transmit the signal again using UHD sink block and
am experiencing underflows (not been able to resolve this yet and the
red transmit light doesn’t turn on). I’m wondering if that’s partly
due to the green light turning back off.
Doing ANY signal-processing "stuff" at 250Msps within Gnu Radio is
very likely to result in significant numbers of
over-runs, and it may even be the case that no forward progress can
be made at all at those rates, with the interface
dropping sample buffers because there's nowhere to put them, because
the application (your Gnu Radio flow-graph)
simply cannot vacuum out the interface fast enough. The frequency
sink uses a heavily "stuttered" approach to
producing the spectral estimate. If the frame rate is (let's say)
10Hz, then nearly ALL of the incoming sample
frames are dropped on the floor, which is why it appears that it is
"keeping up" when you only have a frequency
sink in your flow.
What kind of computer are you using? What happens when you drop the
sample rate down by a factor of 4?
Its a high-end ASUS desktop machine with 128 GB RAM:
description: Desktop Computer
product: System Product Name (SKU)
vendor: ASUS
version: System Version
serial: System Serial Number
width: 64 bits
capabilities: smbios-3.5.0 dmi-3.5.0 smp vsyscall32
configuration: boot=normal chassis=desktop family=To be filled by O.E.M. sku=SKU uuid=f3e615b3-efb6-49fa-381a-581122bbff40
*-core
description: Motherboard
product: ROG MAXIMUS Z790 HERO
vendor: ASUSTeK COMPUTER INC.
physical id: 0
version: Rev 1.xx
serial: 221011025300497
slot: Default string
\*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: 2202
date: 04/17/2024
size: 64KiB
capacity: 16MiB
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer int10video acpi usb biosbootspecification uefi
\*-memory
description: System Memory
physical id: c
slot: System board or motherboard
size: 128GiB
\*-bank:0
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 0
serial: CE344740
slot: Controller0-DIMM0
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
\*-bank:1
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 1
serial: E1345EF2
slot: Controller0-DIMM1
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
\*-bank:2
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 2
serial: D0349087
slot: Controller1-DIMM0
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
\*-bank:3
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 3
serial: 4A348668
slot: Controller1-DIMM1
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
\*-cache:0
description: L1 cache
physical id: 1d
slot: L1 Cache
size: 384KiB
capacity: 384KiB
capabilities: synchronous internal write-back data
configuration: level=1
\*-cache:1
description: L1 cache
physical id: 1e
slot: L1 Cache
size: 256KiB
capacity: 256KiB
capabilities: synchronous internal write-back instruction
configuration: level=1
\*-cache:2
description: L2 cache
physical id: 1f
slot: L2 Cache
size: 16MiB
capacity: 16MiB
capabilities: synchronous internal write-back unified
configuration: level=2
\*-cache:3
description: L3 cache
physical id: 20
slot: L3 Cache
size: 36MiB
capacity: 36MiB
capabilities: synchronous internal write-back unified
configuration: level=3
\*-cache:4
description: L1 cache
physical id: 21
slot: L1 Cache
size: 512KiB
capacity: 512KiB
capabilities: synchronous internal write-back data
configuration: level=1
\*-cache:5
description: L1 cache
physical id: 22
slot: L1 Cache
size: 1MiB
capacity: 1MiB
capabilities: synchronous internal write-back instruction
configuration: level=1
\*-cache:6
description: L2 cache
physical id: 23
slot: L2 Cache
size: 16MiB
capacity: 16MiB
capabilities: synchronous internal write-back unified
configuration: level=2
\*-cache:7
description: L3 cache
physical id: 24
slot: L3 Cache
size: 36MiB
capacity: 36MiB
capabilities: synchronous internal write-back unified
configuration: level=3
\*-cpu
description: CPU
product: Intel(R) Core(TM) i9-14900K
vendor: Intel Corp.
physical id: 25
bus info: cpu@0
version: 6.183.1
serial: To Be Filled By O.E.M.
slot: LGA1700
size: 5696MHz
capacity: 5700MHz
width: 64 bits
clock: 100MHz
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq tme rdpid movdiri movdir64b fsrm md_clear serialize pconfig arch_lbr ibt flush_l1d arch_capabilities cpufreq
configuration: cores=24 enabledcores=24 microcode=297 threads=24
I’m implementing a custom-made filter block with the output data. I lowered the sample rate to 61.44 MHz and am still noticing the green light turn off when i connect the custom-made filter block to the UHD source block.
Also, under stream args, I set the following parameters: num_recv_frames=50000, recv_buff_size=2000000000. MTU is set to 9000. Is there a transport parameter max when using DPDK?
On 26/11/2024 14:36, dhpanchaai@gmail.com wrote:
Its a high-end ASUS desktop machine with 128 GB RAM:
description: Desktop Computer
product: System Product Name (SKU)
vendor: ASUS
version: System Version
serial: System Serial Number
width: 64 bits
capabilities: smbios-3.5.0 dmi-3.5.0 smp vsyscall32
configuration: boot=normal chassis=desktop family=To be filled by
O.E.M. sku=SKU uuid=f3e615b3-efb6-49fa-381a-581122bbff40
*-core
description: Motherboard
product: ROG MAXIMUS Z790 HERO
vendor: ASUSTeK COMPUTER INC.
physical id: 0
version: Rev 1.xx
serial: 221011025300497
slot: Default string
*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: 2202
date: 04/17/2024
size: 64KiB
capacity: 16MiB
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd
int13floppynec int13floppytoshiba int13floppy360 int13floppy1200
int13floppy720 int13floppy2880 int5printscreen int14serial
int17printer int10video acpi usb biosbootspecification uefi
*-memory
description: System Memory
physical id: c
slot: System board or motherboard
size: 128GiB
*-bank:0
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 0
serial: CE344740
slot: Controller0-DIMM0
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
*-bank:1
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 1
serial: E1345EF2
slot: Controller0-DIMM1
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
*-bank:2
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 2
serial: D0349087
slot: Controller1-DIMM0
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
*-bank:3
description: DIMM Synchronous 4200 MHz (0.2 ns)
product: KF556C40-32
vendor: Kingston
physical id: 3
serial: 4A348668
slot: Controller1-DIMM1
size: 32GiB
width: 64 bits
clock: 4200MHz (0.2ns)
*-cache:0
description: L1 cache
physical id: 1d
slot: L1 Cache
size: 384KiB
capacity: 384KiB
capabilities: synchronous internal write-back data
configuration: level=1
*-cache:1
description: L1 cache
physical id: 1e
slot: L1 Cache
size: 256KiB
capacity: 256KiB
capabilities: synchronous internal write-back instruction
configuration: level=1
*-cache:2
description: L2 cache
physical id: 1f
slot: L2 Cache
size: 16MiB
capacity: 16MiB
capabilities: synchronous internal write-back unified
configuration: level=2
*-cache:3
description: L3 cache
physical id: 20
slot: L3 Cache
size: 36MiB
capacity: 36MiB
capabilities: synchronous internal write-back unified
configuration: level=3
*-cache:4
description: L1 cache
physical id: 21
slot: L1 Cache
size: 512KiB
capacity: 512KiB
capabilities: synchronous internal write-back data
configuration: level=1
*-cache:5
description: L1 cache
physical id: 22
slot: L1 Cache
size: 1MiB
capacity: 1MiB
capabilities: synchronous internal write-back instruction
configuration: level=1
*-cache:6
description: L2 cache
physical id: 23
slot: L2 Cache
size: 16MiB
capacity: 16MiB
capabilities: synchronous internal write-back unified
configuration: level=2
*-cache:7
description: L3 cache
physical id: 24
slot: L3 Cache
size: 36MiB
capacity: 36MiB
capabilities: synchronous internal write-back unified
configuration: level=3
*-cpu
description: CPU
product: Intel(R) Core(TM) i9-14900K
vendor: Intel Corp.
physical id: 25
bus info: cpu@0
version: 6.183.1
serial: To Be Filled By O.E.M.
slot: LGA1700
size: 5696MHz
capacity: 5700MHz
width: 64 bits
clock: 100MHz
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8
apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse
sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art
arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid
aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx
est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe
popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm
3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced
tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2
smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni
xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni
dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq tme
rdpid movdiri movdir64b fsrm md_clear serialize pconfig arch_lbr ibt
flush_l1d arch_capabilities cpufreq
configuration: cores=24 enabledcores=24 microcode=297 threads=24
I’m implementing a custom-made filter block with the output data. I
lowered the sample rate to 61.44 MHz and am still noticing the green
light turn off when i connect the custom-made filter block to the UHD
source block.
Also, under stream args, I set the following parameters:
num_recv_frames=50000, recv_buff_size=2000000000. MTU is set to 9000.
Is there a transport parameter max when using DPDK?
You should probably do a "first principles" test. Use the
"benchmark_rate" example application just check how much
data your computer can move into/out-of your machine.
Then use the "rx_samples_to_file" app, and use the --null option. This
will test a little further into actually doing something
with the samples, although, not much.
If these work fine at your desired sample-rates, then you can look into
Gnu Radio performance tuning. But I'd suggest
that the usrp-users list is NOT the place to get advice on tuning Gnu
Radio applications.