CFDは、データセンター内部の温度と気流の分布を把握するための強力な手法です。
しかし、CFDシミュレーションには長い時間がかかります。サーバー負荷や空調条件が変化するたびにシミュレーションを再実行するのは、リアルタイムのデジタルツインには適していません。
この課題に対応するため、Ansys FluentのCFD結果からAIサロゲートモデルを構築し、その予測結果をNVIDIA Omniverse Kit-CAEで高速に可視化するシステムを開発しました。
全体のワークフローは以下の通りです:
Ansys Fluent
↓
CFD Dataset
↓
PCA
↓
PCA Coefficient Prediction with MLP
↓
Temperature and Velocity Field Prediction
↓
Fast Voxel Generation
↓
NanoVDB
↓
Kit-CAE / NVIDIA IndeX
↓
Omniverse Visualization
1. サロゲートモデルの構築
対象モデルは、複数のサーバーラックと4台の空調機を備えたデータセンターです。
サロゲートモデルは5つの入力を受け取ります:
- GPU負荷率
- AC1~AC4のON/OFF状態
複数の運転条件下でCFDシミュレーションを実施した結果、得られたデータセットは 200ケース.
CFDメッシュは全ケースで共通しており、セル数は約 187万個の流体セル.
各ケースから以下の物理量を抽出しました:
- 温度
- 速度U
- 速度V
- 速度W
2. PCAによる次元削減
約187万セル分の物理量を直接予測しようとすると、ニューラルネットワークの出力が非常に大きくなってしまいます。
そこで、次元削減にPCA(主成分分析)を使用しました。
例えば、温度場は次のように圧縮されました:
約187万次元 → 21次元
速度U、V、Wはそれぞれ20成分で表現されました。
約187万×187万という巨大な共分散行列を構築する代わりに、 139×139のグラム行列 (学習ケース数に基づく)を用い、GPU上で固有値分解を行いました。
これにより、大規模なCFDデータに対してもPCAを効率的に適用できるようになりました。
3. MLPによる推論
PCA圧縮後、GPU負荷率と空調の稼働状態からPCA係数を予測するMLPを学習しました。
基本構造は以下の通りです:
入力 5
↓
全結合層 64
↓
Tanh
↓
全結合層 64
↓
Tanh
↓
出力 20または21
ネットワークは小さいため、推論は非常に高速です。
200ケースは以下のように分割されました:
- 学習用:139
- 検証用:31
- テスト用:30
代表的な予測精度は以下の通りです:
- 温度MAE:約0.45 K
- 速度MAE:約0.14 m/s
局所的なピーク付近では誤差が大きく残ることもありますが、全体的な温度・気流の傾向は概ね良好に再現されています。
可視化がボトルネックに
サロゲートモデルにより、CFD予測は大幅に高速化されました。
しかし、当初のOmniverse可視化パイプラインには依然として以下が必要でした:
Inference
↓
Save NPZ
↓
VTK Interpolation
↓
OpenVDB Generation
↓
Save VDB
↓
Omniverse Visualization
代表的な処理時間は以下の通りです:
| 処理 | 時間 |
|---|---|
| 推論+NPZ出力 | 約2.15秒 |
| OpenVDB変換 | 約8.47秒 |
| 合計 | 約11.11秒 |
つまり、 可視化データの生成がAI推論そのものよりもコストが高くなっていました.
Kit-CAEによる高速可視化
この問題を解決するため、可視化パイプラインをKit-CAE中心に再設計しました。
新しいパイプラインは以下の通りです:
PyTorch推論
↓
共有メモリ
↓
高速ボクセル生成
↓
Warp CUDA
↓
NanoVDB
↓
SimData
↓
CaeViz
↓
NVIDIA IndeX
主な変更点は以下の通りです:
- ケースごとのNPZ出力を廃止
- OpenVDBファイル生成を廃止
- 共有メモリによるプロセス間通信を追加
- GPU上で直接NanoVDBを生成
- Kit-CAEのSimData、CaeViz、NVIDIA IndeXを使用
これにより、ファイルI/Oが大幅に削減されました。
4. アフィンキャッシュによるボクセル生成の高速化
もう一つの大きな最適化は、繰り返し行われるVTK補間の排除でした。
従来のパイプラインは以下の通りでした:
PCA Coefficients
↓
Reconstruct Temperature for approximately 1.87 million cells
↓
Interpolate to Voxel Grid with VTK
しかし、PCAによる再構成も、固定メッシュから固定ボクセルグリッドへの補間も、どちらも線形演算です。
そこで、PCA基底自体をあらかじめボクセル空間に補間しておき、 アフィンキャッシュ.
実行時には、以下の計算のみが
PCA Coefficients
↓
Matrix Multiplication with Voxelized PCA Basis
↓
Voxel Temperature Field
必要です。
5. ベンチマーク結果
ボクセル生成について:
- 従来のVTK補間:13.080秒
- アフィンキャッシュ:0.410秒
これにより、ボクセル生成は約 31.9倍高速化されました.
両手法間の温度差は極めて小さく、高速化後の手法もほぼ同じ結果を再現していることを意味します。
代表的な定常状態の処理時間は以下の通りです:
| 処理 | 時間 |
|---|---|
| GPUサロゲート推論 | 約0.009秒 |
| アフィンボクセル生成 | 約0.224秒 |
| NanoVDB生成 | 約0.041秒 |
| 合計 | 約0.274秒 |
この0.274秒には、ビューポートのレンダリングやKit-CAEの更新時間はすべて含まれていません。
なぜKit-CAEなのか?
標準のUSD ComposerでもOpenVDBデータを可視化することは可能です。
しかし、本プロジェクトで重要だった要件は次の点でした:
ファイルから読み込むのではなく、メモリから直接CAEデータを可視化することです。
Kit-CAEはDataset、Field、Visualization Operatorという概念を提供しており、GPU上に常駐するNanoVDBデータをSimData経由で扱い、NVIDIA IndeXでレンダリングすることができます。
これにより、Kit-CAEは予測結果が繰り返し更新されるシステムに適しています。
今後の機能
現在の実装は、主に温度ボリュームの高速可視化に焦点を当てています。
今後は、同じサロゲートモデルが 速度場も予測できるようになり、温度と速度の両方を同じExtension内で扱えるようにする予定です。
これにより、同じExtension内で以下のような複数のCFD可視化手法を実装できるようになります:
- ボリューム可視化
- 流線
- 断面スライス
- 速度ベクトル
目標は、単に 高温領域がどこで発生しているかだけでなく、 その熱的状態に気流がどのように寄与しているかも示せるデジタルツインを作ることです.
データセンター監視ダッシュボードに向けて
3D可視化に加えて、以下のような指標を表示できるようにシステムを拡張する予定です:
- 最高温度
- 平均温度
- ラック吸気温度
- ラック排気温度
- CRAC給気温度
- CRAC還気温度
RTIなどの冷却効率指標も算出し、値が定められたしきい値を超えた場合には警告を表示します。
これにより、データセンターの熱状態をほぼリアルタイムで監視できるようになります。
まとめ
本プロジェクトでは、Ansys FluentのCFD結果からサロゲートモデルを構築し、NVIDIA Omniverse Kit-CAE上で高速可視化システムを開発しました。
主なポイントは以下の通りです:
- 約187万のCFDセルを約20個のPCA成分に圧縮
- 小規模なMLPによるPCA係数の予測
- グラム行列アプローチによる大規模PCAの高速化
- 温度MAE 約0.45 K
- OpenVDBファイルベースの処理を廃止
- 共有メモリとNanoVDBを導入
- アフィンキャッシュによりボクセル生成を約31.9倍高速化
この開発から得られた重要な教訓は次の通りです:
リアルタイムのデジタルツインを実現するには、AI推論の高速化だけでは不十分であり、可視化を含むパイプライン全体を最適化する必要があります。
長期的な目標は、CFD、AI、Omniverseを組み合わせてデータセンターの熱状態をリアルタイムで監視し、最終的には冷却制御を自動的に最適化することです。

