
mainboard¶
Python 向けのハードウェアトポロジーとマシンスナップショット。
mainboard はシンプルな問いに答えます。このマシンは何でできていて、Python から安全に何を知ることができるのか、です。CPU、GPU、NPU を共通のスナップショットセマンティクスを持つ型付き Unit として公開し、すべてのマシンを CUDA 専用モデルに押し込めることなく、ホストを cpu、memory、gpus、npus、environment、board、toolchain をカバーする 1 つのシリアライズ可能な MachineSnapshot へと探査します。
クイックスタート¶
ベースのインストールは軽量な純 Python で、CPU と Apple のプローブをカバーし、CUDA 関連は一切取り込みません。NVIDIA GPU の検出とテレメトリには cuda エクストラ、つまり pip install mainboard[cuda] をインストールしてください。Linux で CUDA Python バインディングが入ります。バインディングやハードウェアがない場合、検出は NVIDIA デバイスなしへ適切にフォールバックします。
chefe プロジェクトで作業していますか? chefe add mainboard -l python。
CLI¶
どちらのコマンドも同じマシンの模式図を描画します。--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 が提供するもの¶
| 機能 | 意味 |
|---|---|
| コンセプトファーストなユニット | CPU、GPU、NPU が kind、vendor、snapshot() を共有します |
| プロバイダの分離 | 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 は意図的に小さく保たれていますが、プロバイダのテレメトリの詳細は今後変更される可能性があります。
次に、units と probe and snapshot のガイドを読むか、environment、toolchain、board、providers のリファレンスに進んでください。