discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Re: High CPU usage


From: peng senl
Subject: [Discuss-gnuradio] Re: High CPU usage
Date: Mon, 28 Feb 2011 14:43:41 +0800 (CST)

Hello Tom,


Here is how I collect the data:


I am using the example rx_streaming_samples.cc to collect data. I disabled the function copy_u2_16sc_to_host_16sc() in the example.


I think the program keeps calling bool ok = rx_nop_handler::operator()(items, nitems, metadata) to return the pointer of the received meta data array.


There is a background thread usrp2::impl::bg_loop() running in real time. This function calls “d_eth_buf->rx_frames(this, 100); ” to get the data out from the ethernet buffer. That is basically what this program does.


Do you think the CPU usage is normal? I also notice that the block timeout is 100ms. Is there a reason for doing this?



--- On Sun, 2/27/11, Tom Rondeau <address@hidden> wrote:

From: Tom Rondeau <address@hidden>
Subject: Re: High CPU usage
To: "peng senl" <address@hidden>
Cc: address@hidden
Date: Sunday, February 27, 2011, 4:37 PM

On Fri, Feb 25, 2011 at 3:47 PM, peng senl <address@hidden> wrote:


> The legacy driver or UHD? Are you using 32-bit complex
> floats or
> 16-bit complex shorts for you data?

In my case, I am using GNU Radio with USRP2 in C++.
The CPU usage for 5MHz is 30% with 3.2 G duo core CPU and around 70% for 20MHz sample frequency.

> I'd be very interested to hear your benchmarking of the
> different
> types here. That is UHD/32fc vs. USRP2/32fc and UHD/16sc
> vs.
> USRP2/16sc. Also, UHD/32fc vs. UHD/16sc.

I just read data coming over the Ethernet. I did not even convert from big to little endian or convert data to other format. So I try to minimize the operations. But I still get such a high CPU usage. I wondering is it possible to simplify the data receive operations.

Ok, that didn't answer my question at all. HOW are you reading them from the Ethernet port? Which function are you calling in the USRP2 library to do this? Or which GNU Radio usrp2_source_XXX are you using (usrp2_source_32fc or usrp2_soruce_16sc)?

Tom




reply via email to

[Prev in Thread] Current Thread [Next in Thread]