usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Extending duration of high-rate captures with the X410

RK
Rob Kossler
Tue, Mar 12, 2024 9:59 PM

I think I am mistaken. If you are only streaming a single channel, the
--multi_streamer option will likely not change a thing. I was assuming you
had multiple channels.
Rob

On Tue, Mar 12, 2024 at 5:40 PM Rob Kossler rkossler@nd.edu wrote:

Your mount command with tmpfs looks correct. Here is what mine is in my
/etc/fstab file (with 264GB avail RAM)
tmpfs  /media/ramfolder/  tmpfs  rw,nosuid,nodev,size=200G  0  0

You might want to try rx_samples_to_file with the --multi_streamer option.
I expect you will get better performance.  Also, you can take your RAM FS
size higher from 8G to probably 60G if you want to try bigger recording
depths.
Rob

On Tue, Mar 12, 2024 at 5:13 PM Marcus D. Leech patchvonbraun@gmail.com
wrote:

On 12/03/2024 16:11, zackkomo@utexas.edu wrote:

Hey Rob and Marcus,

Thanks for the responses! I have a basic understanding of linux, but am
not very experienced. I tried the following to create the RAM filesystem:

sudo mount -t tmpfs -o size=8G tmpfs /mnt/tmpfs/

sudo mount -t ramfs -o size=8G ramfs /mnt/ramfs/

And ran the rx_samples_to_file, once with --file /mnt/tmpfs/test.bin, and
once with --file /mnt/ramfs/test.bin, both times still getting o’s for
overruns.

By my calculations, at ~500 M complex samples per second, each complex
sample 4 bytes (defaulting to short for I and Q), that means just 1 second
of capturing equates to 2 GB of data. My system has 64 GB of RAM. Am I
creating the RAM filesystem correctly? Am I using it correctly?


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

Assuming that you did a "sudo mkdir of /mnt/ramfs" beforehand,  this
should work.


USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com

I think I am mistaken. If you are only streaming a single channel, the --multi_streamer option will likely not change a thing. I was assuming you had multiple channels. Rob On Tue, Mar 12, 2024 at 5:40 PM Rob Kossler <rkossler@nd.edu> wrote: > Your mount command with tmpfs looks correct. Here is what mine is in my > /etc/fstab file (with 264GB avail RAM) > tmpfs /media/ramfolder/ tmpfs rw,nosuid,nodev,size=200G 0 0 > > You might want to try rx_samples_to_file with the --multi_streamer option. > I expect you will get better performance. Also, you can take your RAM FS > size higher from 8G to probably 60G if you want to try bigger recording > depths. > Rob > > On Tue, Mar 12, 2024 at 5:13 PM Marcus D. Leech <patchvonbraun@gmail.com> > wrote: > >> On 12/03/2024 16:11, zackkomo@utexas.edu wrote: >> >> Hey Rob and Marcus, >> >> Thanks for the responses! I have a basic understanding of linux, but am >> not very experienced. I tried the following to create the RAM filesystem: >> >> sudo mount -t tmpfs -o size=8G tmpfs /mnt/tmpfs/ >> >> sudo mount -t ramfs -o size=8G ramfs /mnt/ramfs/ >> >> >> And ran the rx_samples_to_file, once with --file /mnt/tmpfs/test.bin, and >> once with --file /mnt/ramfs/test.bin, both times still getting o’s for >> overruns. >> >> By my calculations, at ~500 M complex samples per second, each complex >> sample 4 bytes (defaulting to short for I and Q), that means just 1 second >> of capturing equates to 2 GB of data. My system has 64 GB of RAM. Am I >> creating the RAM filesystem correctly? Am I using it correctly? >> >> >> >> _______________________________________________ >> USRP-users mailing list -- usrp-users@lists.ettus.com >> To unsubscribe send an email to usrp-users-leave@lists.ettus.com >> >> Assuming that you did a "sudo mkdir of /mnt/ramfs" beforehand, this >> should work. >> >> >> _______________________________________________ >> USRP-users mailing list -- usrp-users@lists.ettus.com >> To unsubscribe send an email to usrp-users-leave@lists.ettus.com >> >
MD
Marcus D. Leech
Tue, Mar 12, 2024 10:36 PM

On 12/03/2024 17:59, Rob Kossler wrote:

I think I am mistaken. If you are only streaming a single channel, the
--multi_streamer option will likely not change a thing. I was assuming
you had multiple channels.
Rob

Indeed, the problem doesn't appear to be "getting samples off the wire
and into the application" (as evidenced by
  the benchmark_rate runs), but rather "doing things with those samples
after that".

Writing 2Gbyte/second through the filesystem interface to the kernel
is....challenging.

On Tue, Mar 12, 2024 at 5:40 PM Rob Kossler rkossler@nd.edu wrote:

 Your mount command with tmpfs looks correct. Here is what mine is
 in my /etc/fstab file (with 264GB avail RAM)
 tmpfs  /media/ramfolder/  tmpfs  rw,nosuid,nodev,size=200G   0  0

 You might want to try rx_samples_to_file with the --multi_streamer
 option. I expect you will get better performance.  Also, you can
 take your RAM FS size higher from 8G to probably 60G if you want
 to try bigger recording depths.
 Rob

 On Tue, Mar 12, 2024 at 5:13 PM Marcus D. Leech
 <patchvonbraun@gmail.com> wrote:

     On 12/03/2024 16:11, zackkomo@utexas.edu wrote:
     Hey Rob and Marcus,

     Thanks for the responses! I have a basic understanding of
     linux, but am not very experienced. I tried the following to
     create the RAM filesystem:

     |sudo mount -t tmpfs -o size=8G tmpfs /mnt/tmpfs/|
     |sudo mount -t ramfs -o size=8G ramfs /mnt/ramfs/ |

     And ran the rx_samples_to_file, once with --file
     /mnt/tmpfs/test.bin, and once with --file
     /mnt/ramfs/test.bin, both times still getting o’s for overruns.

     By my calculations, at ~500 M complex samples per second,
     each complex sample 4 bytes (defaulting to short for I and
     Q), that means just 1 second of capturing equates to 2 GB of
     data. My system has 64 GB of RAM. Am I creating the RAM
     filesystem correctly? Am I using it correctly?



     _______________________________________________
     USRP-users mailing list --usrp-users@lists.ettus.com
     To unsubscribe send an email tousrp-users-leave@lists.ettus.com
     Assuming that you did a "sudo mkdir of /mnt/ramfs"
     beforehand,  this should work.


     _______________________________________________
     USRP-users mailing list -- usrp-users@lists.ettus.com
     To unsubscribe send an email to usrp-users-leave@lists.ettus.com
On 12/03/2024 17:59, Rob Kossler wrote: > I think I am mistaken. If you are only streaming a single channel, the > --multi_streamer option will likely not change a thing. I was assuming > you had multiple channels. > Rob Indeed, the problem doesn't appear to be "getting samples off the wire and into the application" (as evidenced by   the benchmark_rate runs), but rather "doing things with those samples after that". Writing 2Gbyte/second through the filesystem interface to the kernel is....challenging. > > On Tue, Mar 12, 2024 at 5:40 PM Rob Kossler <rkossler@nd.edu> wrote: > > Your mount command with tmpfs looks correct. Here is what mine is > in my /etc/fstab file (with 264GB avail RAM) > tmpfs  /media/ramfolder/  tmpfs  rw,nosuid,nodev,size=200G   0  0 > > You might want to try rx_samples_to_file with the --multi_streamer > option. I expect you will get better performance.  Also, you can > take your RAM FS size higher from 8G to probably 60G if you want > to try bigger recording depths. > Rob > > On Tue, Mar 12, 2024 at 5:13 PM Marcus D. Leech > <patchvonbraun@gmail.com> wrote: > > On 12/03/2024 16:11, zackkomo@utexas.edu wrote: >> >> Hey Rob and Marcus, >> >> Thanks for the responses! I have a basic understanding of >> linux, but am not very experienced. I tried the following to >> create the RAM filesystem: >> >> |sudo mount -t tmpfs -o size=8G tmpfs /mnt/tmpfs/| >> |sudo mount -t ramfs -o size=8G ramfs /mnt/ramfs/ | >> >> And ran the rx_samples_to_file, once with --file >> /mnt/tmpfs/test.bin, and once with --file >> /mnt/ramfs/test.bin, both times still getting o’s for overruns. >> >> By my calculations, at ~500 M complex samples per second, >> each complex sample 4 bytes (defaulting to short for I and >> Q), that means just 1 second of capturing equates to 2 GB of >> data. My system has 64 GB of RAM. Am I creating the RAM >> filesystem correctly? Am I using it correctly? >> >> >> >> _______________________________________________ >> USRP-users mailing list --usrp-users@lists.ettus.com >> To unsubscribe send an email tousrp-users-leave@lists.ettus.com > Assuming that you did a "sudo mkdir of /mnt/ramfs" > beforehand,  this should work. > > > _______________________________________________ > USRP-users mailing list -- usrp-users@lists.ettus.com > To unsubscribe send an email to usrp-users-leave@lists.ettus.com >