Unified Parallel C
Unified Parallel C| 패러다임 | 병렬, 메시지 전달, 필수(구조), 구조화 |
|---|---|
| 설계자 | UPC 컨소시엄 |
| 안정된 릴리스 | 2020.12.0/2020년 12월 11일( |
| 타이핑 분야 | 정적인, 약한, 명백한 |
| OS | 크로스 플랫폼 |
| 웹 사이트 | upc-lang |
| 주요 구현 | |
| Clang UPC, GNU UPC, IBM XL UPC 컴파일러, HP UPC, Berkeley UPC, 미시간 Tech MuPC, Cray UPC | |
| 영향을 받다 | |
| C, AC, Split-C, Parallel C 프리프로세서 | |
Unified Parallel C(UPC)는 공통 글로벌주소 공간(SMP 및 NUMA)과 분산 메모리(클러스터 등)를 포함한 대규모 병렬 머신에서의 고성능 컴퓨팅을 위해 설계된 C 프로그래밍 언어의 확장입니다.프로그래머는 하나의 분할된 글로벌주소 공간을 가지고 있습니다.여기서 공유 변수는 모든 프로세서에서 직접 읽고 쓸 수 있지만 각 변수는 물리적으로 단일 프로세서와 관련지어집니다.UPC는 프로그램 부팅 시 병렬 처리량이 고정된 단일 프로그램 다중 데이터(SPMD) 계산 모델을 사용합니다.일반적으로 프로세서당 1개의 스레드를 사용합니다.
병렬화를 표현하기 위해 UPC는 ISO C 99를 다음과 같은 구성으로 확장합니다.
- 명시적 병렬 실행 모델
- 공유 주소 공간(
shared저장소 한정자) 스레드 로컬 부분 포함(일반 변수) - 동기 프리미티브 및 메모리 일관성 모델
- 명시적 커뮤니케이션 프리미티브(예: upc_memput)
- 메모리 관리 프리미티브
UPC 언어는 ISO C 99(AC, Split-C 및 Parallel C Preprocessor(PCP))에 병렬 확장을 제안했던 다른 3개의 언어를 사용한 경험에서 발전했습니다.UPC는 이들 3개 언어의 슈퍼셋이 아니라 각 언어의 가장 좋은 특성을 추출하기 위한 시도입니다.UPC는 공유 메모리 프로그래밍 패러다임의 프로그래밍 가능성과 메시지 전달 프로그래밍 패러다임의 데이터 레이아웃 및 성능에 대한 제어를 결합합니다.
「 」를 참조해 주세요.
외부 링크
- 공식 웹사이트
- LBNL에서의 UPC
- GWU에서의 UPC
- GNU UPC
- UPC 튜토리얼 (2003)