Namespaces
Variants

Extensions for parallelism

From cppreference.net

C++ 병렬성 확장, ISO/IEC TS 19570:2015은 C++ 표준 라이브러리를 위한 다음과 같은 새로운 구성 요소들을 정의합니다:

목차

실행 정책

병렬성 TS는 세 가지 실행 정책을 설명합니다: sequential , parallel , 그리고 parallel+vector , 그리고 해당 실행 정책 타입과 객체를 제공합니다. 사용자는 해당 타입의 실행 정책 객체로 병렬 알고리즘을 호출하여 정적으로 실행 정책을 선택하거나, 타입 삭제 execution_policy 클래스를 사용하여 동적으로 선택할 수 있습니다.

구현체는 확장 기능으로 추가 실행 정책을 정의할 수 있습니다. 구현에서 정의된 타입의 실행 정책 객체로 호출된 병렬 알고리즘의 의미론(semantics)은 구현에서 정의됩니다.

헤더 파일에 정의됨 <experimental/execution_policy>
실행 정책 타입
(클래스)
전역 실행 정책 객체
(상수)
동적 실행 정책
(클래스)
클래스가 실행 정책을 나타내는지 여부 테스트
(클래스 템플릿)

예외 목록

헤더 파일에 정의됨 <experimental/exception_list>
병렬 실행 중 발생한 예외들
(클래스)

기존 알고리즘의 병렬화 버전

TS는 <algorithm>, <numeric>, <memory>의 다음 69개 알고리즘에 대한 병렬화된 버전 을 제공합니다:

병렬화된 버전이 제공되는 표준 라이브러리 알고리즘

새로운 알고리즘

헤더에 정의됨 <experimental/algorithm>
std::for_each 와 유사하지만 void를 반환함
(함수 템플릿)
함수 객체를 시퀀스의 처음 n개 요소에 적용
(함수 템플릿)
헤더에 정의됨 <experimental/numeric>
(parallelism TS)
std::accumulate 와 유사하지만 순서 없이 수행
(함수 템플릿)
std::partial_sum 와 유사하지만, i 번째 합계에서 i 번째 입력 요소를 제외
(함수 템플릿)
std::partial_sum 와 유사하지만, i 번째 합계에 i 번째 입력 요소를 포함
(함수 템플릿)
(parallelism TS)
함수자를 적용한 후 순서 없이 감소 수행
(함수 템플릿)
함수자를 적용한 후 배타적 스캔 계산
(함수 템플릿)
함수자를 적용한 후 포괄적 스캔 계산
(함수 템플릿)