Slide 1

Slide 1 text

ACRiルームにAMD GPUを入れた話 ACRiルーム副室長/AMD 安藤 ©︎ 2024 Adaptive Computing Research Initiative - ACRi 1 fpgax #14 LT

Slide 2

Slide 2 text

fpgax #14 ACRi ルーム ©︎ 2024 Adaptive Computing Research Initiative - ACRi 2 Alveo / VCK5000 Professors ACRi Founders • Digilent社 Arty A7-35T カード • 1サーバにArtyを15枚接続 • ユーザ毎にVMを割り当て ルーム FPGA Server • CPU: Core i9 (8 core /16 thread) • メモリ: DDR4 128GB (32GB x 4) • ストレージ: SSD M.2 1TB x2 • 開発環境インストール済み Arty A7-35T • 3時間単位で機材を無償で貸出し • リモートからアクセスして利用するスタイル • Forumを通じて大学教員やACRi企業が技術支援を実施 • Xilinxアクセラレータカード • Alveo U50 / U200 / U250 / U280 / VCK5000 Alveo Arty ACRi 参加企業 一般企業 学生 若手技術者 Start-up企業 技術力向上 テスト利用 技術力向上 のため 技術力向上 テスト利用 Instinct • AMD Instinct GPU • MI210 64GB

Slide 3

Slide 3 text

fpgax #14 AMD Instinct MI210 • スペック概要 ©︎ 2024 Adaptive Computing Research Initiative - ACRi 3 大容量のVRAMを積んでいるので 生成AIで遊ぶのに良さそう! ACRiルームでMI210が使えるようになる までの話をします

Slide 4

Slide 4 text

fpgax #14 インストールの準備(冷却) • MI210はファン無しなので冷却ファンを作る • ACRiルームにラックサーバーはありません ©︎ 2024 Adaptive Computing Research Initiative - ACRi 4 1. ファンを取り付けるアダプタを印刷 2. ちょうど良いねじ穴にねじ止め 3. ファンを装着

Slide 5

Slide 5 text

fpgax #14 インストールの準備(電源) • MI210の補助電源はATX12V( EPS12V ) • PCIe補助電源を無理に挿すと壊れます • マザーボード向けを1本 MI210に ©︎ 2024 Adaptive Computing Research Initiative - ACRi 5 マザーボード 電源ユニット ATX12V ATX12V MI210 PCIe補助電源コネクタに見えるが 微妙にピンの形が違う

Slide 6

Slide 6 text

fpgax #14 インストールの準備が完了 ©︎ 2024 Adaptive Computing Research Initiative - ACRi 6 自宅での検証の様子。PCケースが小さくて入らなかった

Slide 7

Slide 7 text

fpgax #14 ACRiルームの仕組み(Alveo系サーバーの場合) ©︎ 2024 Adaptive Computing Research Initiative - ACRi 7 aservX(物理ホスト) CPU:16 threads Mem:128GB as00X(コンテナ) CPU:8 threads Mem:64GB ファイル サーバー ファイル サーバー /dev/xclmgmt* /dev/dri/renderD* /dev/xfpga/* /dev/xvc_* /scratch /opt/xilinx/platforms /home/$USER /tools NFS NFS Local SSD ssh xrdp 認証 予約 サーバー ログイン サーバー 認証 サーバー Alveo start_container.sh cron 毎分実行 起動/停止/削除 参照 マウント NIS ユーザー

Slide 8

Slide 8 text

fpgax #14 利用環境内でDockerが使える仕組み • 従来の利用環境はDockerで構築 • Docker内でDockerを動かせるようにするには特権モードが必要 • Rootless Docker in LXD • LXDはシステムコンテナ • コンテナ内でsystemdが動き、仮想マシンのように使える • Ansibleでコンテナ内にデスクトップ環境を構築 • Rootless Dockerはユーザー権限で実行するDocker • ユーザーが自由にコンテナを使用できる ©︎ 2024 Adaptive Computing Research Initiative - ACRi 8 ホスト LXD Rootless Docker Vitis AI等 PCIeデバイス 利用環境

Slide 9

Slide 9 text

fpgax #14 利用環境内でDockerが使える仕組み • LXDのidmap設定で一般ユーザーのUID/GIDを一致 • ホストにマウントされたNFSに利用環境からアクセスできる • Rootless Dockerコンテナ内の一般ユーザーには未使用のUID/GIDを割り当てる ©︎ 2024 Adaptive Computing Research Initiative - ACRi 9 ホスト LXD Rootless Docker Vitis AI等 利用環境 root root ??? user-a user-a user-b user-b root UID idmap user-c ??? ??? /etc/subuid /etc/subgid ??? ??? group-d GID

Slide 10

Slide 10 text

fpgax #14 コンテナ内でAMD GPUを利用する • ROCm • 一般ユーザーが使うにはvideo/renderグループに属している必要あり • ホストのGIDをRootless Dockerコンテナまでつなげる ©︎ 2024 Adaptive Computing Research Initiative - ACRi 10 ホスト LXD Rootless Docker Vitis AI等 利用環境 root root ??? user-a user-a user-b user-b root UID idmap user-c ??? ??? /etc/subuid /etc/subgid ??? ??? group-d video video video render render render GID idmap

Slide 11

Slide 11 text

fpgax #14 生成AIを動かしてみる • ROCm Blogs • 週1以上のペースでAIを中心としたGPU活用の記事を配信 • vLLMを動かす記事を試してみた • Rootless Dockerを使ってvLLMのDockerイメージの作成、動作に成功 ©︎ 2024 Adaptive Computing Research Initiative - ACRi 11 https://rocm.blogs.amd.com/artificial-intelligence/openllm/README.html

Slide 12

Slide 12 text

fpgax #14 生成AIを動かしてみる • CyberAgentLM3-22B-Chat • 7/9プレスリリース • 22Bパラメータ(45GB) • MI210なら量子化なしでOK • vLLMで16リクエストを同時処理 • 計約160 tokens/sec ©︎ 2024 Adaptive Computing Research Initiative - ACRi 12 FPGAのエクストリームな使い方を聞いてみています

Slide 13

Slide 13 text

fpgax #14 チュートリアル作りました • AIモデルをMI210で学習、VCK5000で推論 • https://gw.acri.c.titech.ac.jp/wp/manual/vitis-ai-rocm ©︎ 2024 Adaptive Computing Research Initiative - ACRi 13 PyTorch Lightningで学習 Vitis AIコンテナで量子化、コンパイル AI Engineで推論

Slide 14

Slide 14 text

fpgax #14 まとめ • ACRiルームにMI210が入りました • それなりに大きなモデルも動きます • 遊んでみてください ©︎ 2024 Adaptive Computing Research Initiative - ACRi 14

Slide 15

Slide 15 text

fpgax #14 ©︎ 2024 Adaptive Computing Research Initiative - ACRi 15

Slide 16

Slide 16 text

fpgax #14 ACRi 参加団体(2024年6月) ©︎ 2024 Adaptive Computing Research Initiative - ACRi 16