HPC

21Q1.04A

HPC アプリを FPGA 上で加速! (5) 高速化と大規模化

このブログも今回で最終回となります。このブログの第2回から第4回まで、係数行列が16×16の比較的小規模な連立一次方程式を扱ってきました。これを小規模な FPGA である Ultra96-V2 で上で高速化してみます。また、大規模な係数行列への対応も検討してみます。今回使ったプログラムも github 上の solver/cg/ocl_unroll, solver/cg/ocl_r16_spmv, solver/cg/ocl_large においてありますので参考にして下さい。 小規模な問...
21Q1.02B

FPGA for HPC:宇宙物理アプリケーションをマルチ FPGA で高速化 (5)

このコースもいよいよ最終回となりました。最後は、宇宙物理アプリケーションの支配的な処理である ART 法を加速する FPGA アクセラレータの性能が FPGA の台数に応じてどのようにスケーリングしていくかを評価していきます。 性能評価 評価環境 本論文では、FPGA アクセラレータの実行性能を GPU の実行性能と比較しながら性能評価を行っています。そのためのプラットフォームとして、計算科学研究センター (以下、当センター) で稼働している以下の 2 つの HPC システム...
21Q1.04A

HPC アプリを FPGA 上で加速! (4) Ultra96-V2 での実行

前回までは Alveo U50 上で Vector Add の template や CG 法のプログラムを実行しましたが、今回はエンベデッドプラットフォームと呼ばれる ZCU102, ZC706, Ultra96-V2 などで CG 法のプログラムを実行してみます。 なお、このブログの第2回でも少し触れたのですが、Vitis 2020.2 では、実機の Hardware での実行と Emulation-SW でのエミュレーションの演算結果が異なることがあるようです。そのため、今回のブロ...
21Q1.02B

FPGA for HPC:宇宙物理アプリケーションをマルチ FPGA で高速化 (4)

第4回目のこの記事では、ART 法の並列計算をマルチ FPGA に展開するために、第2回目の記事で紹介した宇宙物理アプリケーションの支配的な処理である ART 法の FPGA アクセラレータに、前回の記事で紹介した OpenCL プログラミングを用いた並列 FPGA 処理システムである CIRCUS をどのように適用するかを紹介します。 ART 法アクセラレータをマルチ FPGA 上に実装 概要 第2回目の記事のおさらいですが、ART 法の実装は複数の PE を Channe...
21Q1.02B

FPGA for HPC:宇宙物理アプリケーションをマルチ FPGA で高速化 (3)

本連載も第3回目となり折り返し地点に差し掛かってきました。前回の記事では、ART 法のハードウェアアクセラレータは、複数の FPGA に跨がった巨大な演算クラスタを構築できるような設計コンセプトで実装されていることを説明しました。今回の記事では、計算科学研究センター (以下、当センター) にて研究開発された、複数の FPGA を利用した並列計算の実現の根幹を成す FPGA 間通信技術について紹介していきます。この研究成果は論文として出版されており、この通信技術について詳細に知りたい方は、そちら...
21Q1.04A

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

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

FPGA for HPC:宇宙物理アプリケーションをマルチ FPGA で高速化 (2)

前回の記事では、宇宙物理アプリケーションになぜ FPGA を利用しようと考えるに至ったかについて紹介しました。2 回目となる今回は、宇宙物理アプリケーションの支配的な処理である ART 法 (前回の記事参照) のハードウェアアクセラレータをどのように FPGA に実装していくかをご紹介します。 FPGA-based ART accelerator 実装の概要 1 FPGA に実装される ART 法のハードウェアアクセラレータ。各 Processing Element (PE)...
21Q1.04A

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

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