Skip to main content
QUICK REVIEW

[論文レビュー] pLUTo: In-DRAM Lookup Tables to Enable Massively Parallel General-Purpose Computation.

João Dinis Ferreira, Gabriel Falcão|arXiv (Cornell University)|Apr 15, 2021
Parallel Computing and Optimization Techniques参考文献 56被引用数 22
ひとこと要約

pLUTo は、DRAMサブアレイ内に大規模並列ルックアップテーブル(LUT)を埋め込むことで、メモリ内での複雑な演算を効率的かつ低消費電力で実行できる、新しいDRAMアーキテクチャである。DRAMの高い面積密度をLUTの保存および計算に活用することで、pLUToはCPUに対して33倍の高速化と110倍の省エネルギー効果を達成し、GPUに対しては8倍の高速化と80倍の省エネルギー効果を実現した。これは、最先端のバイナリニューラルネットワークのワークロードを対象としている。

ABSTRACT

Data movement between main memory and the processor is a significant contributor to the execution time and energy consumption of memory-intensive applications. This data movement bottleneck can be alleviated using Processing-in-Memory (PiM), which enables computation inside the memory chip. However, existing PiM architectures often lack support for complex operations, since supporting these operations increases design complexity, chip area, and power consumption. We introduce pLUTo (processing-in-memory with lookup table [LUT] operations), a new DRAM substrate that leverages the high area density of DRAM to enable the massively parallel storing and querying of lookup tables (LUTs). The use of LUTs enables the efficient execution of complex operations in-memory, which has been a long-standing challenge in the domain of PiM. When running a state-of-the-art binary neural network in a single DRAM subarray, pLUTo outperforms the baseline CPU and GPU implementations by $33 imes$ and $8 imes$, respectively, while simultaneously achieving energy savings of $110 imes$ and $80 imes$.

研究の動機と目的

  • メモリ集約的ワークロードにおけるデータ移動ボトル neck を解消するため、DRAM内での直接計算を可能にすること。
  • 設計の複雑さと面積オーバーヘッドのため、既存のプロセッシングインメモリ(PiM)アーキテクチャが複雑な演算をサポートできないという制限を克服すること。
  • DRAM内に高密度で大規模並列のルックアップテーブル(LUT)を用いて、メモリ内での複雑な演算の効率的実行を可能にすること。
  • 一般用途のメモリ集約的ワークロード(例:バイナリニューラルネットワーク)において、顕著な性能およびエネルギー効率の向上を達成すること。

提案手法

  • pLUTo は、既存のメモリセル構造を活用して、DRAMサブアレイに直接LUTを統合し、DRAMの高い面積密度を大規模並列性の実現に活用する。
  • サブアレイ内のすべてのメモリセルにわたるLUTの並列クエリを可能にし、コンテンツアドレスラブルなルックアップにより、複雑な演算の同時実行を実現する。
  • 関数をDRAMに格納されたLUTとしてエンコードすることで、任意の関数計算を可能にし、複雑な論理ユニットの必要性を排除する。
  • 従来のDRAM操作と互換性を保ちつつ、既存のDRAMのリード/ライトパスとタイミングを活用することで、面積および電力オーバーヘッドを最小限に抑える。
  • 非線形活性化関数などの複雑な演算を、事前に格納されたLUTにマッピングすることで、メモリ内での実行を可能にする。
  • 評価はバイナリニューラルネットワークワークロードを対象とし、1つのDRAMサブアレイ内でLUTベースの計算により高いスループットと低遅延を実現した。

実験結果

リサーチクエスチョン

  • RQ1LUTをDRAMに効率的に埋め込むことで、複雑な演算のメモリ内大規模並列計算が可能になるか?
  • RQ2DRAMにLUTを統合することで、従来のCPUおよびGPU実行と比較して、面積、電力、性能にどのような影響を与えるか?
  • RQ3メモリ内LUTベースの計算は、メモリ集約的ワークロードにおけるデータ移動をどの程度削減し、エネルギー効率を向上させ得るか?
  • RQ4pLUTo は、従来のアクセラレータと比較して、バイナリニューラルネットワークのような実世界のワークロードにおいて、高い性能と省エネルギーを達成できるか?

主な発見

  • pLUTo は、最先端のバイナリニューラルネットワークを実行する際、ベースラインCPUに対して33倍の高速化を達成した。
  • 同じワークロードにおいて、CPUと比較して110倍の省エネルギー効果を示した。
  • GPUと比較して、8倍の高速化を達成した一方で、80倍の省エネルギー効果を実現した。
  • 性能およびエネルギー効率の向上は、データ移動の排除と、DRAM内に埋め込まれたLUTによる大規模並列性の活用に起因する。
  • このアーキテクチャは、専用論理ユニットを必要とせずに、LUTを用いてメモリ内で複雑な演算を効率的に実行できることを示している。
  • 結果から、DRAMの高い面積密度を活用して、大規模にLUTを格納・クエリ可能にでき、実用的なメモリ内計算が実現可能であることが明らかになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。