Unified Parallel C

Unified Parallel C
Unified Parallel C(UPC)
패러다임병렬, 메시지 전달, 필수(구조), 구조화
설계자UPC 컨소시엄
안정된 릴리스
2020.12.0/2020년 12월 11일(2020-12-11)
타이핑 분야정적인, 약한, 명백한
OS크로스 플랫폼
웹 사이트upc-lang.org
주요 구현
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)는 공통 글로벌주소 공간(SMPNUMA)과 분산 메모리(클러스터 )를 포함한 대규모 병렬 머신에서의 고성능 컴퓨팅을 위해 설계된 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는 공유 메모리 프로그래밍 패러다임의 프로그래밍 가능성과 메시지 전달 프로그래밍 패러다임의 데이터 레이아웃 및 성능에 대한 제어를 결합합니다.

「 」를 참조해 주세요.

외부 링크