맨위로가기

이기종 컴퓨팅

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

이기종 컴퓨팅은 서로 다른 명령어 집합 아키텍처(ISA)를 가진 컴퓨팅 환경을 의미하며, CPU와 GPU 등 다양한 프로세서를 활용하여 성능을 향상시키는 기술이다. 최근에는 SoC(System on Chip) 기술 발전에 따라 이기종 컴퓨팅 시스템의 수준이 증가하고 있으며, 이기종 ISA 칩 멀티프로세서는 동종 ISA 아키텍처보다 성능, 에너지 효율성, EDP(Energy Delay Product) 측면에서 우수한 결과를 보인다.

이기종 CPU 토폴로지는 동일한 ISA를 사용하지만 코어 속도가 다른 시스템으로, 전력 효율성을 높이는 데 기여한다. 이기종 컴퓨팅 시스템은 ISA, ABI, API, 메모리 인터페이스, 상호 연결, 성능, 개발 도구, 데이터 분할 등에서 다양한 과제를 제시한다.

이기종 컴퓨팅은 고성능 컴퓨팅, 임베디드 시스템, 재구성 가능 컴퓨팅, 네트워킹, 범용 컴퓨팅 등 다양한 플랫폼에서 활용되며, OpenCL, CUDA, HIP, OpenMP, DirectCompute, Metal API 등 다양한 프로그래밍 환경을 지원한다.

더 읽어볼만한 페이지

  • 이기종 컴퓨팅 - 이기종 시스템 아키텍처
    이기종 시스템 아키텍처(HSA)는 CPU, GPU, DSP 등 다양한 처리 장치를 효율적으로 활용하기 위해 컴퓨팅 장치를 위한 통합 가상 주소 공간을 제공하여 GPU가 CPU와 메모리를 공유하며 데이터를 교환하도록 함으로써 이기종 컴퓨팅 환경의 성능과 전력 효율성을 향상시키는 시스템 아키텍처이다.
  • 이기종 컴퓨팅 - 코프로세서
    코프로세서는 주 프로세서를 보조하여 특정 작업의 효율을 높이는 특수 목적 프로세서로, 주 프로세서의 제어하에 제한된 기능을 수행하며, 부동 소수점 연산, 그래픽 처리, 인공신경망 연산 등 다양한 종류가 있다.
이기종 컴퓨팅

2. 이기종성 (Heterogeneity)

일반적으로 컴퓨팅 환경에서 "이기종성"은 서로 다른 명령어 집합(ISA)을 의미한다. 주 프로세서는 하나의 아키텍처를 가지지만, 다른 프로세서는 다른 아키텍처(하나 이상일 수 있음)를 가지며, 서로 다른 마이크로아키텍처를 가진다. 부동 소수점 숫자 처리는 특수한 경우이며, 일반적으로 이기종이라고 불리지 않는다.

과거에는 이기종 컴퓨팅이 서로 다른 ISA를 다르게 처리해야 했지만, 현대에는 이기종 시스템 아키텍처(HSA) 시스템[2]이 등장하여 여러 프로세서 유형(CPU 및 GPU 등)을 사용하면서 사용자에게 차이점을 숨긴다. 일반적으로 동일한 집적 회로에서 CPU는 운영 체제를 실행하고 기존의 직렬 작업을 수행하는 반면, GPU는 일반적인 GPU 처리(3D 그래픽 렌더링 외에도 대규모 데이터 세트에 대한 수학적 연산)에 강점을 보인다.

최근 제조 기술 발전으로 인해 이전의 개별 구성 요소가 SoC에 통합되면서 현대 컴퓨팅 시스템의 이기종성 수준이 점차 증가하고 있다. 예를 들어, 많은 새로운 프로세서에는 SATA, PCI, 이더넷, USB, RFID, 라디오, UART, 메모리 컨트롤러 등 다른 장치와의 인터페이스를 위한 로직과 프로그래밍 가능한 기능 유닛, 하드웨어 가속기(GPU, 암호화 코프로세서, 프로그래밍 가능한 네트워크 프로세서, A/V 인코더/디코더 등)가 포함되어 있다.

최근 연구에 따르면, 여러 ISA의 다양성을 활용하는 이기종 ISA 칩 멀티프로세서는 동종 ISA 아키텍처보다 최대 21% 더 뛰어난 성능을 보이며, 23%의 에너지 절감과 에너지 지연 곱(EDP)에서 32% 감소를 달성할 수 있다.[3] 2014년 AMD가 발표한 핀 호환 ARM 및 x86 SoC인 코드명 Project Skybridge[4]는 이기종 ISA(ARM+x86) 칩 멀티프로세서 개발을 시사한다.

이기종 컴퓨팅 시스템은 일반적인 동종 시스템에서는 발견할 수 없는 새로운 과제를 제시한다.[8] 여러 처리 요소가 존재하면 동종 병렬 처리 시스템과 관련된 모든 문제가 발생하며, 시스템의 이기종성은 시스템 개발, 프로그래밍 방식 및 전반적인 시스템 기능에 비균일성을 초래할 수 있다.[9] 이기종성의 영역은 다음과 같다.[9]


  • ISA 또는 명령어 집합 아키텍처: 컴퓨팅 요소는 서로 다른 명령어 집합 아키텍처를 가질 수 있으며, 이는 이진 비호환성을 초래한다.
  • ABI 또는 응용 프로그램 바이너리 인터페이스: 컴퓨팅 요소는 메모리를 다르게 해석할 수 있다.[10] 여기에는 바이트 순서, 호출 규칙 및 메모리 레이아웃이 모두 포함될 수 있으며, 아키텍처와 사용되는 컴파일러에 따라 달라진다.
  • API 또는 응용 프로그래밍 인터페이스: 라이브러리 및 OS 서비스는 모든 컴퓨팅 요소에서 균일하게 사용할 수 없을 수 있다.[11]
  • 언어 기능의 하위 수준 구현: 함수 및 스레드와 같은 언어 기능은 종종 함수 포인터를 사용하여 구현되는데, 이는 이기종 환경에서 사용할 때 추가적인 변환 또는 추상화가 필요한 메커니즘이다.
  • 메모리 인터페이스 및 계층 구조: 컴퓨팅 요소는 서로 다른 캐시 구조, 캐시 일관성 프로토콜을 가질 수 있으며, 메모리 액세스는 균일 또는 비균일 메모리 액세스(NUMA)일 수 있다. 일부 프로세서/장치는 바이트, 워드 또는 버스트 액세스만 수행할 수 있으므로 임의 데이터 길이를 읽는 기능에서도 차이가 나타날 수 있다.[12]
  • 상호 연결: 컴퓨팅 요소는 기본적인 메모리/버스 인터페이스 외에 서로 다른 유형의 상호 연결을 가질 수 있다. 여기에는 전용 네트워크 인터페이스, 직접 메모리 액세스 (DMA) 장치, 메일함, FIFO 및 스크래치패드 메모리 등이 포함될 수 있다. 또한 이기종 시스템의 특정 부분은 캐시 일관성을 유지할 수 있지만, 다른 부분은 일관성을 유지하기 위해 명시적인 소프트웨어 개입이 필요할 수 있다.
  • 성능: 이기종 시스템은 아키텍처 측면에서 동일하지만 다양한 수준의 성능 및 전력 소비를 초래하는 기본적인 마이크로 아키텍처 차이를 가진 CPU를 가질 수 있다. 불투명한 프로그래밍 모델 및 운영 체제 추상화와 결합된 비대칭적 기능은 특히 혼합된 워크로드에서 성능 예측 가능성 문제를 야기할 수 있다.
  • 개발 도구: 서로 다른 유형의 프로세서는 일반적으로 소프트웨어 개발자를 위해 서로 다른 도구(편집기, 컴파일러 등)를 필요로 하며, 이는 애플리케이션을 분할할 때 복잡성을 초래한다.[13]
  • 데이터 분할: 동종 플랫폼에서 데이터를 분할하는 것은 종종 간단하지만, 일반적인 이기종의 경우 해당 문제가 NP-Complete임이 밝혀졌다.[14] 소수의 분할의 경우, 부하의 균형을 완벽하게 맞추고 통신량을 최소화하는 최적의 분할이 존재한다는 것이 밝혀졌다.[15]

2. 1. 이기종 CPU 토폴로지

이기종 CPU 토폴로지 시스템은 동일한 ISA를 사용하지만, 코어 자체의 속도가 다른 시스템이다.[5] 이러한 구성은 대칭형 다중 프로세서와 더 유사하다. (이러한 시스템은 기술적으로 비대칭 다중 처리이지만, 코어는 역할이나 장치 접근 방식에서 다르지 않다.)

일반적으로 두 가지 유형의 코어가 있다. 더 높은 성능을 가진 코어는 "big" 또는 P-core로, 더 전력 효율적인 코어는 "small" 또는 E-core로 알려져 있다. P-코어와 E-코어라는 용어는 주로 인텔의 이기종 컴퓨팅 구현과 관련하여 사용되며, 빅 코어와 리틀 코어라는 용어는 ARM 아키텍처와 관련하여 사용된다. 일부 프로세서에는 프라임, 성능 및 효율성 코어의 세 가지 범주가 있으며, 프라임 코어는 성능 코어보다 더 높은 성능을 가진다. 프라임 코어는 "빅", 성능 코어는 "미디엄", 효율성 코어는 "스몰"로 알려져 있다.[6]

이러한 토폴로지의 일반적인 사용 사례는 특히 모바일 SoC에서 더 나은 전력 효율성을 제공하는 것이다.

  • ARM big.LITTLE(DynamIQ로 대체됨)은 더 빠른 고전력 코어가 더 느린 저전력 코어와 결합된 전형적인 경우이다.[7]
  • 애플은 유사한 구성을 가진 애플 실리콘 SoC를 생산했다.
  • 인텔은 레이크필드라는 코드명의 하이브리드 x86-64 칩을 생산했지만, 명령어 집합 지원에 큰 제한이 있었다. 더 새로운 앨더 레이크는 "스몰" 코어에 더 많은 명령어 집합 지원을 추가하여 희생을 줄였다.

3. 이기종 컴퓨팅의 과제

이기종 컴퓨팅 시스템은 일반적인 동종 시스템에서는 찾아볼 수 없는 새로운 과제들을 제시한다.[8] 여러 처리 요소가 존재하면 동종 병렬 처리 시스템과 관련된 모든 문제가 발생하며, 시스템의 이기종성은 시스템 개발, 프로그래밍 방식 및 전반적인 시스템 기능에 비균일성을 초래할 수 있다. 이기종성의 영역은 다음과 같다.[9]

영역설명
ISA 또는 명령어 집합 아키텍처컴퓨팅 요소는 서로 다른 명령어 집합 아키텍처를 가질 수 있으며, 이는 이진 비호환성을 초래한다.
ABI컴퓨팅 요소는 메모리를 다르게 해석할 수 있다.[10] 여기에는 바이트 순서, 호출 규칙 및 메모리 레이아웃이 모두 포함될 수 있으며, 아키텍처와 사용되는 컴파일러에 따라 달라진다.
API라이브러리 및 OS 서비스는 모든 컴퓨팅 요소에서 균일하게 사용할 수 없을 수 있다.[11]
언어 기능의 하위 수준 구현함수 및 스레드와 같은 언어 기능은 종종 함수 포인터를 사용하여 구현되는데, 이는 이기종 환경에서 사용할 때 추가적인 변환 또는 추상화가 필요한 메커니즘이다.
메모리 인터페이스 및 계층 구조컴퓨팅 요소는 서로 다른 캐시 구조, 캐시 일관성 프로토콜을 가질 수 있으며, 메모리 액세스는 균일 또는 비균일 메모리 액세스(NUMA)일 수 있다. 일부 프로세서/장치는 바이트, 워드 또는 버스트 액세스만 수행할 수 있으므로 임의 데이터 길이를 읽는 기능에서도 차이가 나타날 수 있다.[12]
상호 연결컴퓨팅 요소는 기본적인 메모리/버스 인터페이스 외에 서로 다른 유형의 상호 연결을 가질 수 있다. 여기에는 전용 네트워크 인터페이스, DMA 장치, 메일함, FIFO 및 스크래치패드 메모리 등이 포함될 수 있다. 또한 이기종 시스템의 특정 부분은 캐시 일관성을 유지할 수 있지만, 다른 부분은 일관성을 유지하기 위해 명시적인 소프트웨어 개입이 필요할 수 있다.
성능이기종 시스템은 아키텍처 측면에서 동일하지만 다양한 수준의 성능 및 전력 소비를 초래하는 기본적인 마이크로 아키텍처 차이를 가진 CPU를 가질 수 있다. 불투명한 프로그래밍 모델 및 운영 체제 추상화와 결합된 비대칭적 기능은 특히 혼합된 워크로드에서 성능 예측 가능성 문제를 야기할 수 있다.
개발 도구서로 다른 유형의 프로세서는 일반적으로 소프트웨어 개발자를 위해 서로 다른 도구(편집기, 컴파일러 등)를 필요로 하며, 이는 애플리케이션을 분할할 때 복잡성을 초래한다.[13]
데이터 분할동종 플랫폼에서 데이터를 분할하는 것은 종종 간단하지만, 일반적인 이기종의 경우 해당 문제가 NP-Complete임이 밝혀졌다.[14] 소수의 분할의 경우, 부하의 균형을 완벽하게 맞추고 통신량을 최소화하는 최적의 분할이 존재한다는 것이 밝혀졌다.[15]


4. 플랫폼 예시

이기종 컴퓨팅 하드웨어는 하이엔드 서버 및 고성능 컴퓨팅 머신부터 모바일 폰 및 태블릿을 포함한 저전력 임베디드 장치에 이르기까지 모든 컴퓨팅 영역에서 찾아볼 수 있다. 다음은 이기종 컴퓨팅 플랫폼의 예시이다.

플랫폼 종류예시
고성능 컴퓨팅
임베디드 시스템 (DSP 및 모바일 플랫폼)
재구성 가능 컴퓨팅
네트워킹
범용 컴퓨팅, 게임 및 엔터테인먼트 장치


4. 1. 고성능 컴퓨팅


  • 크레이 XD1
  • SRC-6 및 SRC-7

4. 2. 임베디드 시스템 (DSP 및 모바일 플랫폼)

4. 3. 재구성 가능 컴퓨팅

자일링스 FPGA (Virtex-II Pro, Virtex 4 FX, Virtex 5 FXT) 및 Zynq 플랫폼과 인텔 "Stellarton" (Atom + 알테라 FPGA) 등이 재구성 가능 컴퓨팅에 활용된다.[59]

4. 4. 네트워킹

4. 5. 범용 컴퓨팅, 게임 및 엔터테인먼트 장치

인텔의 샌디브리지, 아이비브리지, 하스웰 CPU와 AMD의 엑스카베이터라이젠 APU는 통합 GPU를 탑재하여 OpenCL을 지원한다.[59] IBM은 플레이스테이션 3에 탑재되었으며, 벡터 코프로세서를 가지고 있다. SpursEngine은 IBM 셀 프로세서의 일종이다. 이모션 엔진플레이스테이션 2에 탑재되었으며, 벡터 및 미디어 코프로세서를 가지고 있다. ARMbig.LITTLE/DynamIQ CPU 아키텍처는 이기종 토폴로지를 사용한다.

5. 프로그래밍 환경 예시

이기종 컴퓨팅의 프로그래밍 환경은 초기에는 독자적인 전용 프로그래밍 언어를 사용하는 등 실험적인 형태가 많았지만, 점차 보급되면서 표준 C/C++(C++) 또는 그 독자적인 확장이 주로 사용되고 있다.

하드웨어 및 기술에 따라 추상화 수준, 함수 포인터 또는 가상 함수 사용 여부, 호스트와 게스트 간의 Unified Shared Memory (USM) 또는 이종 통합 메모리 액세스 (hUMA) 지원 등이 달라진다.

5. 1. 현재 기술


: 크로노스 그룹에서 관리하고 제정하는 병렬 컴퓨팅을 위한 크로스 플랫폼 API 사양이다. 파생 규격으로, 웹 브라우저에서 이기종 컴퓨팅을 수행하기 위한 WebCL도 표준으로 책정되었지만, 2021년 3월 현재 네이티브로 대응하는 브라우저는 존재하지 않는다. 당초 애플을 중심으로 제안되었지만, 이후 애플 플랫폼에서는 비권장되었다.

  • SYCL

: 크로노스 그룹에서 관리하고 책정하는 이기종 컴퓨팅용 추상화 레이어이다. OpenCL뿐만 아니라 다른 백엔드에도 대응한다. 인텔의 CPU/GPU/FPGA 개발 환경의 중심이기도 하다. ISO C++와의 호환성이 고려되었다[26]。CUDA 코드를 SYCL 코드로 변환하는 툴 SYCLomatic도 오픈 소스로 제공되고 있다[27]

  • CUDA (Compute Unified Device Architecture)

: 엔비디아에 의한 GeForce / Quadro / Tesla / Tegra 시리즈 GPU용 GPGPU 개발・실행 환경이다. C 언어를 확장한 CUDA C에 의한 개발을 가능하게 한다 (Ver.2.2 이후는 C++ 언어를 확장한 CUDA C++에 의한 개발도 가능하게 되었다). 엔비디아에 의한 컴파일러 구현 ''nvcc''뿐만 아니라, 오픈 소스 컴파일러의 LLVM에서도 CUDA 컴파일러의 구현이 시작되었다[28][29]。또한, PGI사에서는 CUDA Fortran Compiler가 제공되고 있다[30]인텔 Xe용으로 컴파일하기 위한 ZLUDA도 있다[31](개발 중단). 이기종 컴퓨팅용 표준 C++ 라이브러리인 libcu++ (NVIDIA C++ Standard Library)도 존재한다. libcu++는 LLVM의 libc++의 파생이다[32]

  • HIP (Heterogeneous-Compute Interface for Portability)

: CUDA에 가까운 커널 언어 및 API. AMD에 의한 ROCm (Radeon Open Compute) 플랫폼의 일환으로, 오픈 소스로 제공되고 있다[33]。실행 환경으로 AMD GPU에 대응하는 것 외에, 백엔드에 CUDA 컴파일러를 이용함으로써, 엔비디아 GPU 상에서 동작 가능한 CUDA 코드를 생성하는 것도 가능하다. CUDA 코드를 HIP 코드로 변환하는 툴 HIPIFY도 오픈 소스로 제공되고 있다[34]

  • OpenMP (4.0 이후)

: OpenMP는 4.0 이후 offload에 대응하게 되었다. GCC 5 이후[35]나 LLVM/Clang[36][37] 등이 이에 대응하고 있다.

  • SPMD Programming Language

: 인텔에 의해 개발된, C 언어를 확장한 대응 언어이며, Intel SPMD Program Compiler (ISPC)로 컴파일 가능하다[38]。ISPC는 오픈 소스이며, 백엔드에 LLVM을 사용하고 있다[38]。인텔의 CPU나 Xeon Phi뿐만 아니라, 엔비디아 Kepler GPU[39]ARM에도 대응하고 있다. ISPC를 도입한 예로서는, 오픈 소스 레이 트레이싱 엔진인 Embree가 있다[40]

  • DirectCompute

: 마이크로소프트가 개발・배포하고 있는 DirectX 기술 중 하나이며, DirectX 11/DirectX 12 세트에 포함되는 GPGPU용 API. GPGPU용 셰이더 스테이지로서 도입된 Direct3D 컴퓨트 셰이더 (compute shader)를 이용한다. HLSL을 커널 기술 언어로 한다. 그래픽스 연계 용도를 중시하고 있다[41]。동작 환경은 Windows Vista 이후의 Windows 플랫폼 및 Xbox One 이후의 Xbox 플랫폼.

  • OpenGL 컴퓨트 셰이더

: DirectX에 탑재되어 있는 전술한 컴퓨트 셰이더와 마찬가지로, OpenGL에서도 버전 4.3에서 GPGPU용 셰이더 스테이지가 표준화되었다. GLSL을 커널 기술 언어로 한다. 버전 4.6의 GL_ARB_gl_spirv 확장으로 SPIR-V 중간 표현에 대응했다. OpenGL ES에서는 버전 3.1에서 도입되었다. 웹 브라우저용 OpenGL ES 파생 규격인 WebGL에서는, 아직 컴퓨트 셰이더에 대응하고 있지 않으며, 초안 단계이다[42]

  • Vulkan 컴퓨트 셰이더

: OpenGL과 마찬가지로 Vulkan에도 컴퓨트 셰이더가 있다. 셰이더 코드의 중간 표현에는 SPIR-V가 채용되었으며, 오프라인 컴파일이 가능하다. 주로 GLSL 또는 HLSL을 커널 기술 언어로 사용한다.

  • Metal 컴퓨트 셰이더

: 애플은 OpenCL을 비권장하고, 대체로 Metal API의 컴퓨트 셰이더를 권장하고 있다. 커널의 기술에는 Metal Shading Language (MSL)를 사용한다. macOS/iOS 등의 애플 플랫폼 상에서만 이용 가능.
: OpenMP처럼 코드 중에 디렉티브를 삽입함으로써, 병렬 처리의 하드웨어 가속을 할 수 있도록 하는 표준 규격[43]이며, Cray (후에 HPE가 인수), 엔비디아, PGI (후에 엔비디아가 인수), CAPS가 이기종 시스템을 향해 설계했다[44]。PGI의 컴파일러에 처음 탑재되었으며[45], 그 후, GCC 5.0 이후에도 탑재되어 있다[46]。HPE는 CCE (Cray Compiling Environment) 10.0.0 이후 OpenACC를 비권장하고, OpenMP를 권장하도록 하고 있다[47]。엔비디아는 2020년에 OpenACC 등의 포괄적인 지원을 포함하는 HPC SDK를 발표했다[48][49]

5. 2. 과거 기술


  • C++ AMP: 마이크로소프트가 개발한 하드웨어 가속 병렬 처리를 C++ 언어로 기술할 수 있도록 하는 고수준 라이브러리 및 언어 확장이다. 공식 구현으로는 DirectCompute를 백엔드로 하는 Microsoft Visual C++가 있다. 그러나 Visual C++ 2022 이후에는 더 이상 권장되지 않는다.[50] 오픈 소스 C++ AMP 구현 "HCC"도 존재했지만[51], 이후 권장되지 않아 CUDA와 유사한 HIP API를 기반으로 하는 HIP-Clang으로 대체되었다.[52]
  • OpenHMPP영어 (Open Hybrid Multicore Parallel Programming): OpenACC와 마찬가지로 디렉티브 기반의 이기종 컴퓨팅용 프로그래밍 표준이다.
  • OpenMP LEO (Language Extensions for Offload): 인텔에 의한 인텔 MIC (Many Integrated Core) 및 GFX로 오프로드하기 위한 OpenMP 확장이다. ICC (Intel C++ Compiler)에 구현되었다.[53]
  • Close to Metal영어(CTM, Close To the Metal영어): AMD의 ATI계 GPU 스트림 프로세서 인터페이스로, 하드웨어에 가까운 로우 레벨 제어를 가능하게 한다.[54]
  • AMD Stream (구 ATI Stream): AMD의 ATI계 GPU용 GPGPU 개발 및 실행 환경이다. CTM을 Compute Abstraction Layer(CAL)에 의해 추상화하고,[55] Brook 언어를 CAL용으로 확장한 Brook+ 언어로 개발을 가능하게 한다. AMD는 "GPGPU에서 DirectX 11 및 OpenCL을 완벽하게 지원한다"라고 발표했으며,[56] [57] CCC 11.2에서 Radeon HD 시리즈 이상의 GPU용으로 OpenCL 드라이버가 기본 탑재되었다. 그 후, AMD는 HSA 추진과 함께 독자 규격이 아닌 OpenCL을 이기종 전략의 핵심으로 하는 방향으로 전환했다. AMD에 의한 CPU/GPU/APU 대응의 종합 기반 기술은 "AMD Accelerated Parallel Processing"(AMD APP)라고 불리며, SDK의 명칭도 ATI Stream SDK에서 AMD APP SDK로 변경 및 통일되었지만, 그 후 AMD APP SDK는 폐지되었고, GPU 컴퓨팅의 기술 기반은 오픈 소스인 ROCm 플랫폼으로 이전하게 되었다.
  • Lib Sh영어(libsh): 워털루 대학교 컴퓨터 그래픽 연구실의 성과를 기반으로 한, RapidMind에 의한 셰이더 프로그래밍 및 GPGPU를 위한 메타프로그래밍 기술이다. C++ 언어로 개발을 가능하게 하며, LGPL 라이선스로 공개되어 있다.
  • RapidMind: RapidMind영어에 의한 상업용 병렬 컴퓨팅 개발 환경이다. GPU/멀티코어 CPU/Cell 프로세서를 백엔드로 이용할 수 있으며, C++ 언어로 개발을 가능하게 한다.
  • BrookGPU영어 (Brook for GPU): 스탠퍼드 대학교 컴퓨터 그래픽 연구실에 의한 스트림 컴퓨팅 개발 환경이다. GPU 및 OpenMP에 의한 멀티코어 CPU 연산을 백엔드로 이용할 수 있다. C 언어 (ANSI C)를 확장한 Brook 언어로 개발을 가능하게 하며, BSD 라이선스 및 GPL 라이선스로 공개되어 있다.
  • PeakStream: PeakStream에 의한 상업용 스트림 컴퓨팅 개발 환경이다. GPU / 멀티코어 CPU / Cell 프로세서를 백엔드로 이용할 수 있다. PeakStream은 2007년 6월경까지 구글에 의해 인수되었다.

참조

[1] 간행물 Heterogeneous Processing: a Strategy for Augmenting Moore's Law http://www.linuxjour[...]
[2] 뉴스 Hetergeneous System Architecture (HSA) Foundation http://www.hsafounda[...] 2014-11-01
[3] 간행물 Harnessing ISA Diversity: Design of a Heterogeneous-ISA Chip Multiprocessor http://dl.acm.org/ci[...]
[4] 뉴스 AMD Announces Project SkyBridge: Pin-Compatible ARM and x86 SoCs in 2015, Android Support http://www.anandtech[...] AnandTech 2014-05-05
[5] 웹사이트 Energy Aware Scheduling https://www.kernel.o[...]
[6] 웹사이트 Qualcomm's Snapdragon 8 Gen 3 promises 30 percent faster CPU https://arstechnica.[...] 2023-10-24
[7] 학술지 A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors https://www.research[...] 2015-02
[8] 간행물 Programming Heterogeneous Systems
[9] 간행물 Bringing Heterogeneous Processors Into The Mainstream http://saahpc.ncsa.i[...]
[10] 학술지 Cost-Aware Multimedia Data Allocation for Heterogeneous Memory Using Genetic Algorithm in Cloud Computing 2020-10/12
[11] 간행물 Hardware Microkernels for Heterogeneous Manycore Systems
[12] 학위논문 Heterogenes Rechnen mit ARM und DSP Multiprozessor-Ein-Chip-Systemen https://doi.org/10.2[...] Fachhochschule Vorarlberg 2020
[13] 웹사이트 Tools Matter In Mixed-Processor Software Development https://www.electron[...] 2023-08-09
[14] 학술지 Partitioning a square into rectangles: NP-completeness and approximation algorithms http://lara.inist.fr[...] 2002-08
[15] 학술지 Recent Advances in Matrix Partitioning for Parallel Computing on Heterogeneous Platforms. https://www.brettbec[...] 2018-07
[16] 간행물 A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor http://www.hotchips.[...] 2014-10-28
[17] 웹사이트 Heterogeneous Processing: a Strategy for Augmenting Moore's Law http://www.linuxjour[...] 2014-10-29
[18] 뉴스 Hetergeneous System Architecture (HSA) Foundation http://www.hsafounda[...] 2014-11-01
[19] 문서 A Survey of CPU-GPU Heterogeneous Computing Techniques https://www.research[...] ACM Computing Surveys 2015
[20] 간행물 Harnessing ISA Diversity: Design of a Heterogeneous-ISA Chip Multiprocessor http://dl.acm.org/ci[...]
[21] 뉴스 AMD Announces Project SkyBridge: Pin-Compatible ARM and x86 SoCs in 2015, Android Support http://www.anandtech[...] AnandTech 2014-05-05
[22] 웹사이트 Energy Aware Scheduling https://www.kernel.o[...] 2020-11-16
[23] 문서 A Survey Of Techniques for Architecting and Managing Asymmetric Multicore Processors https://www.research[...] ACM Computing Surveys 2015
[24] 웹사이트 インテル、次世代チップ「Alder Lake」をデモ--2021年下半期リリースへ https://japan.cnet.c[...] 2021-01-13
[25] 간행물 A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor http://www.hotchips.[...]
[26] 문서 ISO C++ and SYCL Join for the Future of Heterogeneous Programming https://www.codeplay[...] Codeplay 2020-06-09
[27] 문서 SYCLomatic: A New CUDA-to-SYCL Code Migration Tool https://www.intel.co[...] Intel
[28] 웹사이트 How To Compile CUDA Code With LLVM http://www.phoronix.[...] Phoronix 2015-11-15
[29] 웹사이트 Compiling CUDA C/C++ with LLVM — LLVM 3.8 documentation http://llvm.org/docs[...] LLVM Project 2015-11-15
[30] 문서 NVIDIAのCUDAアーキテクチャGPUにおけるFortranサポート http://www.nvidia.co[...]
[31] 문서 ZLUDA: Drop-In Open-Source CUDA Support For Intel Xe / UHD Graphics https://www.phoronix[...] Phoronix 2020-11-24
[32] 문서 NVIDIA C++ Standard Library Now Available Via GitHub https://www.phoronix[...] Phoronix 2020-09-19
[33] 문서 HIP: C++ Heterogeneous-Compute Interface for Portability https://github.com/R[...]
[34] 문서 HIPIFY: Convert CUDA to Portable C++ Code https://github.com/R[...]
[35] 문서 OpenMP 4.0 Offloading For Intel MIC Lands In GCC 5 http://www.phoronix.[...] Phoronix 2014-11-13
[36] 웹사이트 OpenMP Support https://clang.llvm.o[...]
[37] 뉴스 LLVM 11 Merges AMD Radeon GCN Offloading For OpenMP https://www.phoronix[...] Phoronix 2020-05-27
[38] 웹사이트 Intel SPMD Program Compiler - Overview https://ispc.github.[...] Intel Corporation
[39] 웹사이트 Intel SPMD Program Compiler User's Guide - Compiling For The NVIDIA Kepler GPU https://ispc.github.[...] Intel Corporation
[40] 웹사이트 Embree Overview https://embree.githu[...] Intel Corporation
[41] 뉴스 後藤弘茂のWeekly海外ニュース https://pc.watch.imp[...]
[42] 웹사이트 WebGL 2.0 Compute https://www.khronos.[...]
[43] 웹사이트 OpenACC ディレクティブによるプログラミング by PGI Compilers https://hpcworld.jp/[...]
[44] 웹사이트 Nvidia, Cray, PGI, and CAPS launch ‘OpenACC’ programming standard for parallel computing https://web.archive.[...] 2021-03-14
[45] 웹사이트 OpenACC ディレクティブによるプログラミング by PGI Compilers http://www.softek.co[...]
[46] 뉴스 OpenACC Changes Merged Today For GCC 5 http://www.phoronix.[...] Phoronix 2015-01-15
[47] 웹사이트 OpenACC Use https://pubs.cray.co[...] Hewlett Packard Enterprise Development
[48] 웹사이트 NVIDIA HPC SDK を発表 | NVIDIA https://blogs.nvidia[...]
[49] 웹사이트 High Performance Computing (HPC) SDK | NVIDIA https://developer.nv[...]
[50] 웹사이트 C++ AMP Overview | Microsoft Learn https://learn.micros[...]
[51] 뉴스 AMDとMS,GPU演算用途向けのコンパイラ「C++ AMP v1.2」を発表 - 4Gamer.net https://www.4gamer.n[...]
[52] 웹사이트 HCC Deprecation Notice https://rocmdocs.amd[...] AMD
[53] 웹사이트 Initiating an Offload on Intel® Graphics Technology https://web.archive.[...] Intel
[54] 뉴스 AMDのGPGPU戦略は新章へ - ATI Streamの展望、DirectX Compute Shaderの衝撃 (2) ATI Streamとは? | マイナビニュース https://news.mynavi.[...]
[55] 문서 "Close to the Metal", Justin Hensley, AMD Graphics Product Group http://gpgpu.org/sta[...]
[56] 뉴스 AMD、DirectX 11/OpenCLのGPGPUをフルサポートへ https://pc.watch.imp[...]
[57] 웹사이트 AMD Drives Adoption of Industry Standards in GPGPU Software Development http://www.amd.com/u[...]
[58] 콘퍼런스 Heterogeneous Processing: a Strategy for Augmenting Moore's Law http://www.linuxjour[...]
[59] 콘퍼런스 A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor http://www.hotchips.[...] 2019-08-31



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com