As all you know, in recent years, Xilinx announced and iterated a unified software platform called Vitis™, aiming to put all software in one platform. The platform of Vitis brings a revolution to FPGA developers, even the developers who lack hardware knowledge.
The architecture of Vitis™ Unified Software Platform includes:
Vitis provides plenty of development kits and libraries to accelerate applications in many industries easier than traditional FPGA flow. Meanwhile, it is also very friendly to those developers who have a good software development experience based on CPU or GPU, using C/C++ and Python. Many CUDA-like libraries have been covered in Vitis libraries allowing developers to migrate their designs efficiently.
So, let's dive in why you choose Xilinx to accelerate your applications!
Vitis Accelerated Libraries are a series of open-source, performance-optimized libraries that offer out-of-the-box acceleration with minimal to zero-code changes to your existing applications, written in C, C++, or Python. Leverage the domain-specific accelerated libraries as-is, modify them to suit your requirements or use them as algorithmic building blocks in your custom accelerators.
As shown in the figure above, Vitis libraries include three parts, common libraries, domain-specific libraries, and partner libraries. There are many basic libraries provided by common Vitis accelerated libraries, including Math, Statistics, Linear Algebra, and DSP. It offers a set of the core functionality for a wide range of diverse applications.
Domain-specific libraries provide out-of-the-box acceleration for many specific applications, such as Vision and Image Processing, Quantitative Finance, Data Science (Database, Data Analytics, and machine learning), Data Compression, Data Security, and so on.
Benefiting from huge of third-party ecosystems, Vitis libraries contain many partner libraries as well that can make your product easier to build. Because of the Vitis Libraries, Xilinx can cover almost all industry applications and achieve a perfect algorithm acceleration.
Let's dive into the features and performance of Vitis Libraries!
Vitis Database Library is an open-sourced Vitis library written in C++ for accelerating database applications in a variety of use cases. The main target audience is SQL engine developers, who want to accelerate the query execution with FPGA cards. The highlight features are shown below.
Leveraging the database library, you can easily offload your applications from CPU to FPGA using your familiar programming language, C++. For more details regarding Vitis Database Library, see here.
Furthermore, you can also cooperate with Xilinx ecosystem partners to implement your application efficiently. The information about the partner is shown below.
BigZetta is committed to providing acceleration for your mission-critical computations which will enable you to finish tasks quickly as well as save on hardware costs. BigZetta has augmented Hive with FPGA-based acceleration, which has demonstrated speedups of more than 4x over several TPCH benchmark queries. Several TPCH benchmark queries were run with default Hive and one augmented with bzQAccel (BigZetta FPGA solution) based on CPU and Xilinx Alveo accelerator cards.
As shown in the figure above, the performance across all queries accelerated by FPGA is more than 4 times better than the default Hive. For more details, see here.
Xilinx has offered a great ecosystem for Database solutions. Based not only on Vitis Database libraries but also on powerful partners, developers can realize your algorithms and applications with minimal to zero-code changes and get an impressive performance versus default platforms.
Vitis Data Analytics Library, an open-sourced library written in C++, provides plenty of APIs for accelerating data analytics applications. The key features are shown below.
Data Mining is a famous application in the data analytics field. There are many relevant APIs covering machine learning algorithms, like decision tree, random forest, native Bayes and SVM, as well as Clustering algorithms, like K-means.
For unstructured information extraction and transformation, the Data Analytics library offers a series of Text Processing APIs to accelerate it. A complete demo has been provided to show batch transform Apache HTTP server log into structured JSON text.
Data Analytics library can also support many data frames to address data acquire and import. Apache Arrow, a popular data frame, has been supported along with CSV and JSON parse. For more details regarding the Data Analytics library, see here.
Vitis Quantitative Finance Library is an open-sourced library designed to provide a comprehensive FPGA acceleration library for quantitative finance. The key features are shown below.
Xilinx also completed the STAC-A2 Benchmark tests on a stack consisting of Xilinx Vitis Unified Software Platform 2020.2 with eight Xilinx Alveo U250 FPGA cards in a BOXX GX8-M server. STAC-A2 is the technology benchmark standard based on financial market risk analysis. Designed by quants and technologists from some of the world's largest banks, STAC-A2 reports the performance, scaling, quality, and resource efficiency of any technology stack that is able to handle the workload (Monte Carlo estimation of Heston-based Greeks for a path-dependent, multi-asset option with early exercise). The highlight of the Xilinx STAC-A2 report are presented below.
As shown in the chart above, compared to the benchmarked solution using CPUs (SUT ID INTC190903), Xilinx system:
As indicated in the chart above, compared to the benchmarked solution using GPUs (SUT ID NVDA200909), Xilinx system:
Because of Vitis Quantitative Finance Library, Xilinx achieved an impressive performance based on a series of Xilinx Alveo acceleration cards in STAC-A2 report. It shows that Xilinx could implement your Quantitative Finance applications efficiently. More details regarding Quantitative Finance library, see here.
Vitis Graph Library is an open-sourced Vitis library written in C++ for accelerating graph applications in a variety of use cases, which now has supported many algorithms, such as Similarity analysis, Community Detection and Search. The key features are shown below.
Similarity analysis: Cosine Similarity, Jaccard Similarity, k-nearest neighbor.
All these supported algorithms can be accelerated by Xilinx Alveo acceleration cards. Using the Vitis Graph Library, you can realize algorithms with your familiar programming languages, C++, and achieve a great performance versus traditional CPU approaches.
Besides this, you can cooperate with the partners in the Xilinx ecosystem as well. The partner information is shown below.
TigerGraph leading scale-out graph database provides a complete, distributed, parallel graph computing platform supporting web-scale data analytics in real-time and enables you to drill down deep into member data without sacrificing performance. The highlight features of TigerGraph solution are shown below.
TigerGraph, accelerated with Xilinx Alveo U50 cards and based on the massively parallel processing capability of FPGA architecture, offers superior results for computing cosine similarity calculations.
As shown in the figures above, eight Xilinx Alveo U50s, mounted in a single 2U HPE DL385 Gen10 Plus server featuring industry-leading EPYC CPUs, deliver the same performance as 40 Intel CPU based servers, with 95% lower TCO.
There is a series of comparisons shown by the above figures. When the database size is 8 million, one Xilinx Alveo U50 card has a 100 times better acceleration performance of Cosine Similarity than 2x Intel(R) Xeon(R) 48 cores CPU. Additionally, increasing database size to 40 million, there is 300 times upper of performance versus CPU based on 5 Xilinx Alveo U50 cards. This is because a bottleneck occurs when memory bandwidth is limited. More details, see here.
Vitis Codec Library is an open-sourced Vitis library written in C++ for accelerating image applications in a variety of use cases. The key features are shown below.
Vitis Codec Library provided a great acceleration performance compared to CPU. The below figure described a benchmark between Xilinx Alveo cards and 1 thread CPU.
The chart shows that the PIK encoder outperforms the CPU approach by more than 10 times, while the Jpeg decoder achieves an impressive more than 100 times acceleration rate. At this high performance, the throughput is also high quality. Based on Xilinx Alveo card U200, the throughput of PIK encoder is greater than 60 MB/s when input format is RGB444, while the throughput of Jpeg decoder is higher than 10 GB/s when input YUV444 format images.
Those high-level APIs included in the Vitis Codec Library are easy to use. You can build your design by coding C++ and get a great performance without any hardware and FPGA knowledge. More details, see here.
Besides those Vitis acceleration libraries we mentioned above, which provide APIs to accelerate the industry algorithms, some solutions have been released, focusing on a certain application.
Xilinx Vitis™ Blockchain Solution based on the Vitis Ethereum Mining Library which is an open-source Vitis Library written in C++ to mine coin of Ethereum using Xilinx Alveo cards. The highlight features are shown below.
Leveraging the Ethereum Mining Library and the Xilinx Alveo cards, you can easily achieve superior performance compared to the most famous devices nowadays.
As shown in the figure above, compared with Nvidia HX series cards, the Xilinx U50C card gets an average of two times better performance per watt, which is an extremely competitive EThash acceleration effect. For more details regarding Xilinx Vitis™ Blockchain Solution, see here.
Xilinx’s Anti-Money Laundering (AML) Watch List Management (WLM) Compute Solution enables financial institutions and government agencies to detect, enforce, and prohibit fraudulent transactions in real-time, minimizing risk and preventing revenue loss. The key features are shown below.
This application has shown its capabilities in multiple cases. In a POV with a European Bank, the Real-Time AML WLM Compute Solution was able to reduce infrastructure costs by more than 90% versus the best alternative solution.
In addition, reducing response time and hastening resolution is key for improving NPS. The Association of Certified Anti-Money Laundering Specialists (ACAMS) concluded that 30% of alerts take more than 30 minutes and 10% take more than an hour to close. Xilinx can reduce the response times by 650 times, leveraging Vitis accelerated libraries and FPGA devices. For more details regarding the Xilinx AML solution, see AWS and on-premises.
Let's get started!
4. You can find all the libraries mentioned on the left of the page. Every Library has a separate page to show the details. As an example, if you click the Vitis Database Library button, you will find the page below.
5. You can see the information on the left of the page, including an overview, user guide, and benchmark results. Select any one to see the details.
If you are familiar with GitHub, you also can find the Vitis Libraries on GitHub.
6. Lastly if you need any help, visit the Xilinx forum to get further help, see the community forum.!
Eddie Wu is a Sr. Product Marketing for Vitis SW Acceleration in AMD Software & AI marketing team. Eddie has been working in FPGA field for more than 8 years. He has a great experience of marketing and technical support in vertical industries, such as Automotive, ISM, Fintech, and Data center, as well as has expertise in AI, software acceleration and heterogeneous computing with AMD FPGA, GPUs, and ASIC.