ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

GPU 高速化による LTE のダウンリンク共有チャネル処理

この例では、GPU を使用してビット誤り率のシミュレーションを高速化する方法について示します。この例では、Third Generation Partnership Project (3GPP) [ 1 ] によって開発された Long Term Evolution (LTE) 規格のダウンリンク共有チャネル (eNodeB から UE) のトランスポート チャネル処理の一部を使用します。詳細は、「ダウンリンク トランスポート チャネル (DL-SCH) 処理」の例を参照してください。

この例の GPU 部分を実行するには、Parallel Computing Toolbox™ のライセンスが必要です。

注意:このソフトウェアの提供は、設計、シミュレーションおよび解析目的でソフトウェアを使用する場合を除き、France Telecom、Telediffusion de France または Groupe des Ecoles des Telecommunications が保有するターボ符号特許を使用するライセンスを譲渡するものでもなく、いかなる権利も意味するものではありません。このソフトウェアのターボ符号テクノロジーによって生成されたコードは、商業製品における実装や統合向けではなく、そのような用途に適したものでもありません。

ターボ符号のライセンス プログラムについては、次の住所の France Telecom 宛てにお問い合わせください。France Telecom R&D - PIV/TurboCodes 38-40, rue du General Leclerc 92794 Issy-les-Moulineaux Cedex 9, France

GUI の起動

LTEDLSCHcpugpuExample;

シミュレーションの概要

このシミュレーションは、LTE システムのダウンリンク共有チャネル部分をモデル化します。LTE 規格では、6144 ビットを超えるトランスポート ブロックはより小さいサブブロックにセグメント化できます。これらの各サブブロックは、別々にターボ符号化され、各々に CRC が適用されています。さらに後ろに各トランスポート ブロックの CRC が追加されます。この方式に則り、サブブロックは個別のデコードが可能であり、必要に応じて並列でも実行できます。GPU と CPU のシミュレーションは、ここでは別なアプロ―チをとります。CPU のシミュレーション ターボは、各サブブロックを順次デコードします。一方 GPU のシミュレーション ターボは、トランスポート ブロック内にあるすべてのサブブロックを並列にデコードします。GPU と CPU のシミュレーションはどちらも、サブブロック単位で (各ターボ デコード反復後の CRCチェックサム検査による) 初期中断を使用します。

シミュレーションの実行

[Mode] ボタン グループで、CPU のみのシミュレーション用の [CPU] オプションを選択します。[Start Simulation] をクリックして、ビット誤り率曲線の作成を開始します。シミュレーションは、実行を完了することも、また、[Stop] ボタンをクリックしてその前に停止させることもできます。[Mode] ボタン グループで [GPU] オプションを選択し、[Start Simulation] をクリックします。このシミュレーションでは、GPU ベースのターボ デコーダーを使用してビット誤り率を計算します。ランタイム統計は、ビット誤り率プロットの下に出力されます。

誤り率性能

コードのいずれのバージョンについてもビット誤り率曲線をプロットできます。[Number of Errors] フィールドは、1 つの点をプロットするために必要な誤り数を決定します。任意の誤り数を入力し、[Start Simulation] をクリックします。シミュレーションでは CPU でも GPU でも、まったく同じビット誤り率が得られます。GPU 高速化に対して精度のペナルティはありません。

データの読み込み

利用できる GRU がない場合でも、GPU 高速化のメリットは確認できます。[Mode] ボタン グループの [GPU] ボタンをクリックし、次に [Load Data] をクリックします。先に計算したビット誤り率曲線と関連する統計は、GUI にロードされます。同様に、CPU シミュレーションの場合、先に計算したビット誤り率曲線と統計は、[CPU] ボタン、[Load Data] の順にクリックするとロードできます。保存された CPU シミュレーションは、 Intel Xeon X5650 (2.67GHz、6 プロセッサ搭載) を使用しています。保存された GPU シミュレーションは、NVIDIA C2075 (14 プロセッサ搭載) を使用しています。

速度の向上

GPU と CPU の両方のシミュレーションが完全に実行されると (または保存データから読み込まれると)、全体の高速化が計算され、ランタイム ペインに表示されます。CPU と GPU の両方について保存データを使用する場合、GPU シミュレーションは、CPU のシミュレーションより 10 倍高速になります。

コードの差異

GPU 実装に必要な元の CPU ソース コードへの変更を確認するには、[View Code Differences] をクリックします。これにより比較ツールが起動し、GPU 高速化に必要な変更を確認できます。

結果の解析

この例では、LTE システムの一部に対するシミュレーションの高速化に、GPU をどのように使用できるかについて示します。このテストでは、マイナーなコード変更によってシミュレーション速度が10 倍向上しました。このパフォーマンスの向上による精度のデメリットはありません。ビット誤り率の計算の結果は、CPU でも GPU でも同じです。

付録

LTE システムのシミュレーションの CPU と GPU のバージョンは次になります。

参考文献

  1. 3GPP Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding (Release 10)", 3GPP TS 36.212 v10.0.0 (2010-12)

この情報は役に立ちましたか?