Extensions for parallelism
From cppreference.net
<
cpp
|
experimental
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)
|
함수자를 적용한 후 순서 없이 감소 수행
(함수 템플릿) |
|
함수자를 적용한 후 배타적 스캔 계산
(함수 템플릿) |
|
|
함수자를 적용한 후 포괄적 스캔 계산
(함수 템플릿) |
|