コンテンツにスキップ

EvoSpikeNet-Core ハードウェア対応プラグイン化 実装可能性評価

検証日: 2026年8月21日
対象: EvoSpikeNet-Core のプラグイン基盤、デバイスバックエンド、量子インスパイアード層、IBM Quantum 連携

結論

当初の「プラグイン化にはアーキテクチャ変更が必須」という評価は、現在の実装には適用されません。主要な統合は実装済みです。ただし、利用可能性は実行環境に依存します。CPU とシミュレータ経路はローカル検証可能ですが、Loihi、Jetson、Edge TPU、IBM Quantum の実機・クラウド接続は対応 SDK、ハードウェア、認証情報が必要です。

項目 現在の評価 根拠・残課題
プラグイン基盤 ✅ 実装済み BasePluginPluginMetadata、ライフサイクル、設定検証、allowlist、PluginFactory
DevicePlugin ✅ 実装済み CPU/GPU/Loihi/Jetson/EdgeTPU/G-QuAT/IBM NorthPole/IBM Quantum のプラグインとブリッジ
依存関係管理 ✅ 実装済み pyproject.toml の optional dependencies、DependencyChecker、分割 requirements
ニューロン層 ✅ 実装済み EntangledSynchrony の互換シグネチャ、HH/Conductance、量子層プラグイン
量子層・可塑性 ✅ シミュレータ実装済み Quantum/QAOA/VQE 層、QuantumAnnealingPlasticity。量子ハードウェアでの勾配・性能は未検証
IBM Quantum ⚠️ 接続対応・実機未検証 IBMQuantumPlugin は Runtime、Sampler、Estimator、フォールバックを実装。認証済み実行は環境依存
最適化パイプライン ✅ 実装済み Quantization/Pruning/Fusion と YAML 駆動パイプライン

実装確認

プラグイン基盤

主な実装箇所:

PluginType には DEVICE、OPTIMIZATION、QUANTUM_LAYER、SYNAPSE、CHANNEL、SOLVER が追加済みです。従って、以前の「DEVICE、OPTIMIZATION、QUANTUM_LAYER がない」「config_schema がない」という記述は削除します。

デバイス統合

ビルトインの公開ファサードは evospikenet/plugins/builtin/device_plugins.py にあり、実装は plugins/builtin/device_backends/ に分割されています。CPU/GPU はローカルで検証できます。Loihi、Jetson、Edge TPU は SDK の有無を検出し、利用できない場合は各プラグインのフォールバック経路を使用します。

universal_integration.py には既存 API との互換ブリッジが残っているため、「アダプタとプラグインが完全分離している」「core 修正なしでは登録できない」という当初の問題は解消済みです。旧 PlatformAdapter API を直ちに廃止する必要はありません。

依存関係と設定

pyproject.toml には loihijetsonedge_tpuquantum の optional dependencies が定義されています。setup_awareness.pyDependencyChecker は LAVA、TensorRT、torch2trt、pycoral、Qiskit の検出を提供します。

依存 SDK がないことと実装がないことは区別します。依存 SDK が未導入の CI では、依存なしの capability とフォールバックを検証し、SDK がある環境でのみ実バックエンドのテストを追加します。

量子層と EntangledSynchrony

これらは「量子インスパイアード」またはシミュレータ実装です。EntangledSynchrony の確率的同期や QAOA/VQE の古典フォールバックを、物理量子もつれや実機性能の証拠として扱ってはいけません。

残課題と検証計画

IBM Quantum

IBMQuantumPlugin は Qiskit Runtime の接続、Sampler、Estimator、コスト・リトライ方針、シミュレータ/未接続フォールバックを実装済みです。VQE も VQENeuronPluginVQENeuronLayer が存在するため、以前の「VQE 未実装」は誤りです。

残る確認事項:

  1. IBM Quantum の認証情報を使った接続・ジョブ実行を環境テストで確認する。
  2. Qiskit、qiskit-ibm-runtime のサポート範囲を CI で固定・検証する。
  3. 実機ジョブのコスト、待ち時間、失敗時の再試行を監視する。

ハードウェア

  1. LAVA CPU シミュレータで Loihi 変換結果とスパイク入出力を検証する。
  2. TensorRT、torch2trt、pycoral が導入された専用 runner で Jetson/Edge TPU の変換と配備を検証する。
  3. G-QuAT と IBM NorthPole は、SDK の有無だけでなく各 runtime adapter の simulator 契約をテストする。
  4. 実機がない CI では available、capability、フォールバック、明確なエラー結果を検証する。

定量的な品質ゲート

  • 対象プラグインのユニット/統合テストが成功すること
  • optional dependency がない環境でもコア import と CPU フォールバックが成功すること
  • 設定スキーマ違反が初期化時に検出されること
  • 実機・クラウド未接続時に成功と誤認せず、capability の available / runtime_connected が正しく false になること
  • 実機検証を行った場合は、SDK バージョン、backend 名、実行日時、コストを記録すること

検証対象テスト

検証実行結果

本環境では pytest コマンドが PATH に存在しなかったため、対象テストは未実行です。依存関係を備えた Core 環境で、上記 4 ファイルを python -m pytest -q により実行してください。

更新履歴

日付 内容
2026-05-15 初版作成。DevicePlugin 統合前の課題を整理
2026-08-21 現行コードとテストを照合。完了済み項目、VQE 実装、実機未検証を反映