Xilinx Sd Card

0 views
Skip to first unread message

Nelida

unread,
Aug 4, 2024, 4:05:53 PM8/4/24
to petpwitchpreden
Whilethe Alveo U250 accelerator card is actively being supported for current users, AMD recommends that all new designs target the Alveo V80 compute accelerator card. Contact an AMD product specialist for any questions.

Certain AMD technologies may require third-party enablement or activation. Supported features may vary by operating system. Please confirm with system manufacturer for specific features. No technology or product can be completely secure.


Accelerate your streaming workflows with our turnkey software developers kit (SDK). Access the tools, APIs, and high-level FFmpeg frameworks, GStreamer, or your own proprietary framework via C/C++ APIs and get up and running in just one day.


The U30 Video SDK is a complete software stack allowing users to seamlessly leverage the hardware accelerated features of Alveo U30 cards for on-premises or cloud deployments. It includes the following elements:


They can deliver up to 30% lower cost per stream compared to Amazon EC2 G4dn GPU-based instances and up to 60% lower cost per stream compared to Amazon EC2 C5 CPU-based instances for transcoding live video streams.


Card installation consists of intalling the card into a server and software installation. The installation steps for both are provided in the respective card installation guide. Links to various guides are given in the table below. The Alveo landing page provides additional card details along with links to software installation downloads.


I'm using a Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit. I want to run a C++ program in the Xilink SDK tool(running on a Windows machine) that can do Filo I/O operations on a binary file stored in the SD card in the Zync board. I have the command line tool(xsct) setup. My questions are as follows:


Edit: The following Xilinx thread suggests that no mounting procedure is required. In this case, I'd like to know how the SD card drive can be identified and the information about the files contained therein can be displayed in the XCST terminal.


Abstract: Today, a key element of Open RAN networks is the possibility to offload a part of the computationally expensive processing to dedicated hardware. Several hardware manufacturers are currently bringing such hardware to the market. One example is Xilinx with its T1 telco accelerator card. This is an OpenAirInterface 5G NR End-to-End demo with COTS UE accelerated by offloading channel decoding on the Xilinx T1 card. In this demo, a video stream is sent from one UE and is played on the second UE.


Hongzhi Wang has 20 years of work experience with wireless communications systems. He is a Senior Software Engineer specializing in Physical layer development for 3GPP standards. Hongzhi worked on the OAI 4G and 5G UE development from 2017-2020, and he joined the OSA from 2021 and works now on the integration of Xilinx T1 offload into OAI.


LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.


I've had quite a bit of good feedback on the article I wrote on using Alveo cards in a KVM environment. As I just received my new custom build workstation (including an amazing AMD Ryzen 9 3900XT, and the Gigabyte X570 AORUS MASTER X570 motherboard!) I wanted to configure that machine for such kind of tests as well.


I started with the installation of Ubuntu 20.04 (hey, it's a new machine, I don't want to install an old OS). That went smoothly (and super fast!). I then installed a CentOS 8.2 as well on my machine, as that's a common OS for Xilinx tools, demo's etc. And lastly, I went ahead and installed Windows 10 as well - I need a way to manipulate all the cooling fans in my Corsair Crystal 680X RGB case :)!


During this whole installation process, and multiple reboots that come along with it, switching OSs, booting from USB sticks, etc, I found a tool rEFInd that is very useful and made my life a lot easier. This tool allows you to dynamically detect the installed operating systems on your machine, and boot into them easily. No more messing around with GRUB configuration files etc!


Back to Ubuntu 20.04 - my main OS. One of the use-cases for this machine is to be able to quickly test different Alveo cards. I currently have a U50, U30 and a U200. Another use-case is to be able to test example designs, create reference designs, test customer designs, using different versions of our tools, running on different linux distributions. With the work I've previously done with KVM, this should be much easier to achieve without having to re-install this machine, or work with a bunch of external USB disks. So I went ahead and drank my own Kool-Aid following that guide once again. I discovered a couple of issues related to the newer Ubuntu version I'm using now. I will be updating that article to reflect those, but have already fixed the referenced scripts which are now also available on my github site:


I then created a test VM with Ubuntu 18.04 where I installed the Vivado 2020.1 tools which I needed to rebuild a reference design for the U50. The screenshot shows Vivado 2020.1, running in a Ubuntu 18.04 guest, on a Ubuntu 20.04 host, using the U50 directly via PCIe pass-through. All of this visualized through a VNC connection from my Windows machine!


After going through a couple of iterations of installing a VM, configuring that VM, configuring the guest os, installing tools, etc, I came up with a couple of configuration options that made my life a bit easier, so I'm sharing them here:


Something I quickly configured on my host, is an NFS server. This allows me from my guests to access this shared folder, without using the 'Shared Folder' feature of the virtualization software. I find this much more convenient and easier to use, while having good performance. Another advantage is that the setup is the same for a virtual machine and for an actual host on my network. I haven't had any issues performance wise or anything else.


I'm very lucky to have a nice Ultra Widescreen Display with this workstation. I ran into a limitation of the default VM configuration that prevented me of using this whole display without scaling. After a bit of googling, I found that the issue was the amount of vgamem that is assigned by default. Changing this requires modifying an xml file, so I put together a small script that allows me to automate this for a newly created VM.


Playing around with the display settings I also found that virt-viewer also has a windows version available: -manager.org/download/. That allows me to directly connect to my VMs from my Windows machine as well! I already have ssh to my workstation configured, so adding some port forwarding rules to the ports used by the spice server (same as VNC ports, 5901 and onwards) allowed me to display my Virtual Machines remotely! That makes screensharing sessions easier, since my Windows PC has all of the IM tools installed and configured.


When going through the installation process again and again for different distributions and tools versions, I had to go and create a new licenses each time, for each VM. Luckily, the Xilinx tools support floating licenses as well. Following , and some debugging with the help of +license+server+installation, I managed to get my license server up and running on my Ubuntu 20.04 host! Now the only thing I need to do for a VM to have access to that license, is to set the XILINXD_LICENSE_SERVER, and I'm up and running!


One of the issues I ran into when testing multiple configurations, was that my harddisk ran out of free space. I'm very happy to have a very fast M.1 SSD, but even with 1TB in size, creating multiple VMs quickly fills this, especially when installing huge software packages. I'll have to discuss with my manager to get a big (slower) disk in my machine as well, but meanwhile there are a couple of things you can do to improve this situation).


Luckily the default configuration in virt-manager already creates qcow2 disk images that don't preallocate the entire disk at once, but rather allocate as needed. However, when I for example extracted the Xilinx tools to install them on a VM, and deleted that temp folder afterwards, that space isn't recovered. There is a tool called virt-sparsify that is doing exactly this: reduce the VM disk size after you've deleted stuff of that filesystem.


At this point I'm fully up and running with my setup. When I have a need for a custom configuration, be it a different distribution, version, Xilinx tools version, XRT version, etc, I can quickly create a new VM, map all the PCIe cards I want to that machine, and get up and running in minutes. I have a base install of different distributions I regularly use, which I can clone and start customizing immediately!


Even though virtualization with pass-through of PCIe cards is generally something which is used in a datacenter environment, it does provide a lot of benefits to configure this on a local development machine as well. It allows very quickly to change configurations, test flows on a bare OS install, try out different versions of libraries, OSs, tools, etc, without the hassle of reinstalling your machine over and over again.


In theory, looking at the FPGA's specs and what it needs to do, it should totally be possible with a large amount of effort. Now we're starting to see proof, and hopefully materials to help you follow along if retro computing and FPGA programming are your thing.


Created by software engineer Dylan Barrie, FuryGpu is the culmination of four years of work that started as a simple project. Barrie was interested in the idea of making a homemade GPU as his next hobby. "I'd spend a few months making a spinning cube or something, and be done with it," he predicted, according to his account of building the kit.

3a8082e126
Reply all
Reply to author
Forward
0 new messages