2017-10-31 4 views
0

ホストO/Sバージョン:CentOSの7.3ドッカーコンテナがホスト上のすべてのGPUデバイスを見ることができる理由を教えてください。

ドッカーバージョン:1.12.6

CUDAバージョン8.0.61

ホストマシン上の4つのGPUがあります。以下は、詳細は以下のとおりです。

"Devices": [ 
       { 
        "PathOnHost": "/dev/nvidiactl", 
        "PathInContainer": "/dev/nvidiactl", 
        "CgroupPermissions": "mrw" 
       }, 
       { 
        "PathOnHost": "/dev/nvidia-uvm", 
        "PathInContainer": "/dev/nvidia-uvm", 
        "CgroupPermissions": "mrw" 
       }, 
       { 
        "PathOnHost": "/dev/nvidia2", 
        "PathInContainer": "/dev/nvidia0", 
        "CgroupPermissions": "mrw" 
       }, 
       { 
        "PathOnHost": "/dev/fuse", 
        "PathInContainer": "/dev/fuse", 
        "CgroupPermissions": "mrw" 
       } 
      ], 

は、NVIDIAデバイスのリストの下を参照してください。

[email protected]:/sys/fs/cgroup/devices# ls /dev | grep nv 
    nvidia-uvm 
    nvidia-uvm-tools 
    nvidia0 
    nvidia1 
    nvidia2 
    nvidia3 
    nvidiactl 
[email protected]:/sys/fs/cgroup/devices# cat devices.list 
    a *:* rwm 

コンテナは、特権モードで実行されていません。コンテナ内のGPUの数が正しいときには、そのあとのある時点でコンテナ内に4つのGPUが表示されます。

答えて

2

コンテナは、コードと依存関係をまとめてパッケージするアプリケーション層の抽象です。複数のコンテナを同じマシン上で実行し、OSカーネルを他のコンテナと共有することができます。それぞれのコンテナは、ユーザー空間で独立したプロセスとして実行されます。一方、仮想マシン(VM)は、物理的なハードウェアを抽象化して、1つのサーバーを多数のサーバーに変換します。これが、ホストにリストされているすべてのGPUを見ることができる理由です。

コンテナのリソース使用量を調べるために「ドッカー統計」を使用してください(https://docs.docker.com/engine/reference/commandline/stats/

関連する問題