本当は怖いHPC

HPC屋の外部記憶装置。メモ書き。ちゃんとしたものは別のところに書く予定です

UCX1.8リリース

UCX1.8がリリースされました。

全体的には堅実で地味なリリースですが、個人的に興味あるものをいくつか取り上げるとすると

  • ROCm環境サポートの充実
  • CUDA向けのさらなる最適化
  • RDMA memory registration

でしょうか。それぞれを簡単に紹介します:

ROCmは、AMD製GPUにおけるGPGPUプログラミング環境です。要するにAMD版CUDAです(厳密には、ROCmがCUDA Runtimeとドライバ群相当、HIPがCUDAプログラミングモデル+コンパイラ相当だと思います)。NVIDIAに比べるとソフトウェア環境で大幅な遅れを取っているAMDですが、ソフトウェアエコシステム一式をオープンソースで開発中です。RDMAを中心としたネットワークライブラリは、UCXを基本としてサポートされていくようです。

RDMAのMemory Registrationの高速化は、地味に嬉しいケースがあると思います。そもそもRDMA通信におけるRegistrationとは、CPUのホストメモリをRDMAように用いるための事前処理のことです。これは地味に時間がかかる処理で、以前に私が関わったPFNにおける試作Allreduceライブラリでは、事前にメモリプールを作ってRegistrationを前処理しておくことでオーバーヘッドを回避しました。この処理がマルチスレッドで実装できれば嬉しいかもしれません。