(57)【要約】【課題】演算器としてマルチコアＣＰＵと、ＧＰＵとを有する処理部を備えた、処理速度を向上した自動運転装置を提供。【解決手段】自動運転装置は、メモリを共有する複数のＣＰＵと、メモリと異なるメモリを用い複数のＣＰＵとＰＣＩバスを介してデータ転送を行うＧＰＵとを、並列処理が可能な演算器として含む処理部と、処理に用いる演算器の構成として、処理部の処理対象である物標の個数ごとに、レイテンシが最小となる演算器構成を特定可能なテーブルを記憶する記憶部とを備え、複数のＣＰＵの１つであるホストＣＰＵは、テーブルを参照して、処理すべき物標の個数においてレイテンシが最小となる演算器構成を特定し、特定した演算器構成による処理の実行を制御する。【選択図】図１
2019121275.tif 000002
【特許請求の範囲】
【請求項１】
メモリを共有する複数のＣＰＵと、前記メモリと異なるメモリを用い前記複数のＣＰＵとＰＣＩバスを介してデータ転送を行うＧＰＵとを、並列処理が可能な演算器として含む処理部と、
処理に用いる前記演算器の構成として、前記処理部の処理対象である物標の個数ごとに、レイテンシが最小となる演算器構成を特定可能なテーブルを記憶する記憶部とを備え、
前記複数のＣＰＵの１つであるホストＣＰＵは、前記テーブルを参照して、処理すべき前記物標の個数において前記レイテンシが最小となる演算器構成を特定し、特定した演算器構成による処理の実行を制御する、自動運転装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両等に搭載される自動運転装置に関する。
【背景技術】
【０００２】
車両用の自動運転装置は、レーダー等によって車両の周囲の物体を検出し、検出結果に基づいて、処理対象とされた物体である物標の位置、距離あるいは速度等の算出、衝突可能性の予測等の処理を行い、ブレーキ、ステアリングの操作や警告等を行う。自動運転の信頼性向上のためには物標の処理効率の向上が重要である。特許文献１は、レーダー反射強度が第１の閾値よりも高い高閾値物標と、第１の閾値以下かつ第２の閾値より高い低閾値物標とを検出し、同時処理できる最大物標数に制約があるなか、高閾値物体を一定程度優先的に処理対象とする対象選択方法を採用することで信頼性向上を図ることを開示している。
【０００３】
一方、各種演算処理システムにおいてその演算速度等のパフォーマンスの向上のための手法が提案されている。特許文献２は、異種マルチコア処理システムにおいて、第１のタイプの第１の処理コアでプログラムコードを実行しそのパフォーマンスを測定し、測定結果に基づいて、第２のタイプの第２の処理コアでプログラムコードを実行する際のパフォーマンスを予測し、予測結果が第１の処理コアのパフォーマンスよりも良好である場合には、プログラムコードの実行を、第１の処理コアから第２の処理コアにスイッチする手法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２３２４１２号公報
【特許文献２】特開２０１６−９５８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動運転装置の演算器構成として、マルチコアＣＰＵ（Central Processing Unit）と、ＣＰＵ以上の高速演算が期待できるＧＰＵ（Graphics Processing Unit）とを組み合わせ、処理速度を向上することが考えられる。しかし、ＣＰＵ間ではメモリを共有することでデータに高速にアクセスできるのに比べて、ＣＰＵとＧＰＵとの間ではＰＣＩバスを用いてデータ転送を行う必要があるため、データへのアクセスに時間がかかる。そのため、ＧＰＵを利用してもかえってデータ転送に要する時間がかかり、処理速度を向上させることができないおそれがある。
【０００６】
本発明は、上記課題を鑑みてなされたものであり、演算器としてマルチコアＣＰＵと、ＧＰＵとを有する処理部を備えた、処理速度を向上した自動運転装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一局面は、メモリを共有する複数のＣＰＵと、メモリと異なるメモリを用い複数のＣＰＵとＰＣＩバスを介してデータ転送を行うＧＰＵとを、並列処理が可能な演算器として含む処理部と、処理に用いる演算器の構成として、処理部の処理対象である物標の個数ごとに、レイテンシが最小となる演算器構成を特定可能なテーブルを記憶する記憶部とを備え、複数のＣＰＵの１つであるホストＣＰＵは、テーブルを参照して、処理すべき物標の個数においてレイテンシが最小となる演算器構成を特定し、特定した演算器構成による処理の実行を制御する、自動運転装置である。
【０００８】
これにより、物標の個数に応じて、実質的にレイテンシの最小化を実現する演算器構成を採用した処理が可能となり、処理速度を向上することができる。
【発明の効果】
【０００９】
本発明によれば、上述のように、物標の個数に応じて、データ転送時間も含めた実質的なレイテンシの最小化を実現する演算器構成を採用した処理が可能となり、処理速度を向上した自動運転装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る自動運転装置の機能ブロック図
【図２】本発明の一実施形態に係る自動運転装置の処理を示すシーケンス図
【発明を実施するための形態】
【００１１】
（概要）
本発明に係る自動運転装置は、マルチコアＣＰＵとＧＰＵとを並列処理させる。物標の個数に応じて、ＧＰＵのデータ転送時間も含めた実質的なレイテンシを最小化する演算器構成を、テーブルを参照することで特定し、特定した演算器構成で処理を実行することにより処理速度を向上させることができる。
【００１２】
（実施形態）
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。
【００１３】
＜構成＞
図１に、本実施形態における自動運転装置１００の要部の機能ブロック図を示す。自動運転装置１００は、演算器として、第１のＣＰＵ１１、第２のＣＰＵ１２、ＧＰＵ２１を有する処理部６０を含む。第１のＣＰＵ１１、第２のＣＰＵ１２は、ともにホストメモリ１０を用いて、データを共有することができるマルチコアＣＰＵを構成する。ＧＰＵ２１は、ホストメモリ１０とは異なるデバイスメモリ２０を用いる。そのため、ＧＰＵ２１と第１のＣＰＵ１１との間および、ＧＰＵ２１と第２のＣＰＵ１２との間は、一例としてＰＣＩバス３０を介してデータ転送が行われる。ＧＰＵ２１は、第１のＣＰＵ１１、第２のＣＰＵ１２より演算速度は速いが、第１のＣＰＵ１１あるいは第２のＣＰＵ１２との間のデータ転送に時間を要する。また、第１のＣＰＵ１１は、他のバス５０を介して、例えばＦｌａｓｈＲＯＭのような不揮発性の記憶部４０と接続されている。記憶部４０は、後述のテーブルを含む各種データ、プログラム等を記憶しており、第１のＣＰＵ１１は、適宜これらのデータを読み出すことができる。なお、記憶部４０は、他のバス５０ではなく、ＰＣＩ３０に接続されていてもよい。
【００１４】
＜処理＞
処理部６０は、レーダー等の各種センサによる車両周辺の物体の検出結果を表すデータである物標データを入力として受け付ける。そして物標データに基づいて、処理対象となる物標の同定、その位置、距離あるいは速度等の算出、衝突可能性の予測等の処理を行い、ブレーキ、ステアリングの操作や警告等のための各種制御指示を出力する。処理部６０に要求される単位時間あたりの処理量は、物標数に大きく依存する。そこで、ホストＣＰＵとして機能する第１のＣＰＵ１１は、物標数に応じて、物標データの入力から、処理結果の出力までに要する時間であるレイテンシを小さくするよう、第２のＣＰＵ１２やＧＰＵ２１にも処理を分担させる。その処理について、以下に説明する。図２に、処理部６０の各部が実施する処理のシーケンスを示す。本シーケンスは例えば自動運転装置１００による自動運転処置が開始されたときに開始される。
【００１５】
（ステップＳ１０１）：第１のＣＰＵ１１は、物標データを外部から受け付ける。
【００１６】
（ステップＳ１０２）：第１のＣＰＵ１１は、物標データが含む、物標の個数を特定する。そして、記憶部４０が記憶するテーブルを参照し、物標の個数に対応する演算器の構成を特定する。表１にテーブルの第１の例を示す。
【００１７】
【表１】
2019121275.tif 000003
【００１８】
表１に示すテーブルは、物標の個数ごとに、構成Ａ〜Ｅの各演算器の構成（組み合わせ）における物標データ処理のレイテンシ（単位ｍｓ）を保持する。例として、物標の個数が５０の場合、第１のＣＰＵ１１は、テーブルを参照して、物標の個数５０の場合に最もレイテンシが小さい構成Ｂを選択する。なお、表１では、分かりやすくするため、物標の個数ごとにレイテンシの最小値を枠で囲んで示す。また、物標の個数がテーブルの見出し値にない２００の場合は、第１のＣＰＵ１１は、例えば物標の個数を超える最小の見出し値である物標数３００の場合にレイテンシ最小となる構成Ｅを選択すればよい。テーブル中のレイテンシの値は、物標の個数および演算器の構成ごとに実測される値であり、第１のＣＰＵ１１、第２のＣＰＵ１２、ＧＰＵ２１の演算に要する時間や、ＧＰＵ２１のデータ転送を行う構成Ｃ、Ｄ、Ｅにおいてはさらにデータ転送に要する時間を含めた値であり、物標データ処理に要するトータルな処理時間を表す。テーブルは、開発段階において測定した値を設計値として保持してもよいし、自動運転装置１００を搭載した車両の走行中に測定した値を自動適合値として学習更新してもよい。また見出し値をさらに多く設けてもよい。
【００１９】
また、テーブルは、表２に示す例のように、物標の個数とレイテンシ最小となる演算器の構成との対応のみを保持するものとしてもよい。
【００２０】
【表２】
2019121275.tif 000004
【００２１】
以下、ステップＳ１０２において特定した演算器の構成に応じて処理が分かれる。構成ごとの処理の後、いずれもステップＳ１１８に進む。以下それぞれの処理を説明する。
【００２２】
〔構成Ａ〕
（ステップＳ１０３）：第１のＣＰＵ１１が単体で物標データ処理を実行する。
【００２３】
〔構成Ｂ〕
（ステップＳ１０４）：第１のＣＰＵ１１が物標データ処理を実行する。
（ステップＳ１０５）：第１のＣＰＵ１１は、ステップＳ１０４と並列的に、第２のＣＰＵ１２に物標データ処理を実行する指示を発行する。第２のＣＰＵ１２は指示に従い、物標データ処理を実行する。物標データおよび処理結果はホストメモリ１０によって第１のＣＰＵ１１および第２のＣＰＵ１２で共有される。
【００２４】
〔構成Ｃ〕
（ステップＳ１０６）：第１のＣＰＵ１１は、ＰＣＩバス３０を介して物標データをＧＰＵ２１に転送する。
（ステップＳ１０７）：第１のＣＰＵ１１は、ＧＰＵ２１に物標データ処理を実行する指示を発行する。ＧＰＵ２１は指示に従い、物標データ処理を実行する。
（ステップＳ１０８）：ＧＰＵ２１は、処理結果を、ＰＣＩバス３０を介して、第１のＣＰＵ１１に転送する。
【００２５】
〔構成Ｄ〕
（ステップＳ１０９）：第１のＣＰＵ１１は、ＰＣＩバス３０を介して物標データをＧＰＵ２１に転送する。
（ステップＳ１１０）：第１のＣＰＵ１１が物標データ処理を実行する。
（ステップＳ１１１）：第１のＣＰＵ１１は、ステップＳ１１０と並列的に、ＧＰＵ２１に物標データ処理を実行する指示を発行する。ＧＰＵ２１は指示に従い、物標データ処理を実行する。
（ステップＳ１１２）：ＧＰＵ２１は、処理結果を、ＰＣＩバス３０を介して、第１のＣＰＵ１１に転送する。
【００２６】
〔構成Ｅ〕
（ステップＳ１１３）：第１のＣＰＵ１１は、ＰＣＩバス３０を介して物標データをＧＰＵ２１に転送する。
（ステップＳ１１４）：第１のＣＰＵ１１が物標データ処理を実行する。
（ステップＳ１１５）：第２のＣＰＵ１１は、ステップＳ１１４と並列的に、第２のＣＰＵ１２に物標データ処理を実行する指示を発行する。第２のＣＰＵ１２は指示に従い、物標データ処理を実行する。物標データおよび処理結果はホストメモリ１０によって第１のＣＰＵ１１および第２のＣＰＵ１２で共有される。
（ステップＳ１１６）：第１のＣＰＵ１１は、ステップＳ１１４と並列的に、ＧＰＵ２１に物標データ処理を実行する指示を発行する。ＧＰＵ２１は指示に従い、物標データ処理を実行する。
（ステップＳ１１７）：ＧＰＵ２１は、処理結果を、ＰＣＩバス３０を介して、第１のＣＰＵ１１に転送する。
【００２７】
（ステップＳ１１８）：以上の構成ごとの処理の後、第１のＣＰＵ１１は、各演算器の物標データの処理結果をまとめ、自動運転装置１００の出力として外部に出力する。
【００２８】
以上で、１つの物標データに対する本処理は終了となるが、新たな物標データが入力されるごとに本処理が繰り返し実行される。
【００２９】
以上、本発明の一実施形態について説明したが、本発明は、本実施形態に限定されず、適宜変更して実施可能である。例えば、処理部が備えるＣＰＵやＧＰＵ等の演算器の数は、上述したものに限定されない。また、並列処理可能な演算器の構成も上述した構成Ａ−Ｅに限定されない。また、物標データ処理以外のデータ処理にも適用することが可能である。
【００３０】
＜効果＞
以上のように、本発明によれば、処理量に影響を与える物標の個数に応じて、データ転送時間も含めた実質的なレイテンシの最小化を実現する演算器構成を採用した処理が可能となり、処理速度を向上した自動運転装置を提供することができる。
【００３１】
なお、本発明は、自動運転装置として捉えるだけでなく、ＣＰＵを備えるコンピューターが実行する方法やその処理を記載したプログラムとして捉えることも可能である。
【産業上の利用可能性】
【００３２】
本発明は、車両用の自動運転装置等に有用である。
【符号の説明】
【００３３】
１０    ホストメモリ
１１    第１のＣＰＵ
１２    第２のＣＰＵ
２０    デバイスメモリ
２１    ＧＰＵ
３０    ＰＣＩバス
４０    記憶部
５０    バス
６０    処理部
１００    自動運転装置
【図１】
2019121275.tif 000005
【図２】
2019121275.tif 000006