コンテンツにスキップ

mainboard banner

mainboard

Python 向けのハードウェアトポロジーとマシンスナップショット。

mainboard はシンプルな問いに答えます。このマシンは何でできていて、Python から安全に何を知ることができるのか、です。CPU、GPU、NPU を共通のスナップショットセマンティクスを持つ型付き Unit として公開し、すべてのマシンを CUDA 専用モデルに押し込めることなく、ホストを cpu、memory、gpus、npus、environment、board、toolchain をカバーする 1 つのシリアライズ可能な MachineSnapshot へと探査します。

クイックスタート

pip install mainboard
mainboard

ベースのインストールは軽量な純 Python で、CPU と Apple のプローブをカバーし、CUDA 関連は一切取り込みません。NVIDIA GPU の検出とテレメトリには cuda エクストラ、つまり pip install mainboard[cuda] をインストールしてください。Linux で CUDA Python バインディングが入ります。バインディングやハードウェアがない場合、検出は NVIDIA デバイスなしへ適切にフォールバックします。

chefe プロジェクトで作業していますか? chefe add mainboard -l python

CLI

mainboard
python -m mainboard
mainboard --color=False

どちらのコマンドも同じマシンの模式図を描画します。--color=False は、ログや色をサポートしないターミナルで役立ちます。

Python

from mainboard import Machine

machine = Machine()
print(machine.cpu.label)
print(machine.gpus)
print(machine.npus)
print(machine.board.model)
print(machine.model_dump_json(indent=2))

mainboard が提供するもの

機能 意味
コンセプトファーストなユニット CPUGPUNPUkindvendorsnapshot() を共有します
プロバイダの分離 Apple や NVIDIA の詳細はプロバイダクラスの背後に留まります
安全なインポート 将来の AMD、Intel、Qualcomm プロバイダはインポート安全なスタブです
ターミナルビュー mainboard がメモリと計算ユニットの Rich な模式図を描画します
ツールチェーン検出 拡張可能な探査レジストリが、PATH 上の C/C++/CUDA コンパイラとビルドシステムをバージョン付きで報告します
ワンコールスナップショット Machine().model_dump_json() が cpu、memory、gpus、npus、environment(user、group、scheduler)、board(マザーボード、BIOS)、toolchain(コンパイラ、ビルドシステム)を返します

プラットフォーム

プラットフォーム ステータス
Apple Silicon macOS CPU、Apple GPU、Apple Neural Engine の検出
Linux + NVIDIA CUDA CPU と NVIDIA GPU の検出
その他のプラットフォーム CPU のフォールバックと、不活性な将来プロバイダのスタブ

mainboard はまだ初期段階です(0.0.x

公開 API は意図的に小さく保たれていますが、プロバイダのテレメトリの詳細は今後変更される可能性があります。

次に、unitsprobe and snapshot のガイドを読むか、environmenttoolchainboardproviders のリファレンスに進んでください。