(57)【要約】【課題】  マルチコア処理アレイの１つ又は複数のコアに、データを効率的にルーティングすること。【解決手段】  本開示は、マルチコア処理ネットワークにわたりデータをルーティングするためのシステムに関する。このシステムは、複数の処理コアを有するマルチコア処理アレイと、モデル化されるオブジェクトに関連するデータであって、座標システム内のオブジェクトに関連する座標情報に関連付けられたデータを格納するためのメモリと、データが関連付けられた座標情報に基づいてメモリからマルチコア処理アレイの複数の処理コアの１つ又は複数にデータをルーティングするためのコントローラとを含む。本開示はまた、マルチコア処理ネットワークにわたりデータをルーティングするための方法及びマルチコア処理ネットワークにわたりデータをルーティングする手順を実行するためのコンピュータ実行可能命令を格納するコンピュータアクセス可能媒体に関する。【選択図】  図１ａ
2010225134.tif 000002
【特許請求の範囲】
【請求項１】
マルチコア処理ネットワークにわたりデータをルーティングするためのシステムであって、
複数の処理コアを有するマルチコア処理アレイと、
モデル化されるオブジェクトに関連するデータであって、座標システム内の前記オブジェクトに関連する座標情報に関連付けられたデータを格納するためのメモリと、
前記データに関連付けられている前記座標情報に基づいて、前記メモリから前記データを、前記マルチコア処理アレイの前記複数の処理コアの１つ又は複数にルーティングするためのコントローラと、を備えるシステム。
【請求項２】
前記コントローラは、前記座標情報を前記複数の処理コアの１つ又は複数に関連するルーティング情報に変換する空間変換を備える請求項１に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項３】
前記座標情報は２次元座標情報を含む請求項２に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項４】
前記座標情報は３次元座標情報を含む請求項２に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項５】
前記座標情報は３次元よりも高いものを含む請求項２に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項６】
前記次元のうちの１つは時間であり、前記ルーティング情報は１つ又は複数の処理コアへのルーティングが時間の経過と共に変化するような時間依存である請求項５に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項７】
前記複数の処理コアを相互接続するスイッチのネットワークをさらに備え、前記ルーティング情報は、前記データが前記メモリから前記複数の処理コアの前記１つ又は複数にルーティングされる前記スイッチ経由の前記パスを定義する請求項１に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項８】
モデル化される前記オブジェクトは物理シミュレーションのオブジェクトであり、前記オブジェクトに関連するデータの前記ルーティングは、前記オブジェクトの物理的位置が前記物理シミュレーションにおいて変化するのに応じて変化する請求項１に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項９】
１つ又は複数イメージセンサは、前記オブジェクトに関連するデータを取り込むために使用される請求項１に記載のマルチコア処理ネットワークにわたりデータをルーティングするためのシステム。
【請求項１０】
マルチコア処理ネットワークにわたりデータをルーティングするための方法であって、
モデル化されるオブジェクトに関連する１つ又は複数のデータであって、各々が座標系内の前記オブジェクトに関連する座標情報に関連付けられたデータを格納するステップと、
前記オブジェクトに関連する前記メモリからデータを取り出すステップと、
前記メモリから取り出された前記データを、前記データに関連付けられている前記座標情報に基づいてマルチコア処理アレイの１つ又は複数の処理コアにルーティングするステップと、を含む方法。
【請求項１１】
前記メモリから取り出された前記データを１つ又は複数の処理コアにルーティングするステップは、前記座標情報を前記複数の処理コアの１つ又は複数に関連するルーティング情報に変換する空間変換を使用するステップを含む請求項１０に記載のマルチコア処理ネットワークにわたりデータをルーティングするための方法。
【請求項１２】
前記座標情報は２次元座標情報を含む請求項１１に記載のマルチコア処理ネットワークにわたりデータをルーティングするための方法。
【請求項１３】
前記座標情報は３次元座標情報を含む請求項１１に記載のマルチコア処理ネットワークにわたりデータをルーティングするための方法。
【請求項１４】
前記複数の処理コアの１つ又は複数に関連する前記ルーティング情報は、１つ又は複数の処理コアへのルーティングが時間の経過と共に変化するような時間依存である請求項１１に記載のマルチコア処理ネットワークにわたりデータをルーティングするための方法。
【請求項１５】
前記複数の処理コアを相互接続するスイッチのネットワークを使用して前記データをルーティングするステップをさらに含み、前記ルーティング情報は前記データを前記メモリから前記複数の処理コアの前記１つ又は複数に前記スイッチ経由でルーティングするためのマップを定義する請求項１１に記載のマルチコア処理ネットワークにわたりデータをルーティングするための方法。
【請求項１６】
モデル化される前記オブジェクトはコンピュータ写真術のオブジェクトであり、前記オブジェクトに関連するデータの前記ルーティングは、前記オブジェクトの物理的位置が前記コンピュータ写真術において変化するのに応じて変化する請求項１５に記載のマルチコア処理ネットワークにわたりデータをルーティングするための方法。
【請求項１７】
マルチコア処理ネットワークにわたりデータをルーティングする手順を実行するためのコンピュータ実行可能命令を格納しているコンピュータアクセス可能媒体であって、前記手順は、
モデル化されるオブジェクトに関連するデータであって、座標系内の前記オブジェクトに関連する座標情報に関連付けられたデータをメモリから取り出すステップと、
前記メモリから取り出された前記データを、前記データに関連付けられている前記座標情報に基づいてマルチコア処理アレイの１つ又は複数の処理コアにルーティングするステップと、を含むコンピュータアクセス可能媒体。
【請求項１８】
前記メモリから取り出された前記データを１つ又は複数の処理コアにルーティングする工程は、座標情報を前記複数の処理コアの１つ又は複数に関連するルーティング情報に変換する空間変換を使用するステップを備える請求項１６に記載のコンピュータアクセス可能媒体。
【請求項１９】
前記複数の処理コアの１つ又は複数に関連する前記ルーティング情報は、１つ又は複数の処理コアへのルーティングが時間の経過と共に変化するような時間依存である請求項１７に記載のコンピュータアクセス可能媒体。
【請求項２０】
モデル化される前記オブジェクトはリアルタイム制御アプリケーションのオブジェクトであり、前記オブジェクトに関連するデータの前記ルーティングは前記オブジェクトの物理的位置が変化するのに応じて変化する請求項１７に記載のコンピュータアクセス可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
[0001]  数多くの既存のプロセッサアーキテクチャは、並列処理をサポートする。初期のそのようなアーキテクチャは、ネットワークで共に結ばれた複数の個別のプロセッサを使用していた。最近では、複数の処理コアが、単一の集積チップで製造されている。幾つかのマルチコアプロセッサは、物理シミュレーション又はグラフィックスアプリケーションのような特定のアプリケーションを加速するために開発されている。マルチコア処理において、データがメモリから読み取られながら、データは特定の処理コアに供給される。多くの場合、処理コアへの供給は均衡が保たれていないので、過度に使用されるコアもあれば、十分に使用されないコアもある。
【発明の概要】
【課題を解決するための手段】
【０００２】
概要
[0002]  １つの実施形態において、本開示は、マルチコア処理ネットワークにわたりデータをルーティングするためのシステムに関する。このシステムは、複数の処理コアを有するマルチコア処理アレイと、モデル化されるオブジェクトに関連し、座標系内の当該オブジェクトに関連する座標情報に関連付けられたデータを格納するためのメモリと、当該データに関連付けられている座標情報に基づいてメモリからマルチコア処理アレイの複数の処理コアの１つ又は複数に、データをルーティングするためのコントローラとを含む。
【０００３】
[0003]  この実施形態の変形において、コントローラは、座標情報を複数の処理コアの１つ又は複数に関連するルーティング情報に変換する空間変換を含むことができる。いくつか実施形態において、座標情報は、２次元座標情報、３次元座標情報、又は４次元以上を含む。１つの実施形態において、次元のうちの１つは時間であり、ルーティング情報は、１つ又は複数の処理コアへのルーティングが時間の経過と共に変化するような時間依存である。マルチコア処理ネットワークにわたりデータをルーティングするためのシステムはさらに、複数の処理コアを相互接続するスイッチのネットワークを含むことができ、ルーティング情報は、データがメモリから複数の処理コアの１つ又は複数にルーティングされるスイッチ経由のパスを定義することができる。いくつかの実施形態において、モデル化されるオブジェクトは、物理シミュレーションのオブジェクトであり、オブジェクトに関連するデータのルーティングは、オブジェクトの物理的位置が物理シミュレーションにおいて変化するのに応じて変化する。さらなる実施形態において、１つ又は複数のイメージセンサは、オブジェクトに関連するデータを取り込むために使用される。
【０００４】
[0004]  別の実施形態において、本開示は、マルチコア処理ネットワークにわたりデータをルーティングするための方法に関する。この方法は、モデル化されるオブジェクトに関連するデータであって、座標系内のオブジェクトに関連する座標情報に関連付けられた１つ又は複数のデータをメモリに格納するステップと、オブジェクトに関連するデータをメモリから取り出すステップと、メモリから取り出されたデータを、データに関連付けられている座標情報に基づいてマルチコア処理アレイの１つ又は複数の処理コアにルーティングするステップとを含む。
【０００５】
[0005]  この実施形態の変形において、メモリから取り出されたデータを１つ又は複数の処理コアにルーティングするステップは、座標情報を複数の処理コアの１つ又は複数に関連するルーティング情報に変換する空間変換を使用するステップを含むことができる。いくつかの実施形態において、座標情報は、２次元座標情報又は３次元座標情報を含む。別の実施形態において、複数の処理コアの１つ又は複数に関連するルーティング情報は、１つ又は複数の処理コアへのルーティングが時間の経過と共に変化するような時間依存である。マルチコア処理ネットワークにわたりデータをルーティングするための方法はさらに、複数の処理コアを相互接続するスイッチのネットワークを使用してデータをルーティングするステップを含むことができ、ルーティング情報は、データをメモリから複数の処理コアの１つ又は複数にスイッチ経由でルーティングするためのマップを定義する。１つの実施形態において、モデル化されるオブジェクトは、計算写真術のオブジェクトであり、オブジェクトに関連するデータのルーティングは、オブジェクトの物理的位置が計算写真術において変化するのに応じて変化する。
【０００６】
[0006]  さらに別の実施形態において、本開示は、マルチコア処理ネットワークにわたりデータをルーティングする手順を実行するためのコンピュータ実行可能命令を格納しているコンピュータアクセス可能媒体に関する。その手順は、モデル化されるオブジェクトに関連するデータであって、座標系内のオブジェクトに関連する座標情報に関連付けられたデータをメモリから取り出すステップと、メモリから取り出されたデータを、データに関連付けられている座標情報に基づいてマルチコア処理アレイの１つ又は複数の処理コアにルーティングするステップとを含む。
【０００７】
[0007]  この実施形態の変形において、メモリから取り出されたデータを１つ又は複数の処理コアにルーティングするステップは、座標情報を複数の処理コアの１つ又は複数に関連するルーティング情報に変換する空間変換を使用して行われてもよい。さらなる実施形態において、複数の処理コアの１つ又は複数に関連するルーティング情報は、１つ又は複数の処理コアへのルーティングが時間の経過と共に変化するような時間依存であってもよい。特定の実施形態において、モデル化されるオブジェクトは、リアルタイム制御アプリケーションのオブジェクトであってもよく、オブジェクトに関連するデータのルーティングは、オブジェクトの物理的位置が変化するのに応じて変化する。
【０００８】
[0008]  上記は概要であるため、必然的に簡略化、一般化、及び詳細の省略を含み、そのため当業者は、概要が例示的なものに過ぎず、決して限定的であることが意図されていないことを理解するであろう。本明細書において説明される装置及び／又はプロセス及び／又はその他の主題の他の態様、特徴、及び利点は、本明細書において示される教示において明らかとなろう。概要は、発明を実施するための形態において以下でさらに説明される概念の抜粋を簡略化された形式で紹介するために提供される。この概要は、特許請求の範囲に記載されている主題の主要特徴又は本質的特徴を特定することを意図されているのではなく、特許請求の範囲に記載されている主題の範囲を決定する際の補助として使用されることも意図されてはいない。
【０００９】
[0009]  本開示の前述の特徴及びその他の特徴は、添付の図面と併せて、以下の説明及び後続の特許請求の範囲からさらに十分に明らかとなろう。これらの図面は、開示に従っていくつかの実施形態のみを示すものに過ぎず、そのため、その範囲を限定するものと見なされるべきではなく、開示は、添付の図面の使用を通じてさらなる特異性及び詳細と共に説明されることが理解されよう。
【図面の簡単な説明】
【００１０】
図面の簡単な説明
【図１ａ】[0010]マルチコアプロセッサの例示的な実施形態を示す概略図である。
【図１ｂ】マルチコアプロセッサの例示的な実施形態を示す概略図である。
【図２】[0011]本開示の１つの実施形態による空間的にマップされたマルチコア処理のための並列アレイアーキテクチャを示す概略図である。
【図３】[0012]本開示のもう１つの実施形態による空間的にマップされたマルチコア処理のための並列アレイアーキテクチャを示す概略図である。
【図４】[0013]本開示のさらにもう１つの実施形態による計算写真術において空間的にマップされたマルチコア処理のための並列アレイアーキテクチャを示す概略図である。
【図５】[0014]本開示の１つの例示的な実施形態による空間的にマップされた処理のための方法を示す例示の流れ図である。
【図６】[0015]本開示の１つの例示的な実施形態による空間的にマップされた処理のための方法を実行するシステムを示す概略図である。
【発明を実施するための形態】
【００１１】
詳細な説明
[0016]  以下の詳細な説明において、本明細書の一部を形成する添付の図が参照される。図において、特に文脈による指示がない場合、同じ記号は通常、同様のコンポーネントを示す。発明を実施するための形態、図面、及び特許請求の範囲において説明される例示的な実施形態は、限定的であることを意図していない。本明細書に提示されている主題の精神又は範囲を逸脱することなく、その他の実施形態が使用されてもよく、その他の変更が行われてもよい。本明細書において一般的に説明され、図面に示されている本開示の態様は、本明細書においてすべてが明示的に検討されている多岐にわたるさまざまな構成で、配置、置換、結合、分離、及び設計を行うことができることが容易に理解されよう。加えて、一部の既知の構造、回路、技法などは、開示を不必要に不明瞭にすることを避けるため、詳細には説明されていない。
【００１２】
[0017]  マルチコア処理において、データは、バスによって中央演算処理装置（ＣＰＵ）に接続された入出力装置又はその他のコンポーネントなどの（ただし、これらに限定されるものではない）コンピューティング環境のメモリ、外部センサ、又はその他のコンポーネントから読み込まれながら、特定の処理コアに供給される。処理されるべきデータは、さまざまな方法で処理コアに供給することができる。多くの場合、処理コアへの供給は均衡が保たれていないので、過度に使用されるコアもあれば、十分に使用されないコアもある。つまり、多くの場合、使用可能な処理サイクルの一部分は、事実上浪費されている可能性がある。加えて、物理シミュレーションの処理など（ただし、これに限定されるものではない）、いくつかの処理タスク中に、モデル化されるオブジェクトは、ある座標系全体を通じて移動することもある。
【００１３】
[0018]  たとえば、物理シミュレーション又はグラフィックアクセラレーション中など、マルチコア処理の効率及び並列性を高めるため、空間的にマップされたマルチコア処理の並列アレイアーキテクチャのためのシステム及び方法が、本明細書において説明される。本明細書において説明されるシステム及び方法は、「実世界の」又はモデル化されたデータを使用して、データ又はデータ処理タスクを、マルチコアプロセッサの処理コアのネットワークにわたりルーティングすることができる。データ又はデータ処理タスクをルーティングは、データにその座標位置情報でタグ付けするステップと、座標情報を使用して処理コアのネットワークを経てその宛先コアに至るその経路を導くステップとを含むことができる。マルチコア処理を空間的マッピングは、たとえば座標系などにおけるオブジェクトの最新の位置に基づいて、モデル化されるオブジェクトに関連するデータをルーティングすることができる。したがって、本開示の１つの実施形態において、座標系において互いに比較的近いオブジェクトに関連するデータは、マルチコアプロセッサによって比較的相互に近く処理することができる。
【００１４】
[0019]  図１は、処理コアアレイ１０２を有する単一の集積回路を含む例示のマルチコアプロセッサ１００を示す。その他の実施形態において、マルチコアプロセッサは、別個の集積チップ上にプロセッサを含むことができる。処理コアアレイ１０２は、いくつかの数（Ｎ）の処理コア１０４（１）〜１０４（Ｎ）を含むことができる。任意の適切な数の処理コア１０４が提供されてもよい。処理コア１０４は、プログラム命令を実行するための論理を含むことができる。
【００１５】
[0020]  マルチコアプロセッサ１００は、専用又は共用リソースの任意の組み合わせを含むことができる。専用リソースは、専用レベル１キャッシュなどの単一の処理コア１０４に専用のリソース１０６であってもよく、又は処理コア１０４の任意のサブセットに専用のリソース１０８であってもよい。共用リソースは、共用レベル２キャッシュ、又はマルチコアプロセッサ１００と入出力装置、外部センサなどの（ただし、これらに限定されるものではない）別のコンポーネント１１４との間のインターフェイスをサポートする共用外部バス１１２など、すべてのコア１０４によって共用されるリソース１１０であってもよく、又は処理コア１０４の任意のサブセットによって共用されるリソースであってもよい。共用リソースはまた、ＲＡＭ、ＲＯＭ、フラッシュストレージ、磁気ディスクストレージ、テープストレージ、光ストレージ、又はその他の機械可読ストレージ媒体を含む（ただし、これらに限定されるものではない）任意の適切な形態のメモリであってもよいメインメモリ１２０を含むことができる。
【００１６】
[0021]  前述のように、マルチコアプロセッサ１００は、任意の適切な数の処理コア１０４を処理することができる。たとえば、マルチコアプロセッサ１００は、２コア、４コア、数十のコア、及び何百又はそれ以上の処理コアさえも有することができる。一部のマルチコアプロセッサは、各々の処理コアが単一コア設計を使用するような同種であってもよい。その他のマルチコアプロセッサは、処理コアの１つ又は複数が他の処理コアの１つ又は複数と異なっていてもよいような異種混合であってもよく、各コア又はコアのサブセットはマルチコアプロセッサ１００において異なる役割に最適化されてもよい。
【００１７】
[0022]  マルチコアプロセッサ１００は、コアコントローラ又はコアインターフェイス１１６を含むことができる。コアコントローラ１１６は、どの処理タスクが各処理コア１０４によって処理されるべきかを決定し得る。１つ又は複数のスイッチ１１８が備わっていてもよい。１つの実施形態において、処理タスクは、スイッチ１１８を使用して、選択された処理コアにルーティングされてもよい。
【００１８】
[0023]  図１は、マルチコアプロセッサの例示的な概略図であり、そこに示されるコンポーネントの物理的位置を示すものではない。本明細書において説明されるマルチコアプロセッサ１００が例示的なものであり、変形及び変更が可能であることを理解されたい。設計の選択は、たとえば、パフォーマンスに対するハードウェアサイズ及び複雑さを考慮することにより決定されてもよい。
【００１９】
[0024]  当業者によって理解されるように、マルチコアプロセッサ１００は、パーソナルコンピュータなどの適切なコンピューティング環境において提供されてもよい。コンピューティング環境は、マルチコアプロセッサ１００、システムメモリ、１つ又は複数のバス、及びキーボード、マウス、タッチスクリーン、標準的なＣＲＴ又はＬＣＤベースのモニタなどの表示装置、ＵＳＢ又はその他のポート接続、ＣＤドライブ、ＤＶＤドライブなどの１つ又は複数の入出力装置を含むことができる。さまざまなコンポーネント間のバス接続は、Peripheral Component Interconnect（ＰＣＩ）、ＰＣＩ Express、Accelerated Graphics Port（ＡＧＰ）、HyperTransport、又は任意の他の適切なバスプロトコルなどのバスプロトコルを使用して実施されてもよく、さまざまな装置間の接続はさまざまなプロトコルを使用することができる。パーソナルコンピュータは、１つ又は複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境において動作することができる。そのようなリモートコンピュータは、たとえば、その他のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、又はその他の共通ネットワークノードであってもよい。論理接続は、たとえば、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を備えることができる。
【００２０】
[0025]  図２は、１つの実施形態による空間的にマップされたマルチコア処理の並列アレイアーキテクチャを示す。図２に示されるように、モデル化されるオブジェクト２０２又はオブジェクトの一部に関連するデータは、メモリ１２０に格納され、その＜Ｘ，Ｙ＞座標情報などの（ただし、これに限定されるものではない）、その座標情報２０４に関連付けられてもよい。モデル化されるオブジェクト２０２は、実在の（real-life）任意のオブジェクト、又はそれ以外の、ビデオ、計算写真術、リアルタイム制御アプリケーション、物理シミュレーションなどにおけるオブジェクトのような（ただし、これらに限定されるものではない）任意の実在のオブジェクト又は実在オブジェクトのモデルであってもよく、又はモデル化されるオブジェクト２０２は、ビデオゲーム、物理シミュレーション、又はその他のアプリケーションのオブジェクトなど（ただし、これらに限定されるものではない）の人工環境における任意のオブジェクトであってもよい。座標情報２０４は、たとえば、指定された座標系２０６内のオブジェクト２０２又はオブジェクトの部分の実在又は実世界の物理位置又は人工位置など、物理位置に関連することができる。
【００２１】
[0026]  モデル化されるオブジェクト２０２に関連するデータは、マルチコアプロセッサアレイ１０２による処理を要求されたときにメモリ１２０から取り出されてもよい。１つの実施形態において、データは、コアコントローラ１１６を介して処理のために１つ又は複数のコア１０４に送信されてもよい。コアコントローラ１１６は、どの処理タスクが各処理コア１０４によって処理されるべきかを決定することができる。１つの実施形態において、コアコントローラ１１６は、メモリ１２０から取り出されたデータに関連付けられている座標情報２０４を、どの処理コア１０４が取り出されたデータに関連する処理タスクを実行するかに関連する情報に変形又は変換するためのハードウェア及び／又はソフトウェアを含むことができる。１つの実施形態において、処理タスクは、１つ又は複数のスイッチ１１８を使用して、選択された処理コアにルーティングされてもよい。一般に、モデル化されるオブジェクト２０２に関連する特定のデータに関連付けられている座標情報２０４は、データに関連付けられているタスクを処理するために選択された処理コア１０４に至るスイッチ１１８のネットワーク経由のデータのルートを導くために使用されてもよい。
【００２２】
[0027]  １つの実施形態において、モデル化されるオブジェクトの任意の点又は部分の＜Ｘ，Ｙ＞座標を所与として、＜Ｘ，Ｙ＞座標は、モデルのその点のデータを特定の処理コアに空間的にマップするために使用されてもよく、ルーティングは、ある＜Ｘ’，Ｙ’＞変換モデルで供給される計算に基づいている。このようにして、マルチコアプロセッサの効率及び処理速度を高めることができる。いくつかの実施形態において、マルチコアプロセッサの効率及び処理速度の増大は、オブジェクトを制御するか又は動いているオブジェクトをモデル化するといったリアルタイム制御若しくはリアルタイム物理シミュレーションに有利となりうるか、又はリアルタイム制御若しくはリアルタイム物理シミュレーションと共に使用するように有利に適合されうる。
【００２３】
[0028]  図３に示されるように、本開示の別の実施形態による空間的にマップされたマルチコア処理のための並列アレイアーキテクチャは、３次元（３Ｄ）モデル３０２又は３Ｄ座標系に拡張することができる。１つの実施形態において、３Ｄ座標系でモデル化されるオブジェクト３０２又はオブジェクトの部分に関連するデータは、メモリ１２０に格納され、その＜Ｘ，Ｙ，Ｚ＞座標情報などの（ただし、これに限定されるものではない）、その座標情報３０４に関連付けられてもよい。座標情報３０４は、指定された座標系３０６内のオブジェクト３０２又はオブジェクトの部分の実在又は人工の物理的位置に関連することができる。＜Ｘ，Ｙ，Ｚ＞座標は、モデルのその点のデータを特定の処理コアに空間的にマップするために使用することができ、ルーティングは、一部の＜Ｘ’，Ｙ’，Ｚ’＞変換モデルで供給される計算に基づいている。１つの実施形態において、コアコントローラ１１６は、メモリ１２０から取り出されたデータに関連付けられている座標情報３０４を、どの処理コア１０４が取り出されたデータに関連する処理タスクを実行するかに関連する情報に変形又は変換するためのハードウェア及び／又はソフトウェアを含むことができる。
【００２４】
[0029]  別の実施形態において、また図３に示されるように、マルチコアプロセッサ１０２の処理コア１０４への空間的にマップされた処理のルーティングも時間の経過と共に変化することができるように、時間の次元３１０が導入されてもよい。たとえば、時間ｔ０において、座標＜Ｘ１，Ｙ１，Ｚ１＞に関連付けられている処理は、たとえば処理コア１０４（１）に空間的にマップされてもよいが（３１２を参照）、時間ｔ１において、同じ座標＜Ｘ１，Ｙ１，Ｚ１＞に関連付けられている処理は、たとえば処理コア１０４（２）に空間的にマップされてもよい（314を参照）。マッピングライン３１２及び３１４は、概念的に示すことを目的としたものであり、コアコントローラ１１６は、前述のようにスイッチ１１８経由など、任意の適切な方法で座標＜Ｘ１，Ｙ１，Ｚ１＞に関連付けられているデータをルーティングすることができることが認識される。さらなる実施形態において、空間的にマップされたルーティングは、シミュレーション又は実際の世界が将来どのように変化するかを予測するモデルの結果として時間依存であってもよい。具体的な例示に限り、物理シミュレーション中に、モデルは、オブジェクト（たとえば、自動車の変形した部分）がシミュレーションされた自動車事故時に最終的に曲がって壊れる方法を予測するために使用されてもよい。処理コア１０４への空間的にマップされた処理のルーティングは、モデルの座標及びタイミング要素に基づいてもよい。
【００２５】
[0030]  さらにもう１つの実施形態において、任意の追加の均一又は不均一な処理供給技法は、本明細書において説明される空間的にマップされる処理のさまざまな実施形態と組み合わせて、又はこれに加えて使用されてもよい。
【００２６】
[0031]  図４に示される、さらなる実施形態において、本開示による空間的にマップされたマルチコア処理のための並列アレイアーキテクチャは、コンピュータ写真術（computational photography）に使用することができる。一般に、コンピュータ写真術は、イメージセンサ及びソフトウェアを使用して、カメラが単独で容易に取り込むことができないイメージを作成する。前述の実施形態と同様に、コンピュータ写真術に使用される１つの実施形態において、モデル化されるオブジェクト４０２又はオブジェクトの部分に関連するデータは、メモリ１２０に格納され、その＜Ｘ，Ｙ，Ｚ＞座標情報などの（ただし、これに限定されるものではない）その座標情報に関連付けられてもよい。オブジェクト４０２又はオブジェクトの部分に関連するデータは、１つ又は複数のイメージセンサ４０４、写真カメラ、ビデオカメラ、又はその他の同様の装置から１つ又は複数の写真によって取り込まれるか又は取り出されてもよい。座標情報は、指定された座標系４０６内のオブジェクト４０２又はオブジェクトの部分の物理的位置に関連することができる。＜Ｘ，Ｙ，Ｚ＞座標は、モデルのその点のデータを特定の処理コアに空間的にマップするために使用することができ、ルーティングは、一部の＜Ｘ’，Ｙ’，Ｚ’＞変換モデルで供給される計算に基づいている。１つの実施形態において、コアコントローラ１１６は、メモリ１２０から取り出されたデータに関連付けられている座標情報を、どの処理コア１０４が取り出されたデータに関連する処理タスクを実行するかに関連する情報に変形又は変換するためのハードウェア及び／又はソフトウェアを含むことができる。
【００２７】
[0032]  図５は、本開示による空間的にマップされた処理のための方法の例示的な実施形態を示す流れ図である。ステップ５０２に示されるように、１つの実施形態において、モデル化されるオブジェクト又はオブジェクトの部分に関連するデータは、メモリに格納され、オブジェクト又はオブジェクトの部分の、実在又は人工の、物理的位置に関連する座標情報に関連付けられてもよい。ステップ５０４において、メモリからのデータは、マルチコアプロセッサによって要求されてもよい。ステップ５０６において、空間変換は、そのオブジェクト又はオブジェクトの部分に要求される計算又は処理を実行する処理コアを、物理座標から、計算するか又は決定するために使用されてもよい。一部の実施形態において、上記で説明されているコアコントローラ１１６などの（ただし、これに限定されることはない）、フロントエンドプロセッサは、空間変換を決定するために使用されてもよい。ステップ５０８において、計算又は処理に要求されるデータは、コアのネットワークを通じて空間マップから決定された処理コアにルーティングされてもよい。１つの実施形態において、ネットワークスイッチは、データをルーティングするために使用することができる。
【００２８】
[0033]  １つの特定の実施形態において、図６の概略図に示されるように、コンピュータシステム６００は、マルチコア処理ネットワークにわたりデータをルーティングする方法の実施形態を実行するために構成されたプロセッサ６０２を含むことができる。その他の実施形態において、方法のさまざまなステップ又はさまざまなステップの部分は、プロセッサ６０２の外部で実行されてもよい。ステップ６０４において、方法は、モデル化されるオブジェクトに関連する１つ又は複数のデータをメモリに格納するステップを含むことができ、１つ又は複数のデータの各々は、座標系内のオブジェクトに関連する座標情報に関連付けられている。ステップ６０６において、方法は、オブジェクトに関連するメモリからデータを取り出すステップを含むことができる。ステップ６０８において、方法は、メモリから取り出されたデータを、データに関連付けられている座標情報に基づいて、マルチコア処理アレイの１つ又は複数の処理コアにルーティングするステップを含むことができる。
【００２９】
[0034]  本開示は、さまざまな態様の例示として意図された、本出願に説明されている特定の実施形態に関して限定的であるべきではない。多くの変更又は変更は、当業者には明らかなように、その精神及び範囲を逸脱することなく行うことができる。本明細書において列挙されているものに加えて、開示の範囲内の機能的に等価の方法及び装置は、前述の説明から当業者には明らかとなろう。そのような変更及び変形は、後続の特許請求の範囲内に含まれることが意図されている。本開示は、後続の特許請求の範囲の条項、及びそのような特許請求の範囲が権利を有する等価物の全範囲によってのみ限定されるべきである。この開示が、当然変化する可能性のある、特定の方法、反応物、合成物組成、又は生物学システムに限定されないことを理解されたい。また、本明細書において使用される用語は、特定の実施形態を説明するためのみのものであり、限定的であることを意図されていないことも理解されたい。
【００３０】
[0035]  システムの態様のハードウェア実施態様とソフトウェア実施態様には、ほとんど差異はない。ハードウェア又はソフトウェアの使用は一般に（ただし、特定のコンテキストにおいてハードウェアとソフトウェアとの選択が重要になりうるという点において、必ずしもそうとは限らない）、費用と効率のトレードオフを表す設計の選択である。本明細書において説明されるプロセス及び／又はシステム及び／又はその他の技術が実施されうるさまざまな手段があり（たとえば、ハードウェア、ソフトウェア、及び／又はファームウェア）、好ましい手段は、プロセス及び／又はシステム及び／又はその他の技術が配置されるコンテキストによって変化する。たとえば、速度及び正確性が最優先であると実施者が判断する場合、実施者は主にハードウェア及び／又はファームウェアの手段を選ぶこともある。柔軟性が最優先である場合、実施者は主としてソフトウェア実施を選ぶこともある。或いは、さらにもう一度代替として、実施者は、ハードウェア、ソフトウェア、及び／又はファームウェアの組み合わせを選ぶこともある。
【００３１】
[0036]  前述の詳細な説明は、ブロック図、流れ図、及び／又は例を使用することで、装置及び／又はプロセスのさまざまな実施形態を示してきた。そのようなブロック図、流れ図、及び／又は例が１つ又は複数の機能及び／又は操作を含む限りにおいて、そのようなブロック図、流れ図、又は例内の各機能及び／又は操作は、幅広いハードウェア、ソフトウェア、ファームウェア、又はその実質的に任意の組み合わせによって、個別及び／又は集合的に実施されてもよいことが当業者であれば理解されよう。１つの実施形態において、本明細書において説明される主題のいくつかの部分は、Application Specific Integrated Circuit（ＡＳＩＣ）、Field Programmable Gate Array（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、又はその他の統合化フォーマットを介して実施されてもよい。しかし、全部又は一部として、本明細書において開示される実施形態の一部の態様が、集積回路において、１つ又は複数のコンピュータで稼働している１つ又は複数のコンピュータプログラムとして（たとえば、１つ又は複数のコンピュータシステムで稼働している１つ又は複数のプログラムとして）、１つ又は複数のプロセッサで稼働している1つ又は複数のプログラムとして（たとえば、1つ又は複数のマイクロプロセッサで稼働している１つ又は複数のプログラムとして）、ファームウェアとして、又は実質的にその任意の組み合わせとして同等に実施されうること、並びに回路の設計及び／又はソフトウェア及び／又はファームウェアのコードの作成は本開示に鑑みて十分に当業者の技能の範囲内であることを、当業者であれば理解するであろう。加えて、本明細書において説明される主題の機構が、さまざまな形態でプログラム製品として配布されうること、並びに本明細書において説明される主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプに関わりなく適用されることを、当業者であれば理解するであろう。信号伝達媒体の例は、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリなどの記録可能タイプの媒体、及びデジタル及び／又はアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）などの伝送タイプの媒体を含むが、これらに限定されることはない。
【００３２】
[0037]  当業者であれば、本明細書に示される方法で装置及び／又はプロセスを説明し、その後技術的手法を使用してそのような説明されている装置及び／又はプロセスをデータ処理システムに組み入れることは、当技術分野において一般的であることを理解するであろう。つまり、本明細書において説明される装置及び／又はプロセスの少なくとも一部は、適量の実験を介してデータ処理システムに組み込まれてもよい。当業者であれば、標準的なデータ処理システムが一般的に、システムユニット筐体、ビデオ表示装置、揮発又は不揮発メモリなどのメモリ、マイクロプロセッサ及びデジタルシグナルプロセッサなどのプロセッサ、オペレーティングシステム、ドライバ、グラフィカルユーザインターフェイス、及びアプリケーションプログラムなどの計算エンティティ、アプリケーションプログラム、タッチパッドもしくはスクリーンなどの１つもしくは複数のインタラクション装置、並びに／又はフィードバックループ及び制御モータ（たとえば、位置及び／又は速度を検知するためのフィードバック、コンポーネント及び／又は数量を移動及び／又は調整するための制御モータ）を含む制御システムを含むことを理解するであろう。標準的なデータ処理システムは、データコンピューティング／通信及び／又はネットワークコンピューティング／通信システムに通常見られるような、任意の適切な市販されているコンポーネントを使用して実施されてもよい。
【００３３】
[0038]  本明細書において説明される主題は、場合によっては、さまざまな他のコンポーネント内に含まれるか、又はそれらと接続されるさまざまなコンポーネントを示す。そのような示されたアーキテクチャは単に例示的なものであり、実際に同じ機能を達成する多くのその他のアーキテクチャが実施されてもよい。概念的な意味において、同じ機能を達成するためのコンポーネントの任意の配置は、望ましい機能が達成されるように事実上「関連付けられている」。したがって、特定の機能を達成するために組み合わされた本明細書における２つのコンポーネントは、アーキテクチャ又は中間コンポーネントに関わりなく、望ましい機能が達成されるように相互に「関連付けられている」と見なすことができる。同様に、そのように関連付けられている任意の２つのコンポーネントはまた、望ましい機能を達成するために相互に「動作可能に接続」又は「動作可能に結合」されていると見なすことができ、そのように関連付けられることが可能な任意の２つのコンポーネントはまた、望ましい機能を達成するために相互に「動作可能に結合可能」であると見なすことができる。動作可能に結合可能であることの具体的な例は、物理的に結合可能及び／又は物理的に対話するコンポーネント、及び／又は無線で対話可能及び／又は無線で対話するコンポーネント、及び／又は論理的に対話及び／又は論理的に対話可能なコンポーネントを含むが、これらに限定されることはない。
【００３４】
[0039]  本明細書において実質上任意の複数及び／又は単数の用語の使用に関して、当業者であれば、コンテキスト及び／又は用途に適切であるように複数から単数及び／又は単数から複数に置き換えることができる。さまざまな単数／複数の置換は、明確にするために、本明細書において明示的に示されている。
【００３５】
[0040]  概して、本明細書、及び特に後続の特許請求の範囲（たとえば、後続の特許請求の範囲の本文）において使用される用語は一般に、「オープンな（制限のない）」用語を意図している（たとえば、用語「含んでいる（including）」は「含んでいるが限定されるものではない（including but not limited to）」と解釈されるべきであり、用語「有する（having）」は「少なくとも有する（having at least）」と解釈されるべきであり、用語「含む（includes）」は「含むが限定されるものではない（includes but not limited to）」と解釈されるべきであることが、当業者には理解されよう。特定数の導入される請求の範囲の列挙が意図される場合、そのような意図は請求の範囲で明示的に列挙され、そのような列挙がない場合にはそのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解を助けるものとして、以下の後続の特許請求の範囲は、請求の範囲の列挙を導入するための前置句「少なくとも１つ（at least one）」及び「１つ又は複数（one or more）」の使用を含むことができる。しかし、そのような句の使用は、同じ請求の範囲が前置句「１つ又は複数（one or more）」又は「at least one」、及び「a」又は「an」などの不定冠詞（たとえば、「a」及び／又は「an」は「少なくとも１つ（at least one）」及び「１つ又は複数（one or more）」を意味するように解釈されるべきである）を含む場合であっても、不定冠詞「a」又は「an」による請求の範囲の列挙の導入が、そのような導入された請求の範囲の列挙を含む任意の特定の請求の範囲を、そのような列挙を１つしか含まない実施形態に限定することを暗示するように解釈されるべきではない。同様のことが、請求の範囲の列挙を導入するために使用される定冠詞の使用についても言える。加えて、特定数の導入される特許請求の範囲の列挙が明示的に列挙される場合であっても、当業者であれば、そのような列挙が、少なくとも列挙された数を意味する（たとえば、他の修飾子がない場合、「２つの列挙」の単なる列挙が、少なくとも2つの列挙、又は2つ以上の列挙を意味する）ように解釈されるべきであることを理解するであろう。さらに、「Ａ，Ｂ及びＣのうちの少なくとも１つ、など（at least one of A, B, and C, etc.）」と類似した表記法が使用されるような例において、一般にそのような構造は、当業者が表記法を理解するような意味で意図されている（たとえば、「Ａ，Ｂ及びＣのうちの少なくとも１つを有するシステム（a system having at least one of A, B, and C）は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢ、Ａ及びＣ、Ｂ及びＣ、並びに／又はＡ，Ｂ，Ｃすべて、を有するシステムを含むが、これらに限定されることはない、など」。「Ａ，Ｂ又はＣのうちの少なくとも１つ、など（at least one of A, B, or C, etc）」と類似した表記法が使用されるような例において、一般にそのような構造は、当業者が表記法を理解するような意味が意図されている（たとえば、「Ａ，Ｂ又はＣのうちの少なくとも1つを有するシステム（a system having at least one of A, B, or C）は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢ、Ａ及びＣ、Ｂ及びＣ、並びに／又はＡ，Ｂ，Ｃすべて、を有するシステムを含むが、これらに限定されることはない、など」。さらに、説明、特許請求の範囲、又は図面のいずれにおいても、２��以上の代替の用語を提示する実質的に任意の離接語及び／又は句は、用語の１つ、用語のいずれか、又は両方の用語を含む可能性を考慮するよう理解されるべきであることを、当業者であれば理解するであろう。たとえば、句「Ａ又はＢ（A or B）」は、「Ａ」もしくは「Ｂ」又は「Ａ及びＢ」の可能性を含むように理解される。
【００３６】
[0041]  加えて、開示の特徴又は態様がマーカッシュグループに関して説明されている場合、開示がまた、任意のマルクーシュグループの個々の構成要素又は構成要素のサブグループに関して説明されることを、当業者は理解するであろう。
【００３７】
[0042]  当業者には理解されるように、書面による説明を提供することに関してなど、あらゆる目的のため、本明細書において開示されるすべての範囲はまた、あらゆる可能な部分範囲及びその部分範囲の組み合わせを網羅する。任意の一覧された範囲は、少なくとも二等分、三等分、四等分、五等分、十等分などに分解される同じ範囲を十分に説明し有効にするものとして容易に理解されてもよい。非限定的な例として、本明細書において説明される各範囲は、下三分の一、中三分の一、及び上三分の一などに容易に分解されてもよい。当業者には理解されるように、「最大（up to）」、「少なくとも（at least）」、「より大きい（greater than）」、「より小さい（less than）」などのすべての表現は、列挙される数を含み、前述のようにその後部分範囲に分解されうる範囲を指す。最後に、当業者には理解されるように、範囲は各個別の構成要素を含む。したがって、たとえば、１〜３のセルを有するグループは、１、２、又は３のセルを有するグループを指す。同様に、１〜５のセルを有するグループは、１、２、３、４、又は５のセルを有するグループを参照する、というように続く。
【００３８】
[0043]  本明細書においてさまざまな態様及び実施形態が開示されたが、その他の態様及び実施形態は、当業者には明らかとなろう。本明細書に開示されているさまざまな態様及び実施形態は、例示のためのものであって、限定的であることを意図されておらず、真の範囲及び精神は以下の特許請求の範囲によって示されている。
【図１ａ】
2010225134.tif 000003
【図１ｂ】
2010225134.tif 000004
【図２】
2010225134.tif 000005
【図３】
2010225134.tif 000006
【図４】
2010225134.tif 000007
【図５】
2010225134.tif 000008
【図６】
2010225134.tif 000009
【外国語明細書】
2010225134000001.pdf