卒研テーマ名)DGX Spark (GB10)におけるBLASベンチマークと混合精度反復改良法実装への応用

DGX Spark (GB10)は20コア Arm CPUとBlackwell GPUを搭載し,両方からアクセスできる128GB RAMを持ったAI開発用ワークステーションである。主としてNVFP4(4bit浮動小数点数)を用いたAIベンチマークは多く見かけられるが,binary32 (float32)やbinary64 (float64),そしてCUDAがサポートしているbinary128 (float128)の性能については定かではない。非公式情報ではbinary32が29.71TFlops,binary64が464.3GFlopsと,64:1の性能差があるというが,NVIDIAは否定している

とりあえずCUDAのcuBLASがサポートするSGEMM(binary32)とDGEMM(binary64)の速度を計測し,CPU上ではOpenBLASのSGEMMとDGEMMを実行して速度計測を行う。OpenBLASはArm Neon(128-bit SIMD)とSVE2(~512-bit SIMD)対応しているので,その差もついでに確認しておく。

その結果をもって,CPUとGPUをどのように使えばbinar32-binary64混合精度反復改良法が高速に実現できるかを検討する。

卒研テーマ名)QD, GQDへの3倍精度実装の追加と高性能化

Branch-freeアルゴリズムをTDとQDに取り入れたCPU用,GPU(CUDA)用のマルチコンポーネント方式のライブラリを構築し,ベンチマークテストを行ってGitHubにオープンソースとして公開する。MPLAPACK/MPBLASに組み込めることが望ましい。前の奴のブラッシュアップ版。SIMD化,CUDA化とベンチマークテストも含めて二人以上で取り組んでも可。余裕があれば,binary64ベース(DD, TD, QD)だけではなく,binary32ベースのDS, TS, QS実装も欲しい。

参考1)CPU上での多倍長精度浮動小数点演算実装

参考2)GPU(CUDA)上での多倍長精度浮動小数点実装

  • マルチコンポーネント型
  • 整数ベースの多数桁方式