Vitis

21Q1.04A

HPC アプリを FPGA 上で加速! (2) CG 法の FPGA への移植

みなさん、こんにちは。広島市立大学の窪田です。1回目のブログでは、「HPC アプリを...」というタイトルにもかかわらず、Vitis の template しか扱いませんでしたが、今回は、HPC アプリとして連立一次方程式の求解法である CG 法を取り上げ FPGA 向けに移植する手順を説明します。通常の CPU で動作する逐次版と FPGA へ移植したバージョンを github から取得できるようにしています。C/C++ 言語のプログラムを最小限の変更で Xilinx の FPGA 向けに移...
21Q1.04A

HPC アプリを FPGA 上で加速! (1)

みなさん、こんにちは。広島市立大学の窪田と申します。今回、ACRi ブログを執筆する機会をいただきましたので、高位合成ツールである Xilinx Vitis を使って連立一次方程式の求解法である Conjugate Gradient (CG) 法を FPGA で動かす例題を使って、ソフトウェアの FPGA への移植について説明します。 はじめに 私自身は、主に HPC 向けのソフトウェアや並列化コンパイラを研究、開発してきたのですが、最近は FPGA を使った処理の高速化にも手を広...
20Q4.01A

Vitis を用いたアクセラレータの開発 (5) Vitis Library, Vitis AI とは?

前回までは、Vivado や PetaLinux を使用して Vitis Target Platform の作成、そして Acceleration Application の構築までの一連の流れを簡単にご紹介しました。今回は最終回となる、Vitis Library や Vitis AI Solution についてご紹介いたします。 Vitis Library Vitis には Software の記述を FPGA に置き換えて高速化することが可能な Tool です。ですが、初めての...
20Q4.01A

Vitis を用いたアクセラレータの開発 (4) Acceleration Application 実装編

「Vitis Target Platform SW構築編」の記事で、PetaLinux を使った SW Component 構築方法について紹介しました。4回目となる今回は Vitis 2019.2 を利用して、Vitis Target Platform および Acceleration Application の構築方法をご紹介します。 Vitis Target Platform Tool Flow まず Tool Flow の復習ですが、Vitis での Acceleratio...
20Q4.01A

Vitis を用いたアクセラレータの開発 (2) Vitis Target Platform HW 構築編

前回の「Vitis とは?」の記事で、Vitis の Tool について紹介しました。2回目となる今回は Vivado 2019.2 を利用して Vitis Target Platform の作成「Hardware 編の Flow」をご紹介します。 HW Component Tool Flow まずは前回の復習ですが、Vitis での Acceleration Application の Tool Flow は以下の図のよう4つの Step があります。 今回は上図の...
20Q3.02A

高位合成で加速するアクセラレータ開発 (5) ~ 高位合成と C ベース設計 3章

高位合成と Alveo を使い、ビジネスとして成立するレベルのアクセラレータを短期間で開発するために、開発フロー全体の中に C ベース設計をどう位置付ければいいのか、考えていきます。
20Q3.02A

高位合成で加速するアクセラレータ開発 (2) ~ 高位合成と C ベース設計 1章

すべての現象は他のものに依存して名前を与えられたことによって生じ、存在しているダライ・ラマ十四世 「空の智慧、科学のこころ (集英社新書)」より(共著 : 茂木健一郎) 高位合成と C ベース設計 ~はじめに 皆さん、はじめまして。Xilinx で FPGA を含む HW/SW の高位設計およびツールフローを担当している、黒田と申します。今回 Xilinx からの第3期ブログ連載 (全5回) の3回分を使い、対象がエンベか?/サーバーか?にかかわらず、高位合成 (High-Leve...
20Q3.02A

高位合成で加速するアクセラレータ開発 (1) ~ ACRi ルームで体験してみよう

この記事では、ACRi ルーム と PYNQ で、高位合成を使った FPGA 開発フローを「超」お手軽に体験してみましょう。C と Python しか出てきませんので FPGA 初心者の方もご安心ください。
20Q1.03B

AWS F1 で始めるサーバーサイド FPGA (5)

はじめに 連載の最終回となる今回は、ハードウェアを設計しない方にも理解しておいていただきたい、FPGA アクセラレータの性能に関する基本的な考え方を説明します。また、これを踏まえて前回の記事で動作させた Deflate アクセラレータの性能向上を図ってみます。 アクセラレータの鉄則 前回の記事では、Vitis ライブラリの Deflate アクセラレータを AWS F1 上で動かし、CPU と比べておよそ3.6倍の高速化を確認しました。確かに速くはなったのですが、FPGA を...
20Q1.03B

AWS F1 で始めるサーバーサイド FPGA (4)

このコースの前の記事はこちら はじめに この連載では、Amazon EC2 F1 インスタンスの FPGA を使ってアクセラレーションを体験してみます。これまでの記事では準備編として FPGA 開発環境や F1 インスタンスの立ち上げ方法を紹介しました。この記事ではいよいよ FPGA を動かしてみます。 Vitis ライブラリ 今回はザイリンクスがオープンソースで提供する Vitis ライブラリを利用して、FPGA によるアクセラレーションを体験します。 ...
20Q1.03B

AWS F1 で始めるサーバーサイド FPGA (3)

はじめに この連載では、Amazon EC2 F1 インスタンスの FPGA を使ってアクセラレーションを体験してみます。今回は F1 インスタンスを立ち上げて、FPGA 開発環境である Vitis を起動するまでをチュートリアル形式で紹介します。 Amazon EC2 F1 インスタンス F1 インスタンスでは、ザイリンクス製 FPGA の中でも大規模な Virtex UltraScale+ VU9P が利用できます。使用する FPGA の個数は 1 個、2 個、8 個 (...
20Q1.03B

AWS F1 で始めるサーバーサイド FPGA (2)

このコースの前の記事はこちら はじめに この連載では AWS F1 サービスを題材に FPGA を使ったアプリケーションのアクセラレートを体験してみる予定です。手を動かし始める前の準備として、この記事では FPGA アクセラレータの開発環境を紹介します。 FPGA の開発と聞くと、Verilog などのハードウェア記述言語を習得しないといけないと思われるかもしれませんが、実は C++ だけで FPGA アクセラレータを開発できる環境が整っています。C++ で 記述できるとはい...
タイトルとURLをコピーしました