이기종 시스템 아키텍처
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
이기종 시스템 아키텍처(HSA)는 CPU, GPU, DSP, ASIC 등 다양한 처리 장치를 포함하는 시스템 아키텍처이다. HSA의 핵심은 CPU와 GPU 간의 연산을 효율적으로 처리하고, 프로그래머의 부담을 줄이는 것이다. HSA는 통합 가상 주소 공간을 제공하여 각 장치가 메모리에 직접 접근하고 포인터를 공유할 수 있도록 하며, HSAIL(이종 시스템 아키텍처 중간 언어)을 통해 병렬 프로그래밍을 지원한다. HSA는 CPU와 GPU뿐만 아니라 다양한 처리 장치를 포함하는 시스템을 의미하며, HSA 메모리 모델은 다양한 언어와 호환된다. HSA 디스패처 및 런타임은 이기종 작업 큐잉을 지원하며, 모바일 장치에서 전력 효율성을 향상시키는 데 기여한다. HSA는 하드웨어와 소프트웨어 모두에서 지원되며, AMD, ARM 등 다양한 제조사에서 관련 기술을 개발하고 있다.
더 읽어볼만한 페이지
- 이기종 시스템 아키텍처 - AMD APU
AMD APU는 CPU와 GPU를 하나의 칩에 통합한 프로세서로, 2011년 A 시리즈 출시를 시작으로 젠 아키텍처 기반 APU를 거쳐 현재는 라이젠 브랜드로 모바일 APU 제품군을 선보이고 있다. - 이기종 시스템 아키텍처 - 스팀롤러 (마이크로아키텍처)
스팀롤러는 AMD가 불도저 아키텍처를 개선하여 개발한 마이크로아키텍처로, 클러스터형 멀티스레딩 방식과 성능 향상을 통해 카베리 APU, 고다바리 APU 등에 사용되었다. - 이기종 컴퓨팅 - 코프로세서
코프로세서는 주 프로세서를 보조하여 특정 작업의 효율을 높이는 특수 목적 프로세서로, 주 프로세서의 제어하에 제한된 기능을 수행하며, 부동 소수점 연산, 그래픽 처리, 인공신경망 연산 등 다양한 종류가 있다. - 이기종 컴퓨팅 - ROCm
ROCm은 AMD가 개발한 개방형 소프트웨어 스택으로, GPU를 활용한 컴퓨팅을 지원하며, HIP를 통해 CUDA 코드를 사용할 수 있도록 지원하고 머신 러닝, 슈퍼컴퓨팅 등 다양한 분야에서 활용된다. - 표시 이름과 문서 제목이 같은 위키공용분류 - 라우토카
라우토카는 피지 비치레부섬 서부에 위치한 피지에서 두 번째로 큰 도시이자 서부 지방의 행정 중심지로, 사탕수수 산업이 발달하여 "설탕 도시"로 알려져 있으며, 인도에서 온 계약 노동자들의 거주와 미 해군 기지 건설의 역사를 가지고 있고, 피지 산업 생산의 상당 부분을 담당하는 주요 기관들이 위치해 있다. - 표시 이름과 문서 제목이 같은 위키공용분류 - 코코넛
코코넛은 코코넛 야자나무의 열매로 식용 및 유지로 사용되며, 조리되지 않은 과육은 100g당 354kcal의 열량을 내는 다양한 영양 성분으로 구성되어 있고, 코코넛 파우더의 식이섬유는 대부분 불용성 식이섬유인 셀룰로오스이며, 태국 일부 지역에서는 코코넛 수확에 훈련된 원숭이를 이용하는 동물 학대 문제가 있다.
이기종 시스템 아키텍처 | |
---|---|
개요 | |
유형 | 컴퓨팅 시스템 |
설명 | 이기종 컴퓨팅을 위한 아키텍처 |
특징 | |
목표 | CPU와 GPU 간의 협업 최적화 |
핵심 기술 | 이기종 균일 메모리 접근 (hUMA) 이기종 대기열 (hQ) |
HSAIL | 중간 표현 |
관련 단체 | HSA 재단 (교차 벤더) |
활용 분야 | 멀티코어 이미지 처리 기타 이기종 컴퓨팅 작업 |
기술적 세부 사항 | |
메모리 접근 | CPU와 GPU가 단일 메모리 공간을 공유 |
작업 할당 | 작업은 CPU 또는 GPU에서 유연하게 실행 가능 |
프로그래밍 모델 | 개발자가 다양한 프로세서 유형을 활용 가능 |
장점 | |
성능 향상 | 특정 작업에 최적화된 프로세서 활용 |
전력 효율성 | 필요한 프로세서만 활성화하여 에너지 소비 감소 |
개발 편의성 | 공통 메모리 공간 및 프로그래밍 모델 제공 |
단점 | |
복잡성 증가 | 이기종 환경에서의 프로그래밍 및 디버깅의 어려움 |
추가 비용 | HSA를 지원하는 하드웨어 및 소프트웨어 필요 |
관련 기술 | |
이기종 컴퓨팅 | 다양한 유형의 프로세서를 함께 사용하는 컴퓨팅 방식 |
GPGPU | GPU를 범용 컴퓨팅에 활용하는 기술 |
APU | CPU와 GPU를 단일 칩에 통합한 프로세서 |
2. 원리
HSA의 핵심 원리는 프로그래머가 계산 작업을 GPU에 오프로드할 때 겪는 부담을 줄이는 것이다. 기존 시스템에서는 CPU와 GPU가 서로 다른 메모리 공간을 사용했기 때문에 데이터를 주고받는 과정에서 복잡한 절차가 필요했지만, HSA는 통합 가상 주소 공간을 제공하여 이러한 문제를 해결한다.
원래 셀 브로드밴드 엔진(Cell Broadband Engine)과 같은 임베디드 시스템에서 도입된, 여러 시스템 행위자 간에 시스템 메모리를 직접 공유하는 방식은 이기종 컴퓨팅을 더욱 주류로 만들었다. 이기종 컴퓨팅 자체는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 디지털 신호 프로세서(DSP) 또는 모든 유형의 주문형 반도체(ASIC) 등 여러 처리 장치를 포함하는 시스템을 의미한다. HSA 시스템 아키텍처에서는 그래픽 프로세서와 같은 모든 가속기가 시스템 CPU와 동일한 처리 수준에서 작동할 수 있다.
HSA의 주요 기능은 컴퓨팅 장치를 위한 통합 가상 주소 공간을 정의하는 것이다. GPU는 전통적으로 기본(CPU) 메모리와 별도로 자체 메모리를 갖지만, HSA는 장치가 포인터를 공유하여 데이터를 교환할 수 있도록 페이지 테이블을 공유하게 한다. 이는 맞춤형 메모리 관리 장치에 의해 지원된다.[18] HSA는 상호 운용성을 가능하게 하고 프로그래밍의 다양한 측면을 용이하게 하기 위해 CPU와 가속기 모두에 대해 ISA에 구애받지 않고 고급 프로그래밍 언어를 지원하도록 고안되었다.
현대의 GPU는 SIMD와 SIMT를 수행하기에 매우 적절하지만, 현대의 CPU는 분기 처리 등에 최적화되어 있다.
2. 1. 통합 가상 주소 공간
HSA는 CPU와 GPU를 포함한 모든 컴퓨팅 장치에 통합된 가상 주소 공간을 정의한다.[2] 이를 통해 각 장치는 서로의 메모리에 직접 접근할 수 있으며, 포인터를 공유하여 데이터를 효율적으로 교환할 수 있다. 이는 맞춤형 메모리 관리 장치(MMU)와 IOMMU를 통해 지원된다.[2]기존의 그래픽 카드와 달리, HSA를 활용하면 PCI Express 버스를 통해 포인터를 전달하는 것이 용이해져 전체 데이터를 복사할 필요가 없다. GPU와 CPU가 HSA를 지원하는 통합 주 메모리를 사용하면 제로 카피 작업이 가능해진다.[8]
2. 2. 이기종 컴퓨팅
현대의 GPU는 SIMD와 SIMT 연산에 매우 적합하며, CPU는 분기 처리(브랜치)에 최적화되어 있다. HSA는 이러한 각 처리 장치의 장점을 활용하여 최적의 성능을 낼 수 있도록 한다. 이기종 컴퓨팅은 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), DSP 또는 모든 유형의 주문형 반도체(ASIC) 등 여러 처리 장치를 포함하는 시스템을 의미한다.[2]HSA는 프로그래머가 GPU로 계산을 넘길 때의 부담을 줄여주는 것을 핵심적인 이유로 한다. 원래는 AMD에서만 추진되었고, FSA (Fusion System Architecture)라고 불렸으나, 이후 HSA의 개념은 다른 제조사의 DSP 등 GPU 이외의 처리 장치(프로세서)도 포함하도록 확장되었다.
2. 3. HSA Intermediate Layer (HSAIL)
HSAIL(이종 시스템 아키텍처 중간 언어)은 병렬 프로그램을 위한 가상 명령어 집합이다.- LLVM 중간 표현 및 SPIR(OpenCL 및 Vulkan)과 유사하다.
- JIT 컴파일러에 의해 특정 명령어 집합으로 최종 결정된다.
- 어떤 코어에서 작업을 실행할지 늦게 결정한다.
- 명시적으로 병렬적이다.
- 예외, 가상 함수 및 기타 고급 기능을 지원한다.
- 디버깅을 지원한다.
2. 4. HSA 메모리 모델
- C++11, OpenCL, 자바, .NET 메모리 모델과 호환된다.
- 완화된 일관성을 제공한다.
- 관리형 언어(예: 자바)와 비관리형 언어(예: C)를 모두 지원하도록 설계되었다.
- 포트란, C++, C++ AMP, 자바 등으로 프로그래밍된 광범위한 이기종 제품에 대한 타사 컴파일러 개발을 훨씬 쉽게 만들 수 있다.
2. 5. HSA 디스패처 및 런타임
HSA 디스패처 및 런타임은 이기종 작업 큐잉을 지원하도록 설계되었다. 코어당 작업 큐, 작업의 큐 분배, 작업 훔치기(work stealing)를 통한 부하 분산 기능을 제공한다. 모든 코어는 자체 코어를 포함하여 다른 모든 코어에 대한 작업을 스케줄링할 수 있으며, 코어에 대한 작업 스케줄링 오버헤드를 크게 줄일 수 있다.[6]모바일 장치는 HSA의 응용 분야 중 하나이며, 전력 효율성을 향상시킨다.[6]
3. 소프트웨어 지원
하드웨어에 구현된 HSA 관련 기능 중 일부는 운영 체제 커널 및 특정 장치 드라이버에서 지원해야 한다. 예를 들어, 그래픽 코어 넥스트(GCN) 기반의 AMD 라데온 및 AMD 파이어프로 그래픽 카드 및 APU에 대한 지원은 2015년 2월 8일에 출시된 리눅스 커널 메인라인 버전 3.19에 병합되었다.[10] 프로그램은 amdkfd영어와 직접 상호 작용하지 않고 HSA 런타임을 활용하여 작업을 큐에 넣는다.[11] 이 최초의 구현은 amdkfd영어로 알려져 있으며, "Kaveri" 또는 "Berlin" APU에 중점을 두고 기존 라데온 커널 그래픽 드라이버와 함께 작동한다.
또한, amdkfd영어는 프로그래머의 관점에서 여러 CPU와 GPU 간의 계산 작업을 분산시키는 것을 목표로 하는 ''이종 큐잉''(HQ)을 지원한다. AMD의 IOMMU 버전 2를 특징으로 하는 그래픽 하드웨어에만 적합한 ''이종 메모리 관리''('HMM')에 대한 지원은 리눅스 커널 메인라인 버전 4.14에 통합되었다.[12]
HSA 플랫폼에 대한 통합 지원은 2015년에 출시될 OpenJDK의 "Sumatra" 릴리스에 대해 발표되었다.[13]
AMD APP SDK는 Microsoft Windows 및 Linux에서 사용할 수 있는 병렬 컴퓨팅을 대상으로 하는 AMD의 독점 소프트웨어 개발 키트이다. Bolt는 이종 컴퓨팅에 최적화된 C++ 템플릿 라이브러리이다.[14]
GPUOpen은 HSA와 관련된 몇 가지 다른 소프트웨어 도구를 포함한다. CodeXL 버전 2.0에는 HSA 프로파일러가 포함되어 있다.[15]
4. 하드웨어 지원
AMD의 "Kaveri" A 시리즈 APU ("Kaveri" 데스크톱 프로세서 및 "Kaveri" 모바일 프로세서 참고)와 소니의 PlayStation 4는 통합 GPU가 AMD의 IOMMU 버전 2를 통해 메모리에 접근할 수 있는 하드웨어를 탑재하고 있다.[16] 이전 APU (Trinity 및 Richland)는 버전 2 IOMMU 기능을 포함했지만, PCI Express를 통해 연결된 외부 GPU에서만 사용할 수 있었다.
2015년 이후의 Carrizo 및 Bristol Ridge APU 또한 통합 GPU를 위한 버전 2 IOMMU 기능을 포함한다.
ARM의 Bifrost 마이크로아키텍처는 Mali-G71에 구현되어 있으며, HSA 1.1 하드웨어 사양을 완벽하게 준수한다.[16] 2016년 6월 기준으로, ARM은 이 하드웨어 기능을 사용할 소프트웨어 지원을 발표하지 않았다.
참조
[1]
웹사이트
AMD Unveils its Heterogeneous Uniform Memory Access (hUMA) Technology
http://www.tomshardw[...]
2013-04-30
[2]
보고서
Heterogeneous System Architecture: A Technical Review
https://web.archive.[...]
AMD
2014-05-26
[3]
웹사이트
What is Heterogeneous System Architecture (HSA)?
https://web.archive.[...]
AMD
2014-05-23
[4]
웹사이트
Setting HSAIL: AMD explains the future of CPU/GPU cooperation
http://www.extremete[...]
Ziff Davis
2013-08-26
[5]
웹사이트
LCE13: Heterogeneous System Architecture (HSA) on ARM
http://www.slideshar[...]
2014-03-21
[6]
웹사이트
Heterogeneous System Architecture: Purpose and Outlook
http://gpuscience.co[...]
2014-05-24
[7]
웹사이트
Heterogeneous system architecture: Multicore image processing using a mix of CPU and GPU elements
http://embedded-comp[...]
2014-05-23
[8]
웹사이트
Kaveri microarchitecture
http://www.semiaccur[...]
2014-01-15
[9]
웹사이트
AMDKFD Driver Still Evolving For Open-Source HSA On Linux
https://www.phoronix[...]
Phoronix
2015-01-21
[10]
웹사이트
Linux kernel 3.19, Section 1.3. HSA driver for AMD GPU devices
http://kernelnewbies[...]
2015-02-12
[11]
웹사이트
HSA-Runtime-Reference-Source/README.md at master
https://github.com/H[...]
2015-02-12
[12]
웹사이트
Linux Kernel 4.14 Announced with Secure Memory Encryption and More
https://www.xda-deve[...]
2017-11-13
[13]
웹사이트
HSA Foundation Aims to Boost Java's GPU Prowess
http://www.hpcwire.c[...]
2013-08-26
[14]
웹사이트
Bolt on github
https://github.com/H[...]
2022-01-11
[15]
웹사이트
CodeXL 2.0 includes HSA profiler
https://web.archive.[...]
2016-04-21
[16]
웹사이트
ARM Bifrost GPU Architecture
http://www.anandtech[...]
2016-05-30
[17]
웹인용
AMD Unveils its Heterogeneous Uniform Memory Access (hUMA) Technology
http://www.tomshardw[...]
2013-04-30
[18]
보고서
Heterogeneous System Architecture: A Technical Review
https://web.archive.[...]
AMD
2014-05-26
[19]
웹인용
What is Heterogeneous System Architecture (HSA)?
https://web.archive.[...]
AMD
2014-05-23
[20]
웹인용
Setting HSAIL: AMD explains the future of CPU/GPU cooperation
http://www.extremete[...]
Ziff Davis
2013-08-26
[21]
웹인용
LCE13: Heterogeneous System Architecture (HSA) on ARM
http://www.slideshar[...]
[22]
웹인용
Heterogeneous System Architecture: Purpose and Outlook
http://gpuscience.co[...]
2014-05-24
[23]
웹인용
Heterogeneous system architecture: Multicore image processing using a mix of CPU and GPU elements
http://embedded-comp[...]
2014-05-23
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com