HLS

21Q1.01B

自作回路を PYNQ につなぐ様々な方法 (5)

自作回路を PYNQ から使うための設計・開発法に関するコースの最終回になります。今回の設計も、対象のアプリケーションがステンシル計算であること、IP コアがフル機能の AXI をもつ場合を取り上げることは変わりません。異なるのは、IP コアを Vitis HLS (2019.2 以前の Vivado では Vivado HLS とよばれていました) による高位合成で作成する点です。 本コースで使用したハードウェア記述 (一部ソフトウェアも含む) は、GitHub リポジトリ上で公開して...
21Q1.04A

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

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

はじめまして。 AVNET 仲見です。ここでは XILINX 社が Release している統合開発環境の Vitis という Tool の概要、構築するための Flow についてご紹介いたします。 XILINX 社の Tool はどんなものがあるの? まずはじめに、XILINX 社が現在 Release している Tool について Hardware、Software のそれぞれの開発では以下が用意されています。 Hardware 開発 Vivado Design S...
20Q3.02A

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

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

高位合成で加速するアクセラレータ開発 (4) ~ HLS によるシストリックアレイの実装

はじめに このコースでは、高位合成を活用したアクセラレータ開発に関して、その考え方やフローを、事例を交えながら解説していきます。今回は、浮動小数点行列の積を計算するシストリックアレイの実装を紹介します。 まずは行列積についておさらいします。行列 A、B を1024行、1024列の行列とします。 行列 A、B の行列積を C とします。C も1024行、1024列の行列です。C のそれぞれの要素は A の行ベクトルと B の列ベクトルの内積となり、次の式で表され...
20Q3.02A

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

目次 2. アーキテクチャの検討 2-1. FPGA 優位のデザインパターンと典型問題 ■ 高性能アーキテクチャの鉄則 ■ タスク “内” の並列性と課題 ■ タスク “間” の並列性と課題 ■ HLS-C で表現できないケース 2-2. 実装品質の限界まで求められるケースも 2-3. そもそもハードウェア化すべきなのか? Coffee Break. 最終形は 「ML+X」 over 「AIE+PL」 かも?...
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 (2)

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