Asayomu Tech
注目★★★★★Lobsters

Futhark、ついに再帰関数の完全サポートを実装 GPU上での動作課題を解決

30秒で把握

  • 1Futhark が9年ぶりに再帰関数をサポート・GPU上での動作課題をフラットニング技術で解決
  • 2GPU スレッドのスタック制約と動的メモリ割当の困難を、CPU 側での制御フロー実行で回避
  • 3型検査器刷新により単一型・寸法多態再帰に対応・再帰的分割統治アルゴリズムの直観的記述が可能に

要約

Futhark は関数型言語としては異例にも再帰関数をサポートしていなかったが、今回その実装が進展した。再帰がGPUカーネル上で難しい理由は、スレッドのスタック制約とメモリ事前割当の困難さにあり、言語全体で統一した制限ルールを定めるのが困難だったためだ。開発チームはフラットニング技術を用いて、再帰的な制御フローをCPU側で実行し、GPU側は並列演算に専念させる方式を採用した。

あなたへの影響

Futhark のような並列化専用言語では GPU上での再帰実装が困難だが、フラットニングで制御フローをCPU側へ逃すアプローチは、他の並列データ処理言語の設計にも参考になり得る。

推奨:再帰的分割統治アルゴリズムの並列化を試みているなら、この実装方式の詳細を確認する価値がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。