... cupy.cuda.memory.OutOfMemoryError: out of memory to allocate 8589934592 bytes (total 17179869184 bytes) などとエラーを吐かれて泣いた記憶はないでしょうか。 最近は様々な分野で深層学習のモデルの巨大化が激しいです。学習時間が長くなるのは致し方ないとして、モデルによってはGPUメモリにのらず、そもそもまともに動かすことができないという問題に直面することがあります。特に、Graph Convolution系のアルゴリズムでは、ミニバッチ学習方法が確立されていない1ため、GPUメモリの大きさの制約を受けやすいです。 本記事では、Pascal以降のNVidia GPUから機能が拡張された2Unified Memoryを使って、GPUメモリよりも大きなモデルをChainerで扱う方法を紹介し