IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 上▲海▼商▲湯▼智能科技有限公司の特許一覧

特表2022-514382情報処理方法、装置、電子デバイス、及び記録媒体
<>
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図1
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図2
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図3
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図4
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図5
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図6
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図7
  • 特表-情報処理方法、装置、電子デバイス、及び記録媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-10
(54)【発明の名称】情報処理方法、装置、電子デバイス、及び記録媒体
(51)【国際特許分類】
   G06F 9/38 20060101AFI20220203BHJP
   G06F 9/50 20060101ALI20220203BHJP
   G06F 15/167 20060101ALI20220203BHJP
【FI】
G06F9/38 370C
G06F9/50 120A
G06F15/167 610A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021535674
(86)(22)【出願日】2020-07-20
(85)【翻訳文提出日】2021-06-18
(86)【国際出願番号】 CN2020103047
(87)【国際公開番号】W WO2021023000
(87)【国際公開日】2021-02-11
(31)【優先権主張番号】201910733625.1
(32)【優先日】2019-08-06
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520180323
【氏名又は名称】上▲海▼商▲湯▼智能科技有限公司
【氏名又は名称原語表記】SHANGHAI SENSETIME INTELLIGENT TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 1605A, Building 3, 391 Guiping Road, Xuhui District, Shanghai 200233 China
(74)【代理人】
【識別番号】110000729
【氏名又は名称】特許業務法人 ユニアス国際特許事務所
(72)【発明者】
【氏名】▲陳▼ ▲凱▼亮
(72)【発明者】
【氏名】▲許▼ 志耿
【テーマコード(参考)】
5B013
5B045
【Fターム(参考)】
5B013DD03
5B045DD06
5B045DD11
5B045GG09
(57)【要約】
本発明の実施例は、情報処理方法、装置、電子デバイス、及び記録媒体を提供し、前記方法は、CPUが、処理すべきデータを取得することと、処理すべきデータに仮想記憶空間を割り当てることと、処理すべきデータを仮想記憶空間に記憶することと、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信することと、を含み、データ処理命令は、DSPが、当該情報に対応する仮想記憶空間から処理すべきデータを取得し、処理すべきデータに対して処理を実行するようにするために使用される。
【選択図】図2
【特許請求の範囲】
【請求項1】
情報処理方法であって、
中央処理装置(CPU)が、処理すべきデータを取得することと、
前記処理すべきデータに仮想記憶空間を割り当てることと、
前記処理すべきデータを前記仮想記憶空間に記憶することと、
前記仮想記憶空間の情報が付加されたデータ処理命令をデジタルシグナルプロセッサ(DSP)に送信することと、を含み、
前記データ処理命令は、前記DSPが、前記情報に対応する仮想記憶空間から前記処理すべきデータを取得し、前記処理すべきデータに対して処理を実行するようにするために使用される
ことを特徴とする情報処理方法。
【請求項2】
前記仮想記憶空間は、前記CPUが属する電子デバイスのバッファ内の第1バッファ空間に対応され、
前記処理すべきデータを前記仮想記憶空間に記憶することは、
前記CPUが前記処理すべきデータを前記第1バッファ空間に記憶することを含み、
前記DSPが前記情報に対応する仮想記憶空間から前記処理すべきデータを取得することは、
前記DSPが前記情報に対応する前記第1バッファ空間から前記処理すべきデータを取得することを含む
ことを特徴とする請求項1に記載の情報処理方法。
【請求項3】
前記処理すべきデータに仮想記憶空間を割り当てることは、
前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求することと、
前記電子デバイスのバッファから返された前記第1バッファ空間の位置指示情報に基づいて、前記仮想記憶空間の物理的記憶位置を決定することと、を含む
ことを特徴とする請求項2に記載の情報処理方法。
【請求項4】
前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求することは、
バッファ空間を要求するための、前記処理すべきデータに必要な記憶空間の大きさの情報が付加されている要求を前記電子デバイスのバッファに送信することと、
前記第1バッファ空間のベースアドレスを指示するための、前記バッファからの位置指示情報を受信することと、を含む
ことを特徴とする請求項3に記載の情報処理方法。
【請求項5】
前記処理すべきデータは、少なくとも1つの配列を含み、各配列は、同じタイプのデータを含み、
前記情報処理方法は、
前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定することと、
前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定することと、をさらに含む
ことを特徴とする請求項1~3の中のいずれか1項に記載の情報処理方法。
【請求項6】
前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記少なくとも1つの配列の中の各配列の、前記仮想記憶空間におけるオフセット量を決定することをさらに含む
ことを特徴とする請求項5に記載の情報処理方法。
【請求項7】
前記処理すべきデータのデータ量および前記処理すべきデータに対応する結果データ量に基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定することをさらに含む
ことを特徴とする請求項1~3の中のいずれか1項に記載の情報処理方法。
【請求項8】
前記処理すべきデータは、ニューラルネットワークモデルにおける目標ネットワーク層のネットワークパラメータおよび入力データを含む
ことを特徴とする請求項1~7の中のいずれか1項に記載の情報処理方法。
【請求項9】
情報処理方法であって、
デジタルシグナルプロセッサ(DSP)が、仮想記憶空間の情報が付加された、中央処理装置(CPU)からのデータ処理命令を受信することと、
前記情報に対応する仮想記憶空間から処理すべきデータを取得することと、
前記処理すべきデータに対して前記データ処理命令によって指示された処理操作を実行することと、を含む
ことを特徴とする情報処理方法。
【請求項10】
前記情報に対応する仮想記憶空間は、前記CPUが属する電子デバイスのバッファ内の第1バッファ空間に対応され、
前記情報に対応する仮想記憶空間から処理すべきデータを取得することは、
前記情報に対応する第1バッファ空間から処理すべきデータを取得することを含む
ことを特徴とする請求項9に記載の情報処理方法。
【請求項11】
前記処理すべきデータの処理結果を前記情報に対応する第1バッファ空間に記憶することをさらに含む
ことを特徴とする請求項9または10に記載の情報処理方法。
【請求項12】
前記処理すべきデータは、ニューラルネットワークモデルにおける目標ネットワーク層のネットワークパラメータおよび入力データである
ことを特徴とする請求項9~11の中のいずれか1項に記載の情報処理方法。
【請求項13】
情報処理装置であって、
処理すべきデータを取得するための取得ユニットと、
前記処理すべきデータに仮想記憶空間を割り当てるための割り当てユニットと、
前記処理すべきデータを前記仮想記憶空間に記憶するための記憶ユニットと、
前記仮想記憶空間の情報が付加されたデータ処理命令をデジタルシグナルプロセッサ(DSP)に送信するための送信ユニットと、を備え、
前記データ処理命令は、前記DSPが、前記情報に対応する仮想記憶空間から前記処理すべきデータを取得し、前記処理すべきデータに対して処理を実行するようにするために使用される
ことを特徴とする情報処理装置。
【請求項14】
前記仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、
前記記憶ユニットは、具体的に、前記処理すべきデータを前記第1バッファ空間に記憶し、
前記DSPが前記情報に対応する仮想記憶空間から前記処理すべきデータを取得することは、
前記DSPが前記情報に対応する前記第1バッファ空間から前記処理すべきデータを取得することを含む
ことを特徴とする請求項13に記載の情報処理装置。
【請求項15】
前記割り当てユニットは、具体的に、
前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求し、
前記電子デバイスのバッファから返された前記第1バッファ空間の位置指示情報に基づいて、前記仮想記憶空間の物理的記憶位置を決定する
ことを特徴とする請求項14に記載の情報処理装置。
【請求項16】
前記割り当てユニットが、前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求するときに、
バッファ空間を要求するための、前記処理すべきデータに必要な記憶空間の大きさの情報が付加されている要求を前記電子デバイスのバッファに送信し、
前記第1バッファ空間のベースアドレスを指示するための、前記バッファからの位置指示情報を受信するように構成されている
ことを特徴とする請求項15に記載の情報処理装置。
【請求項17】
前記処理すべきデータは、少なくとも1つの配列を含み、各配列は、同じタイプのデータを含み、
前記情報処理装置は、
前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定するための第1決定ユニットをさらに備え、
前記第1決定ユニットは、さらに、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定する
ことを特徴とする請求項13~15の中のいずれか1項に記載の情報処理装置。
【請求項18】
前記第1決定ユニットは、さらに、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記少なくとも1つの配列の中の各配列の、前記仮想記憶空間におけるオフセット量を決定する
ことを特徴とする請求項16に記載の情報処理装置。
【請求項19】
前記処理すべきデータのデータ量および前記処理すべきデータに対応する結果データ量に基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定するための第2決定ユニットをさらに備える
ことを特徴とする請求項13~15の中のいずれか1項に記載の情報処理装置。
【請求項20】
前記処理すべきデータは、ニューラルネットワークモデルにおける目標ネットワーク層のネットワークパラメータおよび入力データを含む
ことを特徴とする請求項13~19の中のいずれか1項に記載の情報処理装置。
【請求項21】
情報処理装置であって、
仮想記憶空間の情報が付加された、中央処理装置(CPU)からのデータ処理命令を受信するための受信ユニットと、
前記情報に対応する仮想記憶空間から処理すべきデータを取得するための取得ユニットと、
前記処理すべきデータに対して前記データ処理命令によって指示された処理操作を実行するための処理ユニットと、を備える
ことを特徴とする情報処理装置。
【請求項22】
前記情報に対応する仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、
前記取得ユニットは、具体的に、前記情報に対応する第1バッファ空間から処理すべきデータを取得する
ことを特徴とする請求項21に記載の情報処理装置。
【請求項23】
前記処理すべきデータの処理結果を前記情報に対応する第1バッファ空間に記憶するための記憶ユニットをさらに備える
ことを特徴とする請求項21または22に記載の情報処理装置。
【請求項24】
前記処理すべきデータは、ニューラルネットワークモデルにおける目標ネットワーク層のネットワークパラメータおよび入力データである
ことを特徴とする請求項21~23の中のいずれか1項に記載の情報処理装置。
【請求項25】
情報処理装置であって、
プロセッサと、コンピュータ命令を記憶するためのメモリとを備え、
前記メモリは、コンピュータ命令を記憶し、
前記プロセッサは、前記コンピュータ命令を呼び出して、請求項1~12の中のいずれか1項に記載の情報処理方法を実行する
ことを特徴とする情報処理装置。
【請求項26】
電子デバイスであって、
請求項13~20の中のいずれか1項に記載の情報処理装置と、請求項21~24の中のいずれか1項に記載の情報処理装置と、を備える
ことを特徴とする電子デバイス。
【請求項27】
可読記録媒体であって、
前記可読記録媒体には、コンピュータプログラムが記憶されており、
前記コンピュータプログラムがプロセッサによって実行されるときに、請求項1~12の中のいずれか1項に記載の情報処理方法が実現される
ことを特徴とする可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術の分野に関し、具体的には、情報処理方法、装置、電子デバイス、及び記録媒体に関する。
【背景技術】
【0002】
コンピュータ技術の継続的な発展に伴い、処理の必要があるデータがますます多くなっている。データを処理するときに、通常、中央処理装置(central processing unit、CPU)とデジタルシグナルプロセッサ(digital signal processor、DSP)とが連携して完了する必要がある。しかしながら、DSPは、CPUのメモリ空間を直接アクセスすることができなく、CPUは、同様に、DSPによって開かれた空間も直接アクセスすることができない。現在、ニューラルネットワークモデルを利用してデータ処理を実行する過程において、CPUは操作ごとに1回DSPを呼び出すため、DSPのスケジューリングオーバーヘッドが大きくなる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の実施例は、情報処理方法、装置、電子デバイス、及び記録媒体を提供する。
【課題を解決するための手段】
【0004】
第1態様は、情報処理方法を提供し、当該方法は、CPUが処理すべきデータを取得することと、前記処理すべきデータに仮想記憶空間を割り当てることと、前記処理すべきデータを前記仮想記憶空間に記憶することと、前記仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信することと、を含み、前記データ処理命令は、前記DSPが、前記情報に対応する仮想記憶空間から前記処理すべきデータを取得し、前記処理すべきデータに対して処理を実行するようにするために使用される。
【0005】
可能な1実施形態として、前記仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、前記処理すべきデータを前記仮想記憶空間に記憶することは、CPUが前記処理すべきデータを前記第1バッファ空間に記憶することを含み、前記DSPが前記情報に対応する仮想記憶空間から前記処理すべきデータを取得することは、前記DSP前記情報に対応する第1バッファ空間から前記処理すべきデータを取得することを含む。
【0006】
可能な1実施形態として、前記処理すべきデータに仮想記憶空間を割り当てることは、前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求することと、前記電子デバイスのバッファから返された第1バッファ空間の位置指示情報に基づいて、前記仮想記憶空間の物理的記憶位置を決定することと、を含む。
【0007】
可能な1実施形態として、前記処理すべきデータは、少なくとも1つの配列を含み、各配列は、同じタイプのデータを含み、前記方法は、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定することと、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定することと、をさらに含む。
【0008】
可能な1実施形態として、前記方法は、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記少なくとも1つの配列の中の各配列の前記仮想記憶空間におけるオフセット量を決定することをさらに含む。
【0009】
可能な1実施形態として、前記方法は、前記処理すべきデータのデータ量および前記処理すべきデータに対応する結果データ量に基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定することをさらに含む。
【0010】
可能な1実施形態として、前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求することは、バッファ空間を要求するための、前記処理すべきデータに必要な記憶空間の大きさの情報が付加されている要求を、前記電子デバイスのバッファに送信することと、前記第1バッファ空間のベースアドレスを指示するための、前記バッファからの位置指示情報を、受信することと、を含む。
【0011】
可能な1実施形態として、前記処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データである。
【0012】
第2態様は、もう1種の情報処理方法を提供し、当該方法は、DSPが、仮想記憶空間の情報が付加された、CPUからのデータ処理命令を、受信することと、前記情報に対応する仮想記憶空間から処理すべきデータを取得することと、前記処理すべきデータに対して処理を実行することと、を含む。
【0013】
可能な1実施形態として、前記情報に対応する仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、前記情報に対応する仮想記憶空間から処理すべきデータを取得することは、前記情報に対応する第1バッファ空間から処理すべきデータを取得することを含む。
【0014】
可能な1実施形態として、前記方法は、前記処理すべきデータの処理結果を前記情報に対応する第1バッファ空間に記憶することをさらに含む。
【0015】
可能な1実施形態として、前記処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データである。
【0016】
第3態様は、情報処理装置を提供し、当該装置は、処理すべきデータを取得するための取得ユニットと、前記処理すべきデータに仮想記憶空間を割り当てるための割り当てユニットと、前記処理すべきデータを前記仮想記憶空間に記憶するための記憶ユニットと、前記仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信するための送信ユニットと、を備え、前記データ処理命令は、前記DSPが、前記情報に対応する仮想記憶空間から前記処理すべきデータを取得し、前記処理すべきデータに対して処理を実行するようにするために使用される。
【0017】
第4態様は、もう1種の情報処理装置を提供し、当該装置は、仮想記憶空間の情報が付加された、CPUからのデータ処理命令を、受信するための受信ユニットと、前記情報に対応する仮想記憶空間から処理すべきデータを取得するための取得ユニットと、前記処理すべきデータに対して処理を実行するための処理ユニットと、を備える。
【0018】
第5態様は、情報処理装置を提供し、当該装置は、プロセッサとメモリとを備え、前記メモリは、コンピュータ可読命令を記憶し、プロセッサは、前記メモリに記憶された前記コンピュータ可読命令を呼び出して、第1態様または第1態様の中の任意の可能な1実施形態によって提供される情報処理方法を実行する。
【0019】
第6態様は、情報処理装置を提供し、当該装置は、プロセッサとメモリとを備え、前記メモリは、コンピュータ可読命令を記憶し、プロセッサは、前記メモリに記憶された前記コンピュータ可読命令を呼び出して、第2態様または第2態様の中の任意の可能な1実施形態によって提供される情報処理方法を実行する。
【0020】
第7態様は、電子デバイスを提供し、当該電子デバイスは、第5態様によって提供される情報処理装置と第6態様によって提供される情報処理装置とを備えるか、または、第3態様によって提供される情報処理装置と第4態様によって提供される情報処理装置とを備える。
【0021】
第8態様は、可読記録媒体を提供し、当該可読記録媒体には、コンピュータプログラムが記憶されており、当該コンピュータプログラムは、プログラムコードを含み、当該プログラムコードがプロセッサによって実行されるときに、当該プロセッサが第1態様または第1態様の中の任意の可能な1実施形態によって提供される情報処理方法、または、第2態様または第2態様の中の任意の可能な1実施形態によって提供される情報処理方法を実行するようにする。
【0022】
第9態様は、コンピュータプログラム製品を提供し、当該コンピュータプログラム製品は、運行されるときに、第1態様または第1態様の中の任意の可能な1実施形態によって提供される情報処理方法、または、第2態様または第2態様の中の任意の可能な1実施形態によって提供される情報処理方法を実行する。
【発明の効果】
【0023】
本発明の実施例において、CPUが処理すべきデータを取得し、処理すべきデータに仮想記憶空間を割り当て、処理すべきデータを仮想記憶空間に記憶し、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信し、ここで、データ処理命令は、DSPが、当該情報に対応する仮想記憶空間から処理すべきデータを取得し、処理すべきデータに対して処理を実行するようにするために使用される。このようにして、CPUによって仮想記憶空間を介して複数の操作に対応するデータを一度にDSPに送信することができ、DSPのスケジューリングオーバーヘッドを減らし、情報処理効率を向上させることができる。
【図面の簡単な説明】
【0024】
図1】本発明の実施例によって提供される1つの電子デバイスを示す模式図である。
図2】本発明の実施例によって提供される1つの情報処理方法のフローを示す模式図である。
図3】本発明の実施例によって提供される別の情報処理方法のフローを示す模式図である。
図4】本発明の実施例によって提供される別の情報処理方法のフローを示す模式図である。
図5】本発明の実施例によって提供される別の情報処理方法のフローを示す模式図である。
図6】本発明の実施例によって提供される1つの情報処理装置の構成を示す模式図である。
図7】本発明の実施例によって提供される別の情報処理装置の構成を示す模式図である。
図8】本発明の実施例によって提供される別の情報処理装置の構成を示す模式図である。
【発明を実施するための形態】
【0025】
本発明の実施例は、データ処理効率を向上させるための、情報処理方法、装置、電子デバイス、及び記録媒体を提供する。以下、それぞれ詳細に説明する。
【0026】
現在、ニューラルネットワークモデルのデータ処理では、DSP(たとえば、hexagon)がより広く使用されており、高い計算性能と低消費電力という利点がある。しかしながら、DSPの使用には、追加の考慮が必要となる問題が多くある。
【0027】
たとえば、DSPは、CPUのメモリ空間を直接アクセスすることができない。同様に、CPUも、DSPによって開かれた空間を直接アクセスすることができない。DSPとCPUがデータを交換する必要がある場合、IONバッファ(ION Buffer)を介してアドレス空間を割り当てる必要がある。たとえば、CPUがDSPを呼び出す必要がある場合、高速リモートプロシージャコール(Fast Remote Procedure Call,FastRPC)メカニズムを介して、今回呼び出す、CPUがDSPに転送しようとするデータのみを、ION Bufferによって割り当てられたアドレス空間にマッピングする。しかしながら、1回のDSPの呼び出しでマッピングできるアドレス空間の数には、限りがあり、また、あるアドレス空間が今回の呼び出しでマッピングされていない場合、以前に当該アドレス空間がマッピングされていても、DSPは当該アドレス空間のデータを正しくアクセスすることができない。
【0028】
DSPとCPUがいずれもニューラルネットワークモデルのデータ処理に適用される場合、ニューラルネットワークモデルの操作ごとに、1回DSPを呼び出す必要がある。したがって、ニューラルネットワークモデルの深さがより深い場合、CPUはDSPに対する1回の呼び出しで、データ処理に必要なすべてのデータを転送することができないし、DSPに対して複数回の呼び出しを実行する必要がある。しかしながら、DSPを繰り返して呼び出すと、非常に大きなオーバーヘッドが発生する。また、DSPを毎回呼び出すたびに、ION Bufferにマッピングされたアドレス空間が互いに異なる可能性があり、DSPが前回の呼び出しでマッピングされたアドレス空間のデータを正しくアクセスすることができない。
【0029】
これに鑑みて、本発明は、ニューラルネットワークモデルに適用できる情報処理方法を提案する。当該方法によると、CPUによって1つの仮想記憶空間を維持することができ、当該仮想記憶空間には、DSPがニューラルネットワークモデルのデータ処理を実行するために必要な情報(たとえば、重みパラメータおよび入力データ)が記憶されており、また、当該仮想記憶空間は、DSPによって共有できる。このような方法によって、CPUは、1回または限られた回数の呼び出しで、DSPがニューラルネットワークモデルのデータ処理の全体を実行するために必要なすべてのデータを、DSPに転送することができ、DSP呼び出しによるオーバーヘッドを最小限に抑えた。
【0030】
図1を参照すると、図1は、本発明の実施例適用の1つの電子デバイスを示す模式図である。図1に示すように、電子デバイスは、CPU101と、DSP102と、バッファ103と、を含み得る。CPU101は、データが付加された運行命令を受信し、受信された運行命令に基づいてDSP102をスケジューリングする。DSP102は、CPU101のスケジューリングに応答して、データに対して処理を実行する。バッファ103は、データをバッファリングする。オプションとして、当該バッファ103は、IONバッファ、またはCPUとDSPによってアクセスできる他のバッファまたは記憶モジュールであり得る。
【0031】
図2を参照すると、図2は、本発明の実施例によって提供される1つの情報処理方法のフローを示す模式図である。当該情報処理方法は、CPUの観点から説明される。図2に示すように、当該情報処理方法は、以下のステップ201~204を含み得る。
【0032】
201において、処理すべきデータを取得する。
【0033】
CPUは、処理すべきデータが付加された運行命令を取得し、当該運行命令に基づいてDSPに対してスケジューリングを実行することができる。当該運行命令は、ユーザによって入力されたものであってもよいし、CPUが属する電子デバイスによって生成されたものであってもよいし、他の電子デバイスまたはサーバによって送信されたものであってもよい。処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データであり得、当該ネットワーク層の層数は1よりも大きい。処理すべきデータは、DSPのみで処理する他のデータまたはCPUとDSPで一緒に処理する必要があるデータであり得る。
【0034】
202において、処理すべきデータに仮想記憶空間を割り当てる。
【0035】
CPUは、処理すべきデータを取得した後に、処理すべきデータに仮想記憶空間を割り当てる。処理すべきデータに必要な記憶空間の大きさに基づいて、電子デバイスのバッファにバッファ空間を要求した後に、電子デバイスのバッファから返された第1バッファ空間の位置指示情報に基づいて仮想記憶空間に対応する物理的記憶位置を決定することができる。電子デバイスのバッファが、CPUが属する電子デバイス中のバッファであり、当該バッファはCPUとDSPによってアクセスできる。当該バッファは、IONバッファ、またはCPUとDSPによってアクセスできる他のバッファであり得る。
【0036】
CPUは、まずバッファ空間を要求するための要求(要求命令など)を電子デバイス中のバッファに送信することができ、当該要求には、処理すべきデータに必要な記憶空間の大きさの情報が付加され得る。バッファは、CPUからの要求を受信した後に、バッファの空きバッファ空間から第1バッファ空間を選択することができ、第1バッファ空間の大きさは、処理すべきデータに必要な記憶空間の大きさと等しい。また、バッファは、第1バッファ空間に、第1バッファ空間を指すポインタなどの位置指示情報を割り当てた後に、CPUに当該位置指示情報を返す。CPUは、バッファからの第1バッファ空間の位置指示情報を受信した後に、処理すべきデータに必要な記憶空間の大きさに基づいて仮想記憶空間を作成し、仮想記憶空間にベースアドレスを割り当てて、仮想記憶空間のベースアドレスと当該位置指示情報との間の対応関係を構築することができる。処理すべきデータに必要な記憶空間の大きさに基づいて仮想記憶空間を作成すること、および、仮想記憶空間にベースアドレスを割り当てることは、バッファ空間を要求するための要求を電子デバイス中のバッファに送信する前に実行してもよい。バッファ空間を要求するための要求を電子デバイス中のバッファに送信する前に、すでに、処理すべきデータに必要な記憶空間の大きさに基づいて仮想記憶空間を作成し、また仮想記憶空間にベースアドレスを割り当てた場合、当該要求には仮想記憶空間のベースアドレスが付加されてもよい。この場合、バッファは、当該位置指示情報と仮想記憶空間のベースアドレスとの間の対応関係を構築することができる。CPUは、バッファからの第1バッファ空間を指示する位置指示情報を受信した後に、仮想記憶空間のベースアドレスと当該位置指示情報との間の対応関係を構築しないでもよい。第1バッファ空間の位置指示情報は、第1バッファ空間のベースアドレスを指示するために使用される。これから分かるように、仮想記憶空間を利用して、複数の操作を含む処理すべきデータを、バッファ内のポインタなどの1つの位置指示情報に対応させることができる。このようにして、仮想記憶空間を利用して、複数の操作を含むデータをDSPに一度に共有することができ、情報処理効率を向上させることができる。なお、第1バッファ空間が処理すべきデータに必要な記憶空間の大きさに基づいて要求したものであるため、適当なバッファ空間を要求することができ、すなわち、多すぎるバッファ空間が要求されることでバッファ空間が無駄になったり、少なすぎるバッファ空間が要求されることで処理すべきデータのバッファ処理の実行ができなかったりすることはない。
【0037】
203において、処理すべきデータを仮想記憶空間に記憶する。
【0038】
CPUは、処理すべきデータに仮想記憶空間を割り当てた後に、処理すべきデータを仮想記憶空間に記憶することができ、すなわち、処理すべきデータを仮想記憶空間に対応する第1バッファ空間に記憶することができる。
【0039】
204において、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信する。
【0040】
CPUは、処理すべきデータを仮想記憶空間に記憶した後に、DSPが仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得して処理すべきデータに対して処理を実行するように、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信することができる。CPUは、予め設定された関数ライブラリを呼び出して、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信してもよい。予め設定された関数ライブラリは、FastRPCなどの、DSPを呼び出すために使用される関数ライブラリである。仮想記憶空間の情報は、仮想記憶空間のベースアドレスを含み得る。
【0041】
図2で説明した情報処理方法において、CPUは、仮想記憶空間を利用して複数の操作のデータを一度にDSPに共有することができ、この過程で1回DSPスケジューリングのみが必要であるため、DSPのスケジューリングオーバーヘッドを減らし、情報処理効率を向上させることができる。
【0042】
図3を参照すると、図3は、本発明の実施例によって提供される別の情報処理方法のフローを示す模式図である。当該情報処理方法は、CPUの観点から説明される。図3に示すように、当該情報処理方法は、以下のステップ301~305を含み得る。
【0043】
301において、処理すべきデータを取得する。
【0044】
ステップ301は、ステップ201と同じであり、詳細な説明は、ステップ201を参考することができ、ここでは繰り返して説明しない。
【0045】
302において、処理すべきデータに必要な記憶空間の大きさを決定する。
【0046】
CPUは、処理すべきデータを取得した後に、処理すべきデータに必要な記憶空間の大きさを決定することができる。いくつかの実施例において、まず、処理すべきデータに含まれている少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定した後に、少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、処理すべきデータに必要な記憶空間の大きさを決定することができ、すなわち、少なくとも1つの配列の中の各配列に必要な記憶空間の大きさの合計を、処理すべきデータに必要な記憶空間の大きさとして決定することができる。ここで、各配列は、同じタイプのデータを含む。
【0047】
いくつかの実施例において、処理すべきデータのデータ量および処理すべきデータに対応する結果データ量(すなわち、処理すべきデータに対応する結果データのデータ量)に基づいて、処理すべきデータに必要な記憶空間の大きさを決定することもでき、すなわち、処理すべきデータのデータ量と処理すべきデータに対応する結果データ量の合計を、処理すべきデータに必要な記憶空間の大きさとして決定できる。当該結果データ量は、処理すべきデータに関わる処理パラメータに基づいて予め決定することができる。
【0048】
いくつかの実施例において、さらに、まず、処理すべきデータに含まれている少なくとも1つの配列の中の各配列のデータ量および各配列に対応する結果データ量を決定した後に、少なくとも1つの配列の中の各配列のデータ量および各配列に対応する結果データ量に基づいて、少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定することができる。すなわち、まず、各配列に含まれているデータに必要な記憶空間の大きさおよび当該配列に含まれているデータに対応する結果に必要な記憶空間の大きさを計算した後に、各配列に含まれているデータに必要な記憶空間の大きさおよび当該配列に含まれているデータに対応する結果に必要な記憶空間の大きさの合計によって、各配列に必要な記憶空間の大きさを得ることができる。
【0049】
303において、処理すべきデータに必要な記憶空間の大きさに基づいて処理すべきデータに仮想記憶空間を割り当てる。
【0050】
ステップ303は、ステップ202と同じであり、詳細な説明は、ステップ202を参考することができ、ここでは繰り返して説明しない。なお、CPUは、さらに、少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、少なくとも1つの配列の中の各配列の仮想記憶空間におけるオフセット量を決定することができる。その後に、ベースアドレスおよびオフセット量に基づいて仮想記憶空間にデータを書き込むことができる。
【0051】
304において、処理すべきデータを仮想記憶空間に記憶する。
【0052】
ステップ304は、ステップ203と同じであり、詳細な説明は、ステップ203を参考することができ、ここでは繰り返して説明しない。
【0053】
305において、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信する。
【0054】
ステップ305は、ステップ204と同じであり、詳細な説明は、ステップ204を参考することができ、ここでは繰り返して説明しない。
【0055】
図3で説明した情報処理方法において、CPUは、仮想記憶空間を利用して、複数の操作を含むデータをDSPに一度に送信することができ、DSPのスケジューリングオーバーヘッドを減らし、情報処理効率を向上させることができる。
【0056】
図4を参照すると、図4は、本発明の実施例によって提供される別の情報処理方法のフローを示す模式図である。当該情報処理方法は、DSPの観点から説明される。図4に示すように、当該情報処理方法は、以下のステップ401~404を含み得る。
【0057】
401において、CPUからのデータ処理命令を受信する。
【0058】
CPUが仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信した後に、DSPは、CPUからの当該データ処理命令を受信する。CPUとDSPは、いずれも、仮想記憶空間の情報に対応する仮想記憶空間をアクセスする権限を有する。
【0059】
402において、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得する。
【0060】
DSPは、CPUからのデータ処理命令を受信した後に、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得する。仮想記憶空間の情報に対応する仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、CPUとDSPは、いずれも、電子デバイスのバッファをアクセスするための権限を有する。したがって、DSPは、仮想記憶空間の情報に対応する第1バッファ空間から処理すべきデータを取得する。第1バッファ空間の位置指示情報と仮想記憶空間のベースアドレスとの間の対応関係がCPUによって構築される場合、DSPは、まず、仮想記憶空間の情報に対応する位置指示情報を取得してから、位置指示情報に対応する第1バッファ空間から処理すべきデータを取得する。第1バッファ空間の位置指示情報と仮想記憶空間のベースアドレスとの間の対応関係がバッファによって構築される場合、DSPは、仮想記憶空間の情報が付加されたデータ取得要求を直接バッファに送信することができ、バッファは、DSPからのデータ取得要求を受信した後に、仮想記憶空間の情報、および位置指示情報と仮想記憶空間の情報との間の対応関係に基づいて、仮想記憶空間の情報に対応する位置指示情報を取得し、位置指示情報に対応する第1バッファ空間から処理すべきデータを取得してから、処理すべきデータをDSPに返すことができる。
【0061】
403において、処理すべきデータに対して処理を実行する。
【0062】
DSPは、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得した後に、処理すべきデータに対して処理を実行する。処理すべきデータに対する処理は、畳み込み処理を含み得、さらに、全結合処理など他の処理も含み得る。
【0063】
404において、処理すべきデータの処理結果を仮想記憶空間の情報に対応する第1バッファ空間に記憶する。
【0064】
DSPは、処理すべきデータに対して処理を実行した後に、処理すべきデータの処理結果を仮想記憶空間の情報に対応する第1バッファ空間に記憶することができる。バッファに記憶命令を送信することができ、当該記憶命令には処理結果および仮想記憶空間の情報が付加されている。バッファは、DSPからの記憶命令を受信した後に、処理結果を第1バッファ空間に記憶する。
【0065】
DSPは、処理すべきデータの処理結果を仮想記憶空間の情報に対応する第1バッファ空間に記憶した後に、CPUがバッファから処理結果を取得するように、処理完了応答消息をCPUに送信してもよく、バッファのバッファ空間をタイムリーでクリアすることができる。
【0066】
図4で説明した情報処理方法において、DSPは、仮想記憶空間の情報を利用して、仮想記憶空間からデータを一度に取得して処理することができ、データ処理効率を向上させることができる。
【0067】
図5を参照すると、図5は、本発明の実施例によって提供される別の情報処理方法のフローを示す模式図である。当該情報処理方法は、CPUとDSPの観点から説明される。図5に示すように、当該情報処理方法は、以下のステップ501~510を含み得る。
【0068】
501において、CPUが処理すべきデータを取得する。
【0069】
ステップ501は、ステップ201と同じであり、詳細な説明は、ステップ201を参考することができ、ここでは繰り返して説明しない。
【0070】
502において、CPUが処理すべきデータに必要な記憶空間の大きさを決定する。
【0071】
ステップ502は、ステップ302と同じであり、詳細な説明は、ステップ302を参考することができ、ここでは繰り返して説明しない。
【0072】
503において、CPUがバッファ空間を要求するための要求をバッファに送信する。
【0073】
CPUは、処理すべきデータに必要な記憶空間の大きさを決定した後に、バッファ空間を要求するための要求をバッファに送信することができ、当該要求には処理すべきデータに必要な記憶空間の大きさの情報が付加されている。
【0074】
504において、バッファが第1バッファ空間の位置指示情報をCPUに送信する。
【0075】
バッファは、CPUからの要求を受信した後に、当該情報に対応する記憶空間の大きさに基づいて空きバッファ空間から第1バッファ空間を選択し、第1バッファ空間の位置指示情報をCPUに送信する。たとえば、CPUにポインタを送信することによって、第1バッファ空間のベースアドレスを指示する。
【0076】
505において、CPUが位置指示情報に基づいて仮想記憶空間に対応する物理的記憶アドレスを決定する。
【0077】
CPUは、処理すべきデータに必要な記憶空間の大きさを決定した後に、処理すべきデータに必要な記憶空間の大きさに基づいて、処理すべきデータに仮想記憶空間を割り当てることができ、たとえばデータの仮想記憶空間におけるオフセット量を割り当てることができる。当該オフセット量は、各配列のデータの仮想記憶空間におけるオフセット量でもあり得、各配列のデータおよび対応する結果データのオフセット量でもあり得る。当該オフセット量は、仮想記憶空間のベースアドレスに対して決定される。他の関連する説明は、上述した実施例を参考することができる。
【0078】
バッファからの位置指示情報が受信された後に、位置指示情報に基づいて仮想記憶空間に対応する物理的記憶アドレスを決定することができ、すなわち仮想記憶空間のベースアドレスを決定することができ、処理すべきデータの実際記憶位置を決定することができる。
【0079】
506において、CPUが処理すべきデータを仮想記憶空間に記憶し、すなわち位置指示情報によって指示された第1バッファ空間に記憶する。
【0080】
ステップ506は、ステップ203と類似であり、詳細な説明は、ステップ203を参照することができ、ここでは繰り返して説明しない。
【0081】
507において、CPUが仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信する。
【0082】
これに応じて、DSPは、CPUからのデータ処理命令を受信する。
【0083】
ステップ507は、ステップ204と同じであり、詳細な説明は、ステップ204を参照することができ、ここでは繰り返して説明しない。
【0084】
DSPがCPUからのデータ処理命令を受信することは、ステップ401と同じであり、詳細な説明は、ステップ401を参照することができ、ここでは繰り返して説明しない。
【0085】
508において、DSPが仮想記憶空間の情報に対応する第1バッファ空間から処理すべきデータを取得する。
【0086】
ステップ508は、ステップ402と類似であり、詳細な説明は、ステップ402を参照することができ、ここでは繰り返して説明しない。
【0087】
509において、DSPが処理すべきデータに対して処理を実行する。
【0088】
ステップ509は、ステップ403と同じであり、詳細な説明は、ステップ403を参照することができ、ここでは繰り返して説明しない。
【0089】
510において、DSPが処理すべきデータの処理結果を仮想記憶空間の情報に対応する第1バッファ空間に記憶する。
【0090】
ステップ510は、ステップ404と同じであり、詳細な説明は、ステップ404を参照することができ、ここでは繰り返して説明しない。
【0091】
本発明のいくつかの実施例において、CPUは、ニューラルネットワークモデルを解析し、ニューラルネットワークモデルのデータ処理に関連される各配列に必要な空間大きさを計算することを、担当する。CPUは、算出された空間大きさに基づいて、1つの仮想ヒープに空間(つまり、仮想記憶空間)を要求する。ここで空間を要求した後に返された結果は、通常のポインタではなく、当該ヒープの、ベースアドレスに対するオフセット量である。空間の要求が完了された後に、CPUは、必要な空間の合計を統計し、ION Bufferで当該合計に対応する大きさの空間を割り当てて、実際のベースアドレスを得る。その後に、CPUは、ニューラルネットワークモデルの運行に必要な関連パラメータおよびデータを、要求した仮想記憶空間に書き込み、すなわち実際にはION Bufferで割り当てられた、当該仮想空間相に対応する空間に書き込み、具体的な書き込みアドレスはベースアドレスとオフセット量によって計算され得る。その後に、CPUは、FastRPC呼び出しを開始し、FastRPCを介してこの仮想記憶空間をDSPに転送する。このようにして、CPUとDSPは、いずれも当該仮想記憶空間を共有することができる。その後に、DSPは、当該仮想記憶空間のアドレス情報に基づいてION Buffer中のデータを解析して計算し始めて、計算結果を当該空間の該当する位置に記憶し、CPUに返す。
【0092】
このような方法によって、データ処理過程全体は、1回のFastRPC呼び出しのみを実行し、今回の呼び出しで当該仮想記憶空間に関連する1つの配列のみを転送するため、FastRPC呼び出しの要件を満たすことを前提として、追加のオーバーヘッドが最小限に抑えられた。
【0093】
図6を参照すると、図6は、本発明の実施例によって提供される1つの情報処理装置の構成を示す模式図である。図6に示すように、当該情報処理装置は、処理すべきデータを取得するための取得ユニット601と、処理すべきデータに仮想記憶空間を割り当てるための割り当てユニット602と、処理すべきデータを仮想記憶空間に記憶するための記憶ユニット603と、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信するための送信ユニット604と、を備え得、データ処理命令は、DSPが、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得し、処理すべきデータに対して処理を実行するようにするために使用される。
【0094】
いくつかの実施例において、仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、記憶ユニット603は、具体的に、処理すべきデータを第1バッファ空間に記憶し、DSPが仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得することは、DSPが仮想記憶空間の情報に対応する第1バッファ空間から処理すべきデータを取得することを含む。
【0095】
いくつかの実施例において、割り当てユニット602は、具体的に、処理すべきデータに必要な記憶空間の大きさに基づいて、電子デバイスのバッファにバッファ空間を要求し、電子デバイスのバッファから返された第1バッファ空間の位置指示情報に基づいて、仮想記憶空間の物理的記憶位置を決定する。
【0096】
いくつかの実施例において、前記処理すべきデータは、少なくとも1つの配列を含み、各配列は、同じタイプのデータを含み、当該情報処理装置は、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定し、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて処理すべきデータに必要な記憶空間の大きさを決定するための決定ユニット605をさらに備え得る。
【0097】
いくつかの実施例において、決定ユニット605は、さらに、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記少なくとも1つの配列の中の各配列の、仮想記憶空間におけるオフセット量を決定する。
【0098】
いくつかの実施例において、決定ユニット605は、処理すべきデータのデータ量および処理すべきデータに対応する結果データ量に基づいて、処理すべきデータに必要な記憶空間の大きさを決定する。
【0099】
いくつかの実施例において、割り当てユニット602が、処理すべきデータに必要な記憶空間の大きさに基づいて、電子デバイスのバッファにバッファ空間を要求することは、処理すべきデータに必要な記憶空間の大きさの情報が付加された、バッファ空間を要求するための要求を、電子デバイスのバッファに送信することと、第1バッファ空間のベースアドレスを指示するための、バッファからの位置指示情報を、受信することと、含む。
【0100】
いくつかの実施例において、処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データである。
【0101】
本実施例は、本発明の実施例の中の方法の実施例の説明に対応され得、各々のユニットの上述した操作と他の操作および/または機能は、それぞれ図2および図3の中の各方法の該当するフローを実装するために使用され、簡素化のために、ここでは繰り返して説明しない。
【0102】
図7を参照すると、図7は、本発明の実施例によって提供される別の情報処理装置の構成を示す模式図である。図7に示すように、当該情報処理装置は、仮想記憶空間の情報が付加された、CPUからのデータ処理命令を受信するための受信ユニット701と、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得するための取得ユニット702と、処理すべきデータに対して処理を実行するための処理ユニット703と、を備え得る。
【0103】
いくつかの実施例において、仮想記憶空間の情報に対応する仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、取得ユニット702は、具体的に、仮想記憶空間の情報に対応する第1バッファ空間から処理すべきデータを取得する。
【0104】
いくつかの実施例において、当該情報処理装置は、処理すべきデータの処理結果を仮想記憶空間の情報に対応する第1バッファ空間に記憶するための記憶ユニット704をさらに備え得る。
【0105】
いくつかの実施例において、処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データである。
【0106】
本実施例は、本発明の実施例の中の方法の実施例の説明に対応され得、各々のユニットの上述した操作と他の操作および/または機能は、それぞれ図4の中の各方法の該当するフローを実装するために使用され、簡素化のために、ここでは繰り返して説明しない。
【0107】
図8を参照すると、図8は、本発明の実施例によって提供される別の情報処理装置の構成を示す模式図である。当該情報処理装置は、図1に示された電子デバイス中のCPUの各機能を実現することができる。図8に示すように、当該情報処理装置は、CPUなどの、少なくとも1つのプロセッサ801と、トランシーバ802と、少なくとも1つのバス803と、を備え得る。バス803は、これらコンポーネント間の接続通信を実現するために使用される。
【0108】
いくつかの実施例において、プロセッサ801は、処理すべきデータを取得することと、処理すべきデータに仮想記憶空間を割り当てることと、処理すべきデータを仮想記憶空間に記憶することと、を実行し、トランシーバ802は、仮想記憶空間の情報が付加されたデータ処理命令をDSPに送信することを実行し、データ処理命令は、DSPが、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得し、処理すべきデータに対して処理を実行するようにするために使用される。
【0109】
いくつかの実施例において、仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、プロセッサ801が処理すべきデータを仮想記憶空間に記憶することは、処理すべきデータを第1バッファ空間に記憶することを含み、DSPが仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得することは、DSPが仮想記憶空間の情報に対応する第1バッファ空間から処理すべきデータを取得することを含む。
【0110】
いくつかの実施例において、プロセッサ801が処理すべきデータに仮想記憶空間を割り当てることは、処理すべきデータに必要な記憶空間の大きさに基づいて、電子デバイスのバッファにバッファ空間を要求することと、電子デバイスのバッファから返された第1バッファ空間の位置指示情報に基づいて、仮想記憶空間の物理的記憶位置を決定することと、を含む。
【0111】
いくつかの実施例において、処理すべきデータは、少なくとも1つの配列を含み、各配列は、同じタイプのデータを含み、プロセッサ801は、さらに、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定することと、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、処理すべきデータに必要な記憶空間の大きさを決定することと、を実行する。
【0112】
いくつかの実施例において、プロセッサ801は、さらに、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記少なくとも1つの配列の中の各配列の仮想記憶空間におけるオフセット量を決定することを実行する。
【0113】
いくつかの実施例において、プロセッサ801は、さらに、処理すべきデータのデータ量および処理すべきデータに対応する結果データ量に基づいて、処理すべきデータに必要な記憶空間の大きさを決定することを実行する。
【0114】
いくつかの実施例において、プロセッサ801が処理すべきデータに必要な記憶空間の大きさに基づいて電子デバイスのバッファにバッファ空間を要求することは、処理すべきデータに必要な記憶空間の大きさの情報が付加された、バッファ空間を要求するための要求を、電子デバイス中のバッファに送信することと、第1バッファ空間のベースアドレスを指示するための、バッファからの位置指示情報を、受信することと、を含む。
【0115】
いくつかの実施例において、処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データである。
【0116】
ステップ201~ステップ203、ステップ301~ステップ304、およびス、テップ501~ステップ504は、CPU中のプロセッサ801によって実行され得、ステップ204、ステップ305、および、ステップ505は、CPU中のトランシーバ802によって実行され得る。
【0117】
取得ユニット601、割り当てユニット602、記憶ユニット603、および、決定ユニット605は、CPU中のプロセッサ801によって実現され得、送信ユニット604は、CPU中のトランシーバ802によって実現され得る。
【0118】
上述した情報処理装置は、さらに、前述した方法の実施例で実行する各方法を実行することができ、ここで繰り返して説明しない。
【0119】
別のいくつかの実施例において、当該情報処理装置は、図1に示された電子デバイス中のDSPの各機能を実装することができる。トランシーバ802は、仮想記憶空間の情報が付加された、CPUからのデータ処理命令を受信し、プロセッサ801は、仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得することと、処理すべきデータに対して処理を実行することと、を実行する。
【0120】
いくつかの実施例において、仮想記憶空間の情報に対応する仮想記憶空間は、電子デバイスのバッファ内の第1バッファ空間に対応され、プロセッサ801仮想記憶空間の情報に対応する仮想記憶空間から処理すべきデータを取得することは、仮想記憶空間の情報に対応する第1バッファ空間から処理すべきデータを取得することを含む。
【0121】
いくつかの実施例において、プロセッサ801は、さらに、処理すべきデータの処理結果を仮想記憶空間の情報に対応する第1バッファ空間に記憶することを実行する。
【0122】
いくつかの実施例において、処理すべきデータは、ニューラルネットワークにおけるネットワーク層のネットワークパラメータおよび入力データである。
【0123】
ステップ402~ステップ404、および、ステップ506~ステップ508は、プロセッサ801によって実行され得、ステップ204、ステップ305、および、ステップ505中のデータ処理命令を受信するステップおよびステップ401は、トランシーバ802によって実行され得る。
【0124】
取得ユニット702、処理ユニット703、および、記憶ユニット704は、プロセッサ801によって実現され得、受信ユニット701は、トランシーバ802によって実現され得る。
【0125】
上述した情報処理装置は、さらに、前述した方法の実施例で実行する各方法を実行することができ、ここで繰り返して説明しない。
【0126】
いくつかの実施例において、記録媒体を提供し、当該記録媒体は、アプリケーションプログラムを記憶し、アプリケーションプログラムは、運行されるときに、図2図4の情報処理方法を実行する。
【0127】
いくつかの実施例において、アプリケーションプログラムを提供し、当該アプリケーションプログラムは、運行されるときに、図2図4の情報処理方法を実行する。
【0128】
当業者は、上述した実施例の各方法中の全部または一部のステップがプログラム命令に関連するハードウェアによって完了されることを理解することができる。当該プログラムは、コンピュータ可読メモリに記憶され、メモリは、フラッシュディスク、ROM、RAM、磁気ディスク、または、CDなどを含み得る。
図1
図2
図3
図4
図5
図6
図7
図8
【手続補正書】
【提出日】2021-06-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報処理方法であって、
中央処理装置(CPU)が、処理すべきデータを取得することと、
前記処理すべきデータに仮想記憶空間を割り当てることと、
前記処理すべきデータを前記仮想記憶空間に記憶することと、
前記仮想記憶空間の情報が付加されたデータ処理命令をデジタルシグナルプロセッサ(DSP)に送信することと、を含み、
前記データ処理命令は、前記DSPが、前記情報に対応する仮想記憶空間から前記処理すべきデータを取得し、前記処理すべきデータに対して処理を実行するようにするために使用される
ことを特徴とする情報処理方法。
【請求項2】
前記仮想記憶空間は、前記CPUが属する電子デバイスのバッファ内の第1バッファ空間に対応され、
前記処理すべきデータを前記仮想記憶空間に記憶することは、
前記CPUが前記処理すべきデータを前記第1バッファ空間に記憶することを含み、
前記DSPが前記情報に対応する仮想記憶空間から前記処理すべきデータを取得することは、
前記DSPが前記情報に対応する前記第1バッファ空間から前記処理すべきデータを取得することを含む
ことを特徴とする請求項1に記載の情報処理方法。
【請求項3】
前記処理すべきデータに仮想記憶空間を割り当てることは、
前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求することと、
前記電子デバイスのバッファから返された前記第1バッファ空間の位置指示情報に基づいて、前記仮想記憶空間の物理的記憶位置を決定することと、を含む
ことを特徴とする請求項2に記載の情報処理方法。
【請求項4】
前記処理すべきデータに必要な記憶空間の大きさに基づいて、前記電子デバイスのバッファにバッファ空間を要求することは、
バッファ空間を要求するための、前記処理すべきデータに必要な記憶空間の大きさの情報が付加されている要求を前記電子デバイスのバッファに送信することと、
前記第1バッファ空間のベースアドレスを指示するための、前記バッファからの位置指示情報を受信することと、を含む
ことを特徴とする請求項3に記載の情報処理方法。
【請求項5】
前記処理すべきデータは、少なくとも1つの配列を含み、各配列は、同じタイプのデータを含み、
前記情報処理方法は、
前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさを決定し、前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定すること、または、
前記処理すべきデータのデータ量および前記処理すべきデータに対応する結果データ量に基づいて、前記処理すべきデータに必要な記憶空間の大きさを決定すること、をさらに含む
ことを特徴とする請求項1~3の中のいずれか1項に記載の情報処理方法。
【請求項6】
前記少なくとも1つの配列の中の各配列に必要な記憶空間の大きさに基づいて、前記少なくとも1つの配列の中の各配列の、前記仮想記憶空間におけるオフセット量を決定することをさらに含む
ことを特徴とする請求項5に記載の情報処理方法。
【請求項7】
前記処理すべきデータは、ニューラルネットワークモデルにおける目標ネットワーク層のネットワークパラメータおよび入力データを含む
ことを特徴とする請求項1~の中のいずれか1項に記載の情報処理方法。
【請求項8】
情報処理方法であって、
デジタルシグナルプロセッサ(DSP)が、仮想記憶空間の情報が付加された、中央処理装置(CPU)からのデータ処理命令を受信することと、
前記情報に対応する仮想記憶空間から処理すべきデータを取得することと、
前記処理すべきデータに対して前記データ処理命令によって指示された処理操作を実行することと、を含む
ことを特徴とする情報処理方法。
【請求項9】
前記情報に対応する仮想記憶空間は、前記CPUが属する電子デバイスのバッファ内の第1バッファ空間に対応され、
前記情報に対応する仮想記憶空間から処理すべきデータを取得することは、
前記情報に対応する第1バッファ空間から処理すべきデータを取得することを含む
ことを特徴とする請求項に記載の情報処理方法。
【請求項10】
前記処理すべきデータの処理結果を前記情報に対応する第1バッファ空間に記憶することをさらに含み、
前記処理すべきデータは、ニューラルネットワークモデルにおける目標ネットワーク層のネットワークパラメータおよび入力データである
ことを特徴とする請求項8または9に記載の情報処理方法。
【請求項11】
情報処理装置であって、
処理すべきデータを取得するための取得ユニットと、
前記処理すべきデータに仮想記憶空間を割り当てるための割り当てユニットと、
前記処理すべきデータを前記仮想記憶空間に記憶するための記憶ユニットと、
前記仮想記憶空間の情報が付加されたデータ処理命令をデジタルシグナルプロセッサ(DSP)に送信するための送信ユニットと、を備え、
前記データ処理命令は、前記DSPが、前記情報に対応する仮想記憶空間から前記処理すべきデータを取得し、前記処理すべきデータに対して処理を実行するようにするために使用される
ことを特徴とする情報処理装置。
【請求項12】
情報処理装置であって、
仮想記憶空間の情報が付加された、中央処理装置(CPU)からのデータ処理命令を受信するための受信ユニットと、
前記情報に対応する仮想記憶空間から処理すべきデータを取得するための取得ユニットと、
前記処理すべきデータに対して前記データ処理命令によって指示された処理操作を実行するための処理ユニットと、を備える
ことを特徴とする情報処理装置。
【請求項13】
情報処理装置であって、
プロセッサと、コンピュータ命令を記憶するためのメモリとを備え、
前記メモリは、コンピュータ命令を記憶し、
前記プロセッサは、前記コンピュータ命令を呼び出して、請求項1~10の中のいずれか1項に記載の情報処理方法を実行する
ことを特徴とする情報処理装置。
【請求項14】
電子デバイスであって、
請求項11に記載の情報処理装置と、請求項12に記載の情報処理装置と、を備える
ことを特徴とする電子デバイス。
【請求項15】
可読記録媒体であって、
前記可読記録媒体には、コンピュータプログラムが記憶されており、
前記コンピュータプログラムがプロセッサによって実行されるときに、請求項1~10の中のいずれか1項に記載の情報処理方法が実現される
ことを特徴とする可読記録媒体。
【国際調査報告】