SV
Sakthivel Velumani
Thu, Jan 2, 2025 5:56 PM
Hi,
I am wondering if the user can run a custom linux application on the ARM
cores that can offload certain tasks to the PL? or does the RFNoC core
implementation allow a RFNoC block to interact with an application on
the PS via the AXI interface?
Regards,
Sakthi
Hi,
I am wondering if the user can run a custom linux application on the ARM
cores that can offload certain tasks to the PL? or does the RFNoC core
implementation allow a RFNoC block to interact with an application on
the PS via the AXI interface?
Regards,
Sakthi
MD
Marcus D. Leech
Thu, Jan 2, 2025 6:10 PM
On 02/01/2025 12:56, Sakthivel Velumani wrote:
Hi,
I am wondering if the user can run a custom linux application on the
ARM cores that can offload certain tasks to the PL? or does the RFNoC
core implementation allow a RFNoC block to interact with an
application on the PS via the AXI interface?
Regards,
Sakthi
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
You should be able to run UHD-using applications on the ARM on the X410,
just like any of the other platforms that provide
an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
typically (I don't know for sure on the X410), and they
cannot be expected to provide high-bandwidth sample streams
into/out-of the radio.
I don't know whether the Python API for UHD is installed by default on
the X410 system image, but that would be an
easy pathway to do initial experiments.
Really though, for these high-end boxes, the ARM CPUs exist largely for
housekeeping and logistics management of
the radio, via things like MPM, etc. The fact that they can run a
user application is just kind of a side-effect, and
that application would need to offload nearly-ALL of its actual DSP
work to RFNoC, since these ARM CPUs are not
particularly capable in terms of computational and memory-bandwidth
performance.
On 02/01/2025 12:56, Sakthivel Velumani wrote:
> Hi,
>
> I am wondering if the user can run a custom linux application on the
> ARM cores that can offload certain tasks to the PL? or does the RFNoC
> core implementation allow a RFNoC block to interact with an
> application on the PS via the AXI interface?
>
> Regards,
>
> Sakthi
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
You should be able to run UHD-using applications on the ARM on the X410,
just like any of the other platforms that provide
an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
typically (I don't know for sure on the X410), and they
cannot be expected to provide high-bandwidth sample streams
into/out-of the radio.
I don't know whether the Python API for UHD is installed by default on
the X410 system image, but that would be an
easy pathway to do initial experiments.
Really though, for these high-end boxes, the ARM CPUs exist largely for
housekeeping and logistics management of
the radio, via things like MPM, etc. The fact that they *can* run a
user application is just kind of a side-effect, and
that application would need to offload nearly-ALL of its actual DSP
work to RFNoC, since these ARM CPUs are not
particularly capable in terms of computational and memory-bandwidth
performance.
SV
Sakthivel Velumani
Thu, Jan 2, 2025 6:56 PM
Hi Marcus,
Thanks for the pointers. I am looking to offload all the DSP work to the
RFNoC and have the CPUs do trivial tasks like sequence generation so
that I don't have to write HDL for everything. I am still not entirely
sure of how this can be done but I found a software development guide
for E310
(https://kb.ettus.com/Software_Development_on_the_E310_and_E312) which
looks like something I want to achieve so it's a good start I guess.
Thanks again.
Sakthi
On 1/2/25 13:10, Marcus D. Leech wrote:
On 02/01/2025 12:56, Sakthivel Velumani wrote:
Hi,
I am wondering if the user can run a custom linux application on the
ARM cores that can offload certain tasks to the PL? or does the RFNoC
core implementation allow a RFNoC block to interact with an
application on the PS via the AXI interface?
Regards,
Sakthi
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
You should be able to run UHD-using applications on the ARM on the
X410, just like any of the other platforms that provide
an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
typically (I don't know for sure on the X410), and they
cannot be expected to provide high-bandwidth sample streams
into/out-of the radio.
I don't know whether the Python API for UHD is installed by default on
the X410 system image, but that would be an
easy pathway to do initial experiments.
Really though, for these high-end boxes, the ARM CPUs exist largely
for housekeeping and logistics management of
the radio, via things like MPM, etc. The fact that they can run
a user application is just kind of a side-effect, and
that application would need to offload nearly-ALL of its actual DSP
work to RFNoC, since these ARM CPUs are not
particularly capable in terms of computational and memory-bandwidth
performance.
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
Hi Marcus,
Thanks for the pointers. I am looking to offload all the DSP work to the
RFNoC and have the CPUs do trivial tasks like sequence generation so
that I don't have to write HDL for everything. I am still not entirely
sure of how this can be done but I found a software development guide
for E310
(https://kb.ettus.com/Software_Development_on_the_E310_and_E312) which
looks like something I want to achieve so it's a good start I guess.
Thanks again.
Sakthi
On 1/2/25 13:10, Marcus D. Leech wrote:
> On 02/01/2025 12:56, Sakthivel Velumani wrote:
>> Hi,
>>
>> I am wondering if the user can run a custom linux application on the
>> ARM cores that can offload certain tasks to the PL? or does the RFNoC
>> core implementation allow a RFNoC block to interact with an
>> application on the PS via the AXI interface?
>>
>> Regards,
>>
>> Sakthi
>> _______________________________________________
>> USRP-users mailing list -- usrp-users@lists.ettus.com
>> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
> You should be able to run UHD-using applications on the ARM on the
> X410, just like any of the other platforms that provide
> an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
> typically (I don't know for sure on the X410), and they
> cannot be expected to provide high-bandwidth sample streams
> into/out-of the radio.
>
> I don't know whether the Python API for UHD is installed by default on
> the X410 system image, but that would be an
> easy pathway to do initial experiments.
>
> Really though, for these high-end boxes, the ARM CPUs exist largely
> for housekeeping and logistics management of
> the radio, via things like MPM, etc. The fact that they *can* run
> a user application is just kind of a side-effect, and
> that application would need to offload nearly-ALL of its actual DSP
> work to RFNoC, since these ARM CPUs are not
> particularly capable in terms of computational and memory-bandwidth
> performance.
> _______________________________________________
> 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
Thu, Jan 2, 2025 7:59 PM
On 02/01/2025 13:56, Sakthivel Velumani wrote:
Hi Marcus,
Thanks for the pointers. I am looking to offload all the DSP work to
the RFNoC and have the CPUs do trivial tasks like sequence generation
so that I don't have to write HDL for everything. I am still not
entirely sure of how this can be done but I found a software
development guide for E310
(https://kb.ettus.com/Software_Development_on_the_E310_and_E312) which
looks like something I want to achieve so it's a good start I guess.
Thanks again.
Sakthi
I think that the Python binding library for UHD IS installed in the
system image on the X410.
Go into Python3 and
import uhd
That should work.
On 1/2/25 13:10, Marcus D. Leech wrote:
On 02/01/2025 12:56, Sakthivel Velumani wrote:
Hi,
I am wondering if the user can run a custom linux application on the
ARM cores that can offload certain tasks to the PL? or does the
RFNoC core implementation allow a RFNoC block to interact with an
application on the PS via the AXI interface?
Regards,
Sakthi
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
You should be able to run UHD-using applications on the ARM on the
X410, just like any of the other platforms that provide
an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
typically (I don't know for sure on the X410), and they
cannot be expected to provide high-bandwidth sample streams
into/out-of the radio.
I don't know whether the Python API for UHD is installed by default
on the X410 system image, but that would be an
easy pathway to do initial experiments.
Really though, for these high-end boxes, the ARM CPUs exist largely
for housekeeping and logistics management of
the radio, via things like MPM, etc. The fact that they can run
a user application is just kind of a side-effect, and
that application would need to offload nearly-ALL of its actual DSP
work to RFNoC, since these ARM CPUs are not
particularly capable in terms of computational and memory-bandwidth
performance.
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
On 02/01/2025 13:56, Sakthivel Velumani wrote:
> Hi Marcus,
>
> Thanks for the pointers. I am looking to offload all the DSP work to
> the RFNoC and have the CPUs do trivial tasks like sequence generation
> so that I don't have to write HDL for everything. I am still not
> entirely sure of how this can be done but I found a software
> development guide for E310
> (https://kb.ettus.com/Software_Development_on_the_E310_and_E312) which
> looks like something I want to achieve so it's a good start I guess.
>
> Thanks again.
>
> Sakthi
I think that the Python binding library for UHD *IS* installed in the
system image on the X410.
Go into Python3 and
import uhd
That should work.
>
> On 1/2/25 13:10, Marcus D. Leech wrote:
>> On 02/01/2025 12:56, Sakthivel Velumani wrote:
>>> Hi,
>>>
>>> I am wondering if the user can run a custom linux application on the
>>> ARM cores that can offload certain tasks to the PL? or does the
>>> RFNoC core implementation allow a RFNoC block to interact with an
>>> application on the PS via the AXI interface?
>>>
>>> Regards,
>>>
>>> Sakthi
>>> _______________________________________________
>>> USRP-users mailing list -- usrp-users@lists.ettus.com
>>> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
>> You should be able to run UHD-using applications on the ARM on the
>> X410, just like any of the other platforms that provide
>> an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
>> typically (I don't know for sure on the X410), and they
>> cannot be expected to provide high-bandwidth sample streams
>> into/out-of the radio.
>>
>> I don't know whether the Python API for UHD is installed by default
>> on the X410 system image, but that would be an
>> easy pathway to do initial experiments.
>>
>> Really though, for these high-end boxes, the ARM CPUs exist largely
>> for housekeeping and logistics management of
>> the radio, via things like MPM, etc. The fact that they *can* run
>> a user application is just kind of a side-effect, and
>> that application would need to offload nearly-ALL of its actual DSP
>> work to RFNoC, since these ARM CPUs are not
>> particularly capable in terms of computational and memory-bandwidth
>> performance.
>> _______________________________________________
>> USRP-users mailing list -- usrp-users@lists.ettus.com
>> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
> _______________________________________________
> 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
Thu, Jan 2, 2025 11:27 PM
On 02/01/2025 13:56, Sakthivel Velumani wrote:
Hi Marcus,
Thanks for the pointers. I am looking to offload all the DSP work to
the RFNoC and have the CPUs do trivial tasks like sequence generation
so that I don't have to write HDL for everything. I am still not
entirely sure of how this can be done but I found a software
development guide for E310
(https://kb.ettus.com/Software_Development_on_the_E310_and_E312) which
looks like something I want to achieve so it's a good start I guess.
Thanks again.
Sakthi
I've also been told that you can build UHD apps directly on the X410--it
has all the tooling like Make, GCC, UHD and other important
libraries already on the system image.
On 1/2/25 13:10, Marcus D. Leech wrote:
On 02/01/2025 12:56, Sakthivel Velumani wrote:
Hi,
I am wondering if the user can run a custom linux application on the
ARM cores that can offload certain tasks to the PL? or does the
RFNoC core implementation allow a RFNoC block to interact with an
application on the PS via the AXI interface?
Regards,
Sakthi
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
You should be able to run UHD-using applications on the ARM on the
X410, just like any of the other platforms that provide
an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
typically (I don't know for sure on the X410), and they
cannot be expected to provide high-bandwidth sample streams
into/out-of the radio.
I don't know whether the Python API for UHD is installed by default
on the X410 system image, but that would be an
easy pathway to do initial experiments.
Really though, for these high-end boxes, the ARM CPUs exist largely
for housekeeping and logistics management of
the radio, via things like MPM, etc. The fact that they can run
a user application is just kind of a side-effect, and
that application would need to offload nearly-ALL of its actual DSP
work to RFNoC, since these ARM CPUs are not
particularly capable in terms of computational and memory-bandwidth
performance.
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-leave@lists.ettus.com
On 02/01/2025 13:56, Sakthivel Velumani wrote:
> Hi Marcus,
>
> Thanks for the pointers. I am looking to offload all the DSP work to
> the RFNoC and have the CPUs do trivial tasks like sequence generation
> so that I don't have to write HDL for everything. I am still not
> entirely sure of how this can be done but I found a software
> development guide for E310
> (https://kb.ettus.com/Software_Development_on_the_E310_and_E312) which
> looks like something I want to achieve so it's a good start I guess.
>
> Thanks again.
>
> Sakthi
I've also been told that you can build UHD apps directly on the X410--it
has all the tooling like Make, GCC, UHD and other important
libraries already on the system image.
>
> On 1/2/25 13:10, Marcus D. Leech wrote:
>> On 02/01/2025 12:56, Sakthivel Velumani wrote:
>>> Hi,
>>>
>>> I am wondering if the user can run a custom linux application on the
>>> ARM cores that can offload certain tasks to the PL? or does the
>>> RFNoC core implementation allow a RFNoC block to interact with an
>>> application on the PS via the AXI interface?
>>>
>>> Regards,
>>>
>>> Sakthi
>>> _______________________________________________
>>> USRP-users mailing list -- usrp-users@lists.ettus.com
>>> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
>> You should be able to run UHD-using applications on the ARM on the
>> X410, just like any of the other platforms that provide
>> an embedded ARM CPU. HOWEVER, those ARMs are only dual core,
>> typically (I don't know for sure on the X410), and they
>> cannot be expected to provide high-bandwidth sample streams
>> into/out-of the radio.
>>
>> I don't know whether the Python API for UHD is installed by default
>> on the X410 system image, but that would be an
>> easy pathway to do initial experiments.
>>
>> Really though, for these high-end boxes, the ARM CPUs exist largely
>> for housekeeping and logistics management of
>> the radio, via things like MPM, etc. The fact that they *can* run
>> a user application is just kind of a side-effect, and
>> that application would need to offload nearly-ALL of its actual DSP
>> work to RFNoC, since these ARM CPUs are not
>> particularly capable in terms of computational and memory-bandwidth
>> performance.
>> _______________________________________________
>> USRP-users mailing list -- usrp-users@lists.ettus.com
>> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-leave@lists.ettus.com
PK
Piotr Krysik
Sun, Jan 5, 2025 10:53 AM
Hi Sakthivel,
As Marcus said you can run compilation of C++/UHD programs directly on
USRP X410 as it has all what is needed.
If you need a setup that is easier to integrate with DevOps you can
generate SDK for use on your PC using infrastructure provided by yocto.
How to do that I've written in another thread ("KAS kirkstone build of
ni-titanium-rev5 on x410 with Vitis-AI ..."). As it was very long I'll
repeat the description here (for it to work you need to have docker and
git installed):
mkdir top_directory
chmod 777 top_directory
cd top_directory
git clone https://github.com/EttusResearch/meta-ettus.git
docker run --rm -it -w "$PWD" --mount
type=bind,source="$PWD",target="$PWD"
--net=host
--security-opt seccomp=unconfined
ghcr.io/siemens/kas/kas:4.0
bash -c "sudo apt update ; sudo apt install -y zip &&
./meta-ettus/contrib/kas_build_imgs_package.sh x4xx v4.7.0.0"
Then you can manually build sdk:
docker run --rm -it -w "$PWD" --mount
type=bind,source="$PWD",target="$PWD"
--net=host
--security-opt seccomp=unconfined
ghcr.io/siemens/kas/kas:4.0
bash
sudo apt update
sudo apt install -y zip
. oe-core/oe-init-build-env
bitbake gnuradio-image -cpopulate_sdk
This will produce an installer. You need to run it and install the SDK
somewhere.
Assuming it is installed in /opt/oecore-sdk before running
cross-compilation for USRP X410 with help of cmake you need first to
source the SDK's environment variables with following command:
source /opt/oecore-sdk/environment-setup-aarch64-oe-linux
Best Regards,
Piotr Krysik
W dniu 3.01.2025 o 00:27, Marcus D. Leech pisze:
On 02/01/2025 13:56, Sakthivel Velumani wrote:
Hi Marcus,
Thanks for the pointers. I am looking to offload all the DSP work to
the RFNoC and have the CPUs do trivial tasks like sequence generation
so that I don't have to write HDL for everything. I am still not
entirely sure of how this can be done but I found a software
development guide for E310
(https://kb.ettus.com/Software_Development_on_the_E310_and_E312)
which looks like something I want to achieve so it's a good start I
guess.
Thanks again.
Sakthi
I've also been told that you can build UHD apps directly on the
X410--it has all the tooling like Make, GCC, UHD and other important
libraries already on the system image.
Hi Sakthivel,
As Marcus said you can run compilation of C++/UHD programs directly on
USRP X410 as it has all what is needed.
If you need a setup that is easier to integrate with DevOps you can
generate SDK for use on your PC using infrastructure provided by yocto.
How to do that I've written in another thread ("KAS kirkstone build of
ni-titanium-rev5 on x410 with Vitis-AI ..."). As it was very long I'll
repeat the description here (for it to work you need to have docker and
git installed):
----------------------------------------------------------------------------------
mkdir top_directory
chmod 777 top_directory
cd top_directory
git clone https://github.com/EttusResearch/meta-ettus.git
docker run --rm -it -w "$PWD" --mount
type=bind,source="$PWD",target="$PWD"
--net=host
--security-opt seccomp=unconfined
ghcr.io/siemens/kas/kas:4.0
bash -c "sudo apt update ; sudo apt install -y zip &&
./meta-ettus/contrib/kas_build_imgs_package.sh x4xx v4.7.0.0"
# Then you can manually build sdk:
docker run --rm -it -w "$PWD" --mount
type=bind,source="$PWD",target="$PWD"
--net=host
--security-opt seccomp=unconfined
ghcr.io/siemens/kas/kas:4.0
bash
sudo apt update
sudo apt install -y zip
. oe-core/oe-init-build-env
bitbake gnuradio-image -cpopulate_sdk
----------------------------------------------------------------------------------
This will produce an installer. You need to run it and install the SDK
somewhere.
Assuming it is installed in /opt/oecore-sdk before running
cross-compilation for USRP X410 with help of cmake you need first to
source the SDK's environment variables with following command:
source /opt/oecore-sdk/environment-setup-aarch64-oe-linux
Best Regards,
Piotr Krysik
W dniu 3.01.2025 o 00:27, Marcus D. Leech pisze:
> On 02/01/2025 13:56, Sakthivel Velumani wrote:
>> Hi Marcus,
>>
>> Thanks for the pointers. I am looking to offload all the DSP work to
>> the RFNoC and have the CPUs do trivial tasks like sequence generation
>> so that I don't have to write HDL for everything. I am still not
>> entirely sure of how this can be done but I found a software
>> development guide for E310
>> (https://kb.ettus.com/Software_Development_on_the_E310_and_E312)
>> which looks like something I want to achieve so it's a good start I
>> guess.
>>
>> Thanks again.
>>
>> Sakthi
> I've also been told that you can build UHD apps directly on the
> X410--it has all the tooling like Make, GCC, UHD and other important
> libraries already on the system image.
>