• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Blogs
  2. カスタムIC/ミックスシグナル
  3. Spectre Tech Tips: GPUとアナログ回路シミュレーションの統合
Custom IC Japan
Custom IC Japan

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
GPU
analog circuit simulation
Spectre Circuit Simulator
Spectre
japanese blog
spectre x

Spectre Tech Tips: GPUとアナログ回路シミュレーションの統合

23 Aug 2023 • Less than one minute read

 コンピューティングハードウェアの状況は、過去数十年にわたって大きな変化を遂げてきました。部屋程のサイズの大型汎用コンピューターからスタートし、今日のマイクロサイズのプロセッサに至るまで、それぞれの飛躍は可能性の限界を再定義するような革新をもたらしました。これらの革新的なテクノロジの中で、グラフィックス・プロセッシング・ユニット(GPU) は、グラフィックスをレンダリングするという本来の目的だけでなく、他の計算ドメインにおける可能性でも際立っています。

Spectre 回路シミュレータは、膨大なサイズの行列計算から高度で洗練されたモデル評価まで、多くの計算を必要とするツールの1つであり、シミュレータが各タイムポイントで回路の解に収束するまで、これらすべての計算を複数のイタレーションで適用します。これらの重い作業は、1つのコアから同じマシン上の複数のコアに受け渡され、更に複数のマシンに分散できるようになりました。今度は、そのようなジョブにGPUの計算能力を利用します。

Spectre XとGPUの統合

Spectre X GPUは、GPUの巨大な並列計算機能とCPUの複雑な動きを統合し、両方の計算能力の間でバランスの取れたパフォーマンスを実現します。 すべてのシミュレーションタスクが並列計算を必要とするわけではないため、CPUとGPU間のデータ転送がシミュレータ全体の遅延のボトルネックになる可能性があります。そのため、最高のパフォーマンスを達成するには、CPUとGPUの間でタスクを繊細に分割することが必須です。 それらを分散シミュレーションの経験から学んだ Spectre X GPUは、シミュレーションパフォーマンスの新記録を達成するために、Spectreファミリーに追加される新しいエンジンです。

上に示した図は、Spectreエンジンに1つのGPUを追加した場合の回路パフォーマンスの向上を示しています。CPUシミュレーションの結果は、これらのテストケースに対して16のマルチスレッドシミュレーションを実行したものです。16スレッドを利用することにより、回路シミュレーションに優れたパフォーマンスが得られます。それでも、更に1つのGPUを追加することによって、ケースによってはシミュレーションのパフォーマンスが8 倍向上したことがわかります。ほとんどのケースでは、1つのGPUと、8または4スレッドでこのようなパフォーマンスの向上を得ることができます。

Spectre X GPUによるパフォーマンスの向上

新しい Spectre エンジンは、高精度が要求される大規模なポストレイアウトのケースを処理する場合に最高のパフォーマンスを発揮します。 このようなタイプのデザインでは、Spectre X GPUの強みを発揮する膨大な数の計算が必要になります。他のタイプの回路でも高速化が期待できますが、前述のタイプのデザインの方がより一貫したパフォーマンスの向上が期待できます。次の表は、同じ回路で Spectre X GPUをさまざまな精度設定で実行した場合のパフォーマンスの向上を示しています。精度の要求が保守的であればあるほど、新しいエンジンからより多くの向上が得られることは明らかです。

Spectre X mode LX AX CX
Performance Gain with Spectre X GPU 1.9X 3.2X 5X

Spectre X GPU の使用

既存のシミュレーションコマンドラインに +gpu を追加して、Spectre X GPUを使用します。その他はすべて他のSpectreエンジンと互換性があるため、他に何も変更する必要はありません。Spectre はマシン上のGPUデバイスを検出し、マシンに複数のGPUがある場合は最も負荷の低いGPUで動作します。このユースモデルにより、ユーザーはシミュレータの調整ではなく設計自体に集中できます。

Spectre Xは複数のGPUの使用もサポートしています。複数のGPUを有効にするには、オプション +gpu=# を使用し、使用する GPUの数を設定します。1つのGPUで提供できるより多くの GPUメモリが必要な場合は、複数のGPUの使用が必要です。さらに、非常に大規模なデザインでは、複数のGPUを使用することでより多くの並列計算の恩恵を受けることができます。

Spectre X GPU を使用したジョブの分散

Spectre X GPUは、LSFなどのジョブ分散システムをサポートします。ジョブ管理システムによって割り当てられたGPUの数を検出し、それらを自動的に使用します。必要なのは、Spectreコマンドライン引数 +gpu を使用し、ジョブ管理システムでGPUリソース要件を設定することだけです。

Spectre X GPUはSpectreファミリーの新しいエンジンで、ユーザーはこれまでシミュレーションできなかった、または多大な時間がかかっていた新しいデザインをシミュレーションできるようになります。 この新機能は、将来の新しい機能とより高度なデザインシミュレーションへの扉を開きます。

Moustafa Mohamed
Translator: Yuko Yoneda

関連リソース

  • Spectre Classic Simulator, Spectre APS, Spectre X, Spectre XPS, Spectre FMC Analysis, and Legato Reliability Solution User Guide
  • 日本語プロダクトページ Spectre 日本語資料

また、ケイデンス社のサポートAEに問い合わせることも可能です。

ケイデンス社の回路設計製品およびサービスの詳細については、www.cadence.comをご覧ください。

Spectre Tech Tipsについて

Spectre Tech Tipsは、Spectreシミュレーション・プラットフォームの機能や可能性を探求することを目的としたブログ・シリーズです。このシリーズでは、Spectreの有用な機能や改善についての知見を提供することに加えて、このプラットフォームに関連するあらゆることについての知識と経験を共有する、様々なブロガーや専門家の声を届けます。

カスタムIC/ミックスシグナル Blogs 無料定期購読のご案内

新規ブログが公開された際に通知を受け取る方法を、こちらにてご案内しています。是非ご登録ください。