自動運転AIチャレンジ2024シミュレーション大会の環境構築メモ(GPU環境)
公式の環境構築のページに沿って、特にトラブルなく立ち上がりました。
私は前回大会の環境があるので、DockerやNVIDIAドライバ等のセットアップは完了しており、ワークスペース作成、Dockerイメージのダウンロード、AWSIM(GPU版)のダウンロードだけで動作しました。
以下、公式環境に沿って自分のインストールメモを残しておきます。
PC環境
OS: Ubuntu 22.04 LTS
CPU: 13th Gen Intel(R) Core(TM) i7-13700F (16コア)
GPU: GeForce RTX 3060 12GB
Memory: 32GB
Storage: 1.0TB
過去大会の環境がインストールされているPCに今回大会の環境をインストールしていきます。
- 過去大会のインストールメモ(参考まで)
ワークスペースのクローン
大会用リポジトリのクローン
ワークスペース用のリポジトリをクローンします。
$ cd ~
$ git clone https://github.com/AutomotiveAIChallenge/aichallenge-2024.git
仮想環境のインストール
Docker、rockerのインストール
Autoware環境のDockerイメージ取得
AIチャレンジで使用するautoware環境のDockerイメージを取得します。
Dockerイメージは10GB程度のサイズがあり、ダウンロードには時間が掛かるため有線LANでのダウンロードを推奨します。
作業前の状況を確認しておきます。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aichallenge-train latest b057863e4e57 6 months ago 7.43GB
ghcr.io/automotiveaichallenge/aichallenge2023-racing/autoware-universe-no-cuda latest b7fdf9678bc2 7 months ago 7.32GB
aichallenge-eval latest 0487a9798c94 10 months ago 15.4GB
nvidia/cuda 11.6.2-base-ubuntu20.04 af978b91c939 13 months ago 154MB
ghcr.io/automotiveaichallenge/aichallenge2023-sim/autoware-universe-cuda v1 f5f05f758f55 13 months ago 14.9GB
nvidia/opengl 1.0-glvnd-devel-ubuntu18.04 9d806b36b807 2 years ago 413MB
Dockerイメージのダウンロードをしていきます。
$ docker pull ghcr.io/automotiveaichallenge/autoware-universe:humble-latest
humble-latest: Pulling from automotiveaichallenge/autoware-universe
3c645031de29: Pull complete
~~~
Digest: sha256:bea365a548dee5d35ee4d2726a5534fb68d661666668bd25e5e80dcb2d4c02bd
Status: Downloaded newer image for ghcr.io/automotiveaichallenge/autoware-universe:humble-latest
ghcr.io/automotiveaichallenge/autoware-universe:humble-latest
インストールできたか確認します。追加で以下の表示が出ているので正しくインストールできている模様。
$ docker images
TAG IMAGE ID CREATED SIZE
ghcr.io/automotiveaichallenge/autoware-universe humble-latest 30c59f3fb415 2 months ago 8.84GB
AWSIMのダウンロード (描画ありGPU版)
NVIDIAドライバ、NVIDIA Container Toolkit、Valkunは過去にインストール済みなので、AWSIMのダウンロードから作業しました。
NVIDIAドライバのインストール
インストール時のメモは以下。
$ nvidia-smi
Mon Jul 15 12:35:59 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 0% 48C P8 17W / 170W | 176MiB / 12288MiB | 26% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 4756 G /usr/lib/xorg/Xorg 108MiB |
| 0 N/A N/A 4899 G /usr/bin/gnome-shell 26MiB |
| 0 N/A N/A 167369 G ...RendererForSitePerProcess 38MiB |
+-----------------------------------------------------------------------------+
NVIDIA Container Toolkit
こちらも過去にインストール済み。
インストール時のメモ。
$ sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
Mon Jul 15 03:37:56 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05 Driver Version: 525.147.05 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 0% 48C P8 15W / 170W | 168MiB / 12288MiB | 4% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
AWSIMのダウンロード
Google Drive から最新の AWSIM_GPU_**.zip をダウンロードし、aichallenge-2024/aichallenge/simulator に展開します。
AWSIMの起動確認
$ ./docker_build.sh dev
[+] Building 12.6s (11/11) FINISHED docker:default
~~~
$ ./docker_run.sh dev gpu
コンテナを起動したターミナル(コンテナ内)で以下を実行します。
$ cd /aichallenge
$ ./build_autoware.bash
~~~
---
Finished <<< goal_pose_setter [13.7s]
Finished <<< simple_pure_pursuit [15.3s]
Summary: 8 packages finished [15.5s]
1 package had stderr output: goal_pose_setter
Autowareのビルド後、2つのファイルを変更します。AISIMのパスをAISIM_GPUに変更、AWSIM_GPUには程展開したディレクトリを指定します。
- run_simulator.bash
#!/bin/bash
# AWSIM_DIRECTORY=/aichallenge/simulator/AWSIM
AWSIM_DIRECTORY=/aichallenge/simulator/AWSIM_GPU
# shellcheck disable=SC1091
source /aichallenge/workspace/install/setup.bash
sudo ip link set multicast on lo
$AWSIM_DIRECTORY/AWSIM.x86_64
- run_evaluation.bash
#!/bin/bash
# AWSIM_DIRECTORY=/aichallenge/simulator/AWSIM
AWSIM_DIRECTORY=/aichallenge/simulator/AWSIM_GPU
run_evaluation.bash を実行。
/aichallenge$ ./run_evaluation.bash
とりあえず1週走りました。
さいごに
間違っている点、不足している点あればご指摘ください。自分用の環境構築のメモですが、何かに役に立てば幸いです。