ヘテロジニアス・コンピューティング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/13 18:51 UTC 版)
異種性
一般的にコンピューティングの文脈において[いつ?]異なる命令セットアーキテクチャ (ISA) のことを言及する「異種性」とは、単に異なるマイクロアーキテクチャを持つのではなく(例えば浮動小数点の数値処理はこの特殊例であり異種性と呼ばれることは稀)、メインプロセッサがあるアーキテクチャを持ち、他のプロセッサが別の(普通は非常に異なり、複数の場合もある)アーキテクチャを持つ、ということを意味する。
かつて[いつ?]のヘテロジニアス・コンピューティングでは異なるISAを異なる方法で処理しなければならないことを意味していたが、今[いつ?]では例えば、ヘテロジニアス・システム・アーキテクチャ(HSA)システムが存在し[2]、同じ集積回路上などにある複数の種類のプロセッサ(CPUとGPUなど[3])を使用する際の(ユーザーにとっての)違いを解消しながら、両者の長所を提供する:CPUでオペレーティングシステムを走らせて従来の直列タスクを実行しながら、汎用GPU処理を行うなど(GPUはよく知られる3Dグラフィックスレンダリングの他に、非常に大きなデータセットに対する数学的に集中された計算を行うことができる)。
モダンなコンピューティングシステムでは製造技術の向上によって以前の個別部品がシステム・オン・チップ (SoC) へと統合されるようになり、異種性のレベルが次第に高まっている[要出典]。例えば多くの新しいプロセッサには他のデバイス(SATA、PCI、イーサネット、USB、RFID、無線、UART、メモリコントローラ)と接続するための組み込み回路が含まれているほか、プログラマブル機能ユニットやハードウェアアクセラレータ(GPU、暗号コプロセッサ、プログラマブルネットワークプロセッサ、A/Vエンコーダ/デコーダなど)も搭載されている。
最近[いつ?]の研究では、複数のISAにより提供される多様性を利用したヘテロジニアスISAチップのマルチプロセッサが、一番良い同一ISAホモジニアスのアーキテクチャを21%も上回り、23%の省エネと32%のエネルギー遅延積削減が可能であることを示している[4]。AMDが2014年に発表したピン互換のARM / x86 SoC、コードネーム「Project Skybridge」[5]は、ヘテロジニアスISA(ARM+x86)チップのマルチプロセッサが製作中であることを示唆している[要出典]。
異種CPUトポロジー
異種CPUトポロジーのシステムは同一ISAを使用するものの、コア自体が異なった速度のものとなっているシステムのことである[6]。この構成はどちらかというと対称型マルチプロセッサに似ている(このようなシステムは技術的には非対称型マルチプロセッサに当たるものの、コアの役割やデバイスアクセスには違いが存在しない)。
このようなトポロジーの一般的な使用はモバイルSoCの電力効率を向上させることにある。ARM big.LITTLEはその典型例であり、高速で高消費電力なコアと低速で低消費電力コアが組み合わされている[7]。Apple Siliconも同様の構成のARMコアで作られている。また、IntelはLakefieldというコードネームのハイブリッドx86コアを製造しているが、それには命令セットの対応に大きな制限を含んでいる。
また、Alder Lakeも高性能コアと高効率コアを使用している[8]。
- ^ “Heterogeneous Processing: a Strategy for Augmenting Moore's Law” (2006年). 2014年10月29日閲覧。
- ^ “Hetergeneous System Architecture (HSA) Foundation”. オリジナルの2014年4月23日時点におけるアーカイブ。 2014年11月1日閲覧。
- ^ S. Mittal and J. Vetter (2015), A Survey of CPU-GPU Heterogeneous Computing Techniques ACM Computing Surveys
- ^ Venkat, Ashish; Tullsen, Dean M. (2014). Harnessing ISA Diversity: Design of a Heterogeneous-ISA Chip Multiprocessor. Proceedings of the 41st Annual International Symposium on Computer Architecture.
- ^ Anand Lal Shimpi (2014年5月5日). “AMD Announces Project SkyBridge: Pin-Compatible ARM and x86 SoCs in 2015, Android Support”. AnandTech 2017年6月11日閲覧. "Next year, AMD will release a low-power 20nm Cortex A57 based SoC with integrated Graphics Core Next GPU."
- ^ “Energy Aware Scheduling”. The Linux Kernel documentation. 2020年11月16日閲覧。
- ^ A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors ACM Computing Surveys 2015年
- ^ “インテル、次世代チップ「Alder Lake」をデモ--2021年下半期リリースへ”. CNET Japan (2021年1月13日). 2021年3月14日閲覧。
- ^ Gschwind, Michael (2005). A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor (PDF). Hot Chips: A Symposium on High Performance Chips.
- ^ ISO C++ and SYCL Join for the Future of Heterogeneous Programming Codeplay 2020年6月9日
- ^ SYCLomatic: A New CUDA-to-SYCL Code Migration Tool Intel
- ^ “How To Compile CUDA Code With LLVM”. Phoronix (2015年11月11日). 2015年11月15日閲覧。
- ^ “Compiling CUDA C/C++ with LLVM — LLVM 3.8 documentation”. LLVM Project (2015年11月13日). 2015年11月15日閲覧。
- ^ NVIDIAのCUDAアーキテクチャGPUにおけるFortranサポート
- ^ ZLUDA: Drop-In Open-Source CUDA Support For Intel Xe / UHD Graphics Phoronix 2020年11月24日
- ^ NVIDIA C++ Standard Library Now Available Via GitHub Phoronix 2020年9月19日
- ^ ROCm-Developer-Tools/HIP: HIP: C++ Heterogeneous-Compute Interface for Portability
- ^ ROCm-Developer-Tools/HIPIFY: HIPIFY: Convert CUDA to Portable C++ Code
- ^ OpenMP 4.0 Offloading For Intel MIC Lands In GCC 5 Phoronix 2014年11月13日
- ^ OpenMP Support LLVM project
- ^ LLVM 11 Merges AMD Radeon GCN Offloading For OpenMP Phoronix 2020年5月27日
- ^ a b Intel SPMD Program Compiler - Overview Intel Corporation
- ^ Intel SPMD Program Compiler User's Guide - Compiling For The NVIDIA Kepler GPU Intel Corporation
- ^ Embree Overview Intel Corporation
- ^ 後藤弘茂のWeekly海外ニュース
- ^ WebGL 2.0 Compute
- ^ OpenACC ディレクティブによるプログラミング by PGI Compilers
- ^ "Nvidia, Cray, PGI, and CAPS launch 'OpenACC' programming standard for parallel computing". The Inquirer. 4 November 2011. 2021年3月14日閲覧。
- ^ OpenACC ディレクティブによるプログラミング by PGI Compilers
- ^ OpenACC Changes Merged Today For GCC 5 Phoronix 2015年1月15日
- ^ OpenACC Use Hewlett Packard Enterprise Development
- ^ NVIDIA HPC SDK を発表 | NVIDIA
- ^ High Performance Computing (HPC) SDK | NVIDIA
- ^ C++ AMP Overview | Microsoft Learn
- ^ AMDとMS,GPU演算用途向けのコンパイラ「C++ AMP v1.2」を発表 - 4Gamer.net
- ^ a b HCC Deprecation Notice AMD
- ^ Initiating an Offload on Intel® Graphics Technology Intel
- ^ AMDのGPGPU戦略は新章へ - ATI Streamの展望、DirectX Compute Shaderの衝撃 (2) ATI Streamとは? | マイナビニュース
- ^ "Close to the Metal", Justin Hensley, AMD Graphics Product Group
- ^ AMD、DirectX 11/OpenCLのGPGPUをフルサポートへ
- ^ AMD Drives Adoption of Industry Standards in GPGPU Software Development
- ヘテロジニアス・コンピューティングのページへのリンク