XGRIDSドキュメント
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • PortalCam

    • 製品概要
    • デバイスの基本操作
    • LCC Scan App の使用
    • メンテナンスとお手入れ
    • FAQ
  • Lixel K シリーズ

    • Lixel K1

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得する
      • マップフュージョン
      • 典型的なシーンにおける経路計画の推奨
      • 注意事項
      • FAQ
    • Lixel K2

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得
      • マップフュージョン
      • 典型的なシーンにおける経路計画の推奨
      • 注意事項
      • FAQ
  • Lixel L シリーズ

    • Lixel L2 Pro

      • 製品概要
      • デバイスの基本操作
      • デバイスのアクティベーションと接続
      • デバイス収集
      • 絶対座標のポイントクラウドデータを取得する
      • 実時計測機能
      • 付録
      • FAQ
  • アクセサリー

    • Stick Light

      • 取り付けガイド
      • 基本操作
      • よくある質問
  • Lixel Studio

    • バージョンと著作権
    • インストールとアクティベーション
    • ソフトウェアインターフェース
    • ファイル操作
    • プロジェクト処理
    • ツール
    • 2D 作図
    • 業界応用
    • 設定
    • デバイス接続
  • Lixel CyberColor

    • LCC Studio

      • はじめに
      • バージョンと更新
      • ダウンロードとインストール
      • インターフェース概要とナビゲーション
      • 再構築前の準備
      • モデル再構築
      • 単一モデル再構築
      • 地図合成
      • 空地融合
      • 航空撮影再構築
      • マイモデル
      • その他の機能
      • 設定とアカウント
      • Converter
      • 動画再構築
      • よくある質問 / FAQ
    • LCC Scene Editor

      • バージョンと更新
      • アカウントとサインイン
      • 製品概要とホーム画面
      • エディター画面
      • ナビゲーションモード
      • ファイル
      • 設定
      • 編集
      • ウィンドウ
      • グローバルツールバー
      • アセットとプロパティ
      • 左ツールバー
      • ビューポイント
      • ポータル
      • スカイボックス
      • アノテーション
      • 測定
      • フライスルー
      • シーンレポート
      • 3D レイアウト
      • ミニマップ
      • プレビューモード(Viewer)
      • ヘルプ
      • よくある質問(FAQ)
      • スポーンポイント
    • LCC Model Editor

      • バージョンと更新
      • ユーザーガイド
      • 概要とインターフェース
      • ファイル操作
      • セレクター
      • モデルの編集
      • 測定
      • カラーグレーディング
      • アセット管理
      • 設定とヘルプ
      • よくある質問
    • Capture Guide

      • 概要
      • 撮影デバイス概要
      • 一般的な撮影の原則
      • 屋内シーンの撮影
      • 屋外シーンの撮影
      • 大規模撮影(マップフュージョン)
      • 空地マップフュージョン撮影
      • オブジェクト撮影
      • 人物撮影
      • ビデオ再構築撮影
      • HD Enhancement
      • 制御点(Lixel P1)
      • FAQ とトラブルシューティング
    • LCC Studio Linux

      • 製品概要説明
      • 基本アーキテクチャマニュアル
      • インストールと展開説明書
      • コンテナ起動パラメータ説明書
      • CodeMeter オフラインライセンス展開説明書
      • APIコマンドセット
      • 付録-開発者データマニュアル
      • 付録-エラーコード一覧
      • シングルノードマルチGPUクラスタ展開QuickStart
    • バージョン履歴
  • プラグインと SDK

    • Unreal

      • 概要
      • クイックスタート - Windows
      • クイックスタート - Linux
      • クイックスタート - Quest3
      • エディションとライセンス
      • レンダリング
      • 画面調節
      • 法線とライティング
      • シーン編集
      • パフォーマンスパラメーター
      • パフォーマンス最適化ガイド
      • サードパーティおよびエンジンプラグインとの連携
      • プロキシメッシュ
      • 読み込みアニメーション
      • コリジョン
      • ナビゲーションシステム対応
      • Single layer water 対応
      • ローカライズ
      • よくある質問
      • トラブルシューティング
      • ログと診断
      • お問い合わせ
      • API リファレンス

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ULCCUtilLibrary
        • Enums
        • Structs
      • 更新履歴

        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Web

      • はじめに
      • レンダリング性能最適化ガイド
      • グラフィックス設定
      • よくある質問
      • API リファレンス

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • 更新履歴

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0

インストールと展開説明書

2 サーバー環境設定(Ubuntu20.04以上 ~ 24.04)

1. Nvidiaグラフィックスカードドライバのインストール

# ドライバをダウンロード
wget https://download.nvidia.com/XFree86/Linux-x86_64/550.120/NVIDIA-Linux-x86_64-550.120.run

All versions :https://download.nvidia.com/XFree86/Linux-x86_64/

chmod +x NVIDIA-Linux-x86_64-550.120.run

# インストールには gcc のビルド環境が必要です。無い場合は build-essential をインストールしてください
sudo apt-get install build-essential -y

# インストーラを実行
sudo ./NVIDIA-Linux-x86_64-550.120.run 

注:最低バージョン依存

ドライババージョン対応アーキテクチャOS
NVIDIA Linux Driver545.23.08x86_64, arm64-sbsa, POWERLinux
NVIDIA Windows Driver546.12x86_64 (Windows)Windows, WSL

2. DockerおよびNvidiaグラフィックスカードサポートのインストール

# サーバーに docker をインストール
sudo apt update
sudo apt install docker.io


# NVIDIA コンテナサポートをインストール

# 方法 1
# 最新の公式インストールドキュメントに従って実行します:
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

# 方法 2
# 中国本土ではネットワークの問題によりオンラインインストールが失敗する場合があります
# ミラーサイト https://mirror.cs.uchicago.edu/nvidia-docker/ から libnvidia-container1、libnvidia-container-tools、nvidia-container-runtime、nvidia-docker2 の .deb ファイルをダウンロードします
# 必要な deb パッケージの一時ダウンロード先も用意しています:https://cdn-bukbb1.xgrids.cloud/static/nvidia/docker-nvidia-support-ubuntu.zip

# すべての deb ファイルを取得したらインストールを実行します:
sudo dpkg -i ./*.deb  # ダウンロードしたすべての deb パッケージをインストール

# docker を再起動
sudo systemctl restart docker

# テストコンテナを実行して GPU が正常か確認します:
sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base nvidia-smi

#docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).

"registry-mirrors": ["https://docker.anyhub.us.kg","https://dockerhub.jobcher.com","https://dockerhub.icu"]

sudo systemctl daemon-reload
sudo systemctl restart docker


3. 特殊な設定(必須!)

1)Dockerのcgroupdriverをcgroupfsに変更する

NVIDIAグラフィックスカードをコンテナ内で使用する場合、既知の問題がある:コンテナが実行中に突然グラフィックスカードを見失う (Containers losing access to GPUs with error: "Failed to initialize NVML: Unknown Error")

現時点でこのISSUEの公式ステータスは未解決である。参考:

https://github.com/NVIDIA/nvidia-docker/issues/1730

https://github.com/NVIDIA/nvidia-container-toolkit/issues/48

サーバーがこのISSUEの影響を受けるかどうかを確認する方法:

 $ docker info  
 ...  
 Cgroup Driver: systemd     # Cgroup Driver = systemd と表示される場合、この問題が発生する可能性があります
 Cgroup Version: 1

NVIDIA公式が提供する解決方法:

/etc/docker/daemon.json を手動で修正し、パラメータ "exec-opts": ["native.cgroupdriver=cgroupfs"] を追加してからDockerを再起動する。

(Set the parameter "exec-opts": ["native.cgroupdriver=cgroupfs"] in the /etc/docker/daemon.json file and restart docker.)

この画像はDocker設定ファイル`/etc/docker/daemon.json`の内容を示しており、その要点は`exec-opts`フィールドで、その値は`\["native.cgroupdriver=cgroupfs"\]`である。この画像はドキュメント内の特殊な設定部分の説明に関連し、NVIDIA公式が提供する解決方法、すなわち`/etc/docker/daemon.json`ファイルを手動で修正してこのパラメータを追加し、Dockerを再起動することで、cgroupdriverの問題によるISSUEを解決することを説明するために使用される。

2)NVIDIAグラフィックスカードドライバの永続モード(常駐モード)を有効にする

永続モードを有効にします:
sudo nvidia-smi -pm 1   

永続モードを有効にしない場合の影響:

  1. GPUはアクセスされるたびに初期化され、レイテンシが増加する
  • 現象: nvidia-smi、CUDAプログラムを実行したり、モデルをロードしたりする際に、GPUはドライバの初期化を一度経験する。nvidia-smiコマンドの実行速度が遅くなる。
  • 影響: 起動時間の延長、コマンドの反応が遅くなり、さらにはアプリケーション層でのカクつきが発生する。
  1. 消費電力制御が頻繁に切り替わり、性能が不安定になる
  • GPUはアイドル時に自動的に低消費電力状態に入り(ビデオメモリのオフ、クロックのオフなど)、再度アクティブにする際にGPUを「呼び覚ます」必要がある。
  • 高頻度使用時に「性能のばらつき」が発生する原因となる。
  1. サーバーやクラスタ内でマルチタスクの応答効率を低下させる
  • ディープラーニングのトレーニング、推論、グラフィックスレンダリングなど、GPUを高頻度で使用するシーンでは、頻繁な初期化がシステムの負担を増加させ、特にマルチユーザー/マルチプロセスの使用シーンで顕著である。
  1. 一部のコンテナやデーモンプロセスがGPU初期化を繰り返しトリガーする可能性がある
  • 例えばDockerで設定が不適切な場合、コンテナが起動するたびにGPU初期化を一度トリガーする可能性がある。

有効にした後:

  • GPUドライバは常にロード状態を維持し、アクセスするたびに再初期化する必要がない。
  • 起動時間がより短くなり、CUDAプログラムやディープラーニングフレームワークのロード速度がより速くなる。
  • より安定した実行性能が得られ、特にクラスタや自動化タスクにおいて顕著である。

サーバー、ディープラーニング、レンダリングなどGPUを重度に使用するシーンでは: 有効にすることを推奨する。

通常のデスクトップ使用や電源に敏感な環境(ノートパソコンなど)での使用シーンに限り、状況に応じて無効にして消費電力を節約してもよい。

4. その他の既知の問題

1) ハイエンドグラフィックスカード+マルチカードサーバーで、コンテナ内のGPUが正常に使用できない問題

複数のハイエンドNVIDIAグラフィックスカード(H100/V100/A100/A30など)を搭載したサーバーでは、対応するドライバをインストールするほか、時にはドライババージョンと完全に一致する nvidia-fabricmanager サービスもインストールしなければ、正常に再構築を行うことができない。

失敗する現象は、コンテナ内でnvidia-smiとnvccコマンドを実行すると、いずれも正常に出力される;しかし実際の再構築は失敗する;再構築エラーは以下のとおりで、複数回リトライしても失敗する:

  • エラーコード:0x34040070
  • エラーログ:Unspecified GPU Error: Update GPU drivers to the latest stable version and restart the computer.

サーバーのエラーログを確認すると、nvidia-fabricmanagerのバージョンが一致しないというエラーメッセージが見つかる可能性がある:

この画像はLCC再構築ソフトウェアの展開におけるハイエンドグラフィックスカード・マルチカードサーバーのコンテナGPUが正常に使用できない問題のサーバーエラーログのスクリーンショットであり、中心となるのは矢印が指す`journalctl -u nvidia-fabricmanager`コマンド実行後のエラー内容である。ログには、nvidia-fabricmanagerのNVIDIA GPUドライバインターフェースバージョンが現在のドライババージョン(550.163.01)と一致しないことが複数回示され、さらにサービス起動失敗に関する情報も表示されている。このログはドキュメントで言及される再構築エラーの状況に対応し、nvidia-fabricmanagerのバージョン不一致の具体的なエラー表現を補足説明するために使用される。
解決方法

NVIDIAの公式ドキュメントに従い、現在のドライババージョンと完全に一致するnvidia-fabricmanagerをインストールし、オペレーティングシステムのレベルから、その自動更新を禁止する必要がある。サーバーの技術運用担当者による対応を推奨する。

前へ
基本アーキテクチャマニュアル
次へ
コンテナ起動パラメータ説明書