SingularityコンテナでAMD GPUを試す -1-
背景
コンテナを使う時よく問題になるのは、特殊なハードウエアを使う場合にデバイスドライバとそれを叩くライブラリの組み合わせ問題です。コンテナはカーネル空間を分離してユーザーランドだけで動きます。つまりカーネルとデバイスドライバは管轄外になります。一方でアプリケーションを動かすライブラリはユーザーランドつまりコンテナ内にあります。せっかくのポータビリティがコンテナにあっても、このミスマッチでアプリが動かないのでは困ります。HPCではGPUをはじめ、Infinibandだったり、特殊機材のハードウエアや他のマシンのメモリすら直接叩いてパフォーマンスを最大化してきた歴史があります。そもそもコンテナ...