【手続補正書】
【提出日】令和2年11月20日(2020.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数個のコアを含むコンピューティング装置において、
下位階層のコントロールコアを含み、OpenＣＬ（open  computing  language）カーネルを実行するための作業グループを、前記下位階層のコントロールコア及びプロセシングコアに割り当てるコントロールコアグループと、
前記プロセシングコアのうちの少なくとも１つを含み、前記コントロールコアグループによって割り当てられた前記作業グループを処理し、前記作業グループの処理結果を出力する、プロセシングコアグループと、を含み、
前記コントロールコアグループに含まれた複数個のコントロールコアは、前記コントロールコアにより前記作業グループが割り当てられる前記プロセシングコアの数によって階層的に分類され、
前記コントロールコアグループは、
前記OpenＣＬカーネルの実行情報が受信されることにより、前記作業グループを前記下位階層のコントロールコアに割り当て、前記割り当てられた作業グループについての情報を前記下位階層のコントロールコアに送信する最上位コントロールコアと、
前記コントロールコアグループの上位階層のコントロールコアによって割り当てられた作業グループについての情報を受信し、前記プロセシングコアに前記作業グループを割り当てる、少なくとも１つの最下位コントロールコアを含んだ最下位コントロールコアグループと、を含む、
コンピューティング装置。
【請求項２】
前記コントロールコアグループは、
前記下位階層のコントロールコア及び前記プロセシングコアによる前記作業グループの処理結果に従って、前記コントロールコアグループの他の下位階層のコントロールコア及び他のプロセシングコアに割り当てられた作業グループを再割り当てすることを特徴とする請求項１に記載のコンピューティング装置。
【請求項３】
前記コントロールコアグループは、
前記最上位コントロールコアによって割り当てられた作業グループに係わる情報を受信し、前記最下位コントロールコアグループに前記作業グループを割り当てる、複数個の中間コントロールコアを含んだ中間コントロールコアグループをさらに含み、
前記中間コントロールコアは、前記中間コントロールコアにより前記作業グループが割り当てられる前記プロセシングコアの数によって階層的に分類され、前記コントロールコアグループの上位階層の中間コントロールコアは、下位階層の中間コントロールコアに前記作業グループを割り当てることを特徴とする請求項１に記載のコンピューティング装置。
【請求項４】
前記最上位コントロールコアは、前記OpenＣＬカーネルが実行されることにより、ホストプロセッサによって生成された前記OpenＣＬカーネルの実行情報を受信することを特徴とする請求項１に記載のコンピューティング装置。
【請求項５】
前記最上位コントロールコアは、
前記OpenＣＬカーネルを実行するための作業グループを処理しているとき、前記ホストプロセッサから新たなOpenＣＬカーネルの実行情報が受信されることにより、前記プロセシングコアグループに割り当てられた前記作業グループを再割り当てすることを特徴とする請求項４に記載のコンピューティング装置。
【請求項６】
前記ホストプロセッサは、
前記コントロールコアグループによる前記プロセシングコアグループへの前記作業グループの割り当てが完了すると、前記OpenＣＬカーネルの実行を中断し、割り当て結果を収集して出力することを特徴とする請求項４に記載のコンピューティング装置。
【請求項７】
前記プロセシングコアの中の所与のプロセシングコアが、少なくとも１つのプロセシングエレメントを含み、前記所与のプロセシングコアに割り当てられた前記作業グループのうちの１つに含まれた作業アイテムの数より、前記プロセシングエレメントの数が少ないとき、前記所与のプロセシングコアは、前記OpenＣＬカーネルを変換し、前記プロセシングエレメントのうちの１つが、前記変換されたOpenＣＬカーネルを用いて、複数個の前記作業アイテムを順次に実行することを特徴とする請求項１に記載のコンピューティング装置。
【請求項８】
前記作業グループについての情報を保存するバッファをさらに含むことを特徴とする請求項１に記載のコンピューティング装置。
【請求項９】
前記作業グループについての情報は、
前記下位階層のコントロールコア及び前記プロセシングコアに割り当てられた作業グループの数と、前記割り当てられた作業グループのＩＤとのうち少なくとも一つを含むことを特徴とする請求項８に記載のコンピューティング装置。
【請求項１０】
下位階層のコントロールコアを含むコントロールコアグループにより、OpenＣＬ（open  computing  language）カーネルを実行するための作業グループを、前記下位階層のコントロールコア及びプロセシングコアに割り当てる段階と、
前記プロセシングコアのうちの少なくとも１つが含まれたプロセシングコアグループにより、前記割り当てられた前記作業グループを処理する段階と、
前記プロセシングコアグループにより、前記作業グループの処理結果を出力する段階と、を含み、
前記コントロールコアグループに含まれた複数個のコントロールコアは、前記コントロールコアにより前記作業グループが割り当てられる前記プロセシングコアの数によって階層的に分類され、
前記コントロールコアグループは、
前記OpenＣＬカーネルの実行情報が受信されることにより、前記作業グループを前記下位階層のコントロールコアに割り当て、前記割り当てられた作業グループについての情報を前記下位階層のコントロールコアに送信する最上位コントロールコアと、
前記コントロールコアグループの上位階層のコントロールコアによって割り当てられた作業グループについての情報を受信し、前記プロセシングコアに前記作業グループを割り当てる、少なくとも１つの最下位コントロールコアを含んだ最下位コントロールコアグループと、を含む、
OpenＣＬカーネルを処理する方法。
【請求項１１】
前記コントロールコアグループにより、前記出力された前記作業グループの処理結果に従って、前記コントロールコアグループの下位階層の他のコントロールコア及び他のプロセシングコアに割り当てられた作業グループを再割り当てする段階をさらに含むことを特徴とする請求項１０に記載のOpenＣＬカーネルを処理する方法。
【請求項１２】
前記コントロールコアグループは、
前記最上位コントロールコアによって割り当てられた作業グループに係わる情報を受信し、前記最下位コントロールコアグループに前記作業グループを割り当てる、複数個の中間コントロールコアを含んだ中間コントロールコアグループをさらに含み、
前記中間コントロールコアが、前記中間コントロールコアにより前記作業グループが割り当てられる前記プロセシングコアの数によって階層的に分類されるとき、
前記作業グループを割り当てる段階は、
前記コントロールコアグループの上位階層の中間コントロールコアにより、前記コントロールコアグループの下位階層の中間コントロールコアに前記作業グループを割り当てる段階を含むことを特徴とする請求項１０に記載のOpenＣＬカーネルを処理する方法。
【請求項１３】
前記OpenＣＬカーネルが実行されることにより、ホストプロセッサによって生成された前記OpenＣＬカーネルの実行情報を、前記最上位コントロールコアにより受信する段階をさらに含むことを特徴とする請求項１０に記載のOpenＣＬカーネルを処理する方法。
【請求項１４】
前記OpenＣＬカーネルを実行するための作業グループを処理しているとき、前記ホストプロセッサから新たなOpenＣＬカーネルの実行情報が受信されることにより、前記最上位コントロールコアにより、前記プロセシングコアグループに割り当てられた前記作業グループを再割り当てする段階をさらに含むことを特徴とする請求項１３に記載のOpenＣＬカーネルを処理する方法。
【請求項１５】
前記プロセシングコアの中の所与のプロセシングコアが、少なくとも１つのプロセシングエレメントを含み、前記所与のプロセシングコアに割り当てられた前記作業グループに含まれた作業アイテムの数より前記プロセシングエレメントの数が少ないとき、前記作業グループを処理する段階は、前記所与のプロセシングコアが前記OpenＣＬカーネルを変換することと、前記プロセシングエレメントのうちの１つが、前記変換されたOpenＣＬカーネルを用いて、複数個の前記作業アイテムを順次に実行することとを含むことを特徴とする請求項１０に記載のOpenＣＬカーネルを処理する方法。
【請求項１６】
前記作業グループについての情報をバッファに保存する段階を含むことを特徴とする請求項１０に記載のOpenＣＬカーネルを処理する方法。
【請求項１７】
前記作業グループについての情報は、
前記下位階層のコントロールコア及び前記プロセシングコアに割り当てられた作業グループの数と、前記割り当てられた作業グループのＩＤとのうち少なくとも一つを含むことを特徴とする請求項１６に記載のOpenＣＬカーネルを処理する方法。
【請求項１８】
請求項１０ないし１７のうちいずれか１項に記載の方法をコンピュータで実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。