Concurrency 네임스페이스(C++ AMP)

데이터 병렬 하드웨어에서 C++ 코드 실행을 가속화하는 클래스 및 함수를 제공합니다. 자세한 내용은 C++ AMP 개요를 참조 하세요.

구문

namespace Concurrency;

멤버

네임스페이스

속성 설명
Concurrency::direct3d 네임스페이스 D3D 상호 운용성을 지원하는 함수를 제공합니다. 중복 중간 복사본을 만들지 않고 AMP 코드의 컴퓨팅을 위해 D3D 리소스를 원활하게 사용하고 D3D 코드에서 AMP로 만든 리소스를 사용할 수 있습니다. C++ AMP를 사용하여 DirectX 애플리케이션의 계산 집약적 섹션을 증분 방식으로 가속화하고 AMP 계산에서 생성된 데이터에 D3D API를 사용할 수 있습니다.
Concurrency::fast_math 네임스페이스 네임스페이 fast_math 스의 함수는 C99를 준수하지 않습니다. 각 함수의 단정밀도 버전만 제공됩니다. 이러한 함수는 DirectX 내장 함수를 사용합니다. 이 함수는 네임스페이스의 해당 함수보다 빠르며 가속기에서 precise_math 연장된 배정밀도 지원이 필요하지 않지만 정확도가 떨어집니다. C99 코드와의 소스 수준 호환성을 위해 각 함수에는 두 가지 버전이 있습니다. 두 버전 모두 단정밀도 값을 사용하고 반환합니다.
Concurrency::graphics 네임스페이스 그래픽 프로그래밍용으로 설계된 형식 및 함수를 제공합니다.
Concurrency::precise_math 네임스페이스 네임스페이 precise_math 스의 함수는 C99를 준수합니다. 각 함수의 단정밀도 및 배정밀도 버전이 모두 포함됩니다. 단정밀도 함수를 포함하는 이러한 함수에는 가속기에서 연장된 배정밀도 지원이 필요합니다.

클래스

이름 설명
accelerator 클래스 물리적 DP 최적화 컴퓨팅 노드의 추상화입니다.
accelerator_view 클래스 C++ AMP 데이터 병렬 가속기에서 가상 디바이스 추상화입니다.
accelerator_view_removed 클래스 Windows 시간 제한 검색 및 복구 메커니즘으로 인해 기본 DirectX 호출이 실패할 때 throw되는 예외입니다.
array 클래스 그리드 도메인의 accelerator_view 데이터 집계입니다. 그리드 도메인의 각 요소에 대해 하나씩 변수 컬렉션입니다. 각 변수는 일부 C++ 형식에 해당하는 값을 보유합니다.
array_view 클래스 배열<T,N>의 데이터에 대한 뷰를 나타냅니다.
completion_future 클래스 C++ AMP 비동기 작업에 해당하는 미래를 나타냅니다.
extent 클래스 원점이 0인 N차원 공간의 범위를 지정하는 N 정수 값의 벡터를 나타냅니다. 좌표 벡터의 값은 가장 중요에서 최적 값으로 정렬됩니다. 예를 들어 카티전 3차원 공간에서 익스텐트 벡터(7,5,3)는 z 좌표 범위가 0에서 7까지이고 y 좌표 범위가 0에서 5까지이고 x 좌표 범위가 0에서 3까지인 공간을 나타냅니다.
index 클래스 N차원 인덱스 지점을 정의합니다.
invalid_compute_domain 클래스 런타임이 호출 사이트에 지정된 컴퓨팅 도메인을 사용하여 커널을 시작할 수 없을 때 throw되는 parallel_for_each 예외입니다.
out_of_memory 클래스 시스템 또는 디바이스 메모리 부족으로 인해 메서드가 실패할 때 throw되는 예외입니다.
runtime_exception 클래스 C++ AMP 라이브러리의 예외에 대한 기본 형식입니다.
tile_barrier 클래스 시스템에서만 만들 수 있고 매개 변수의 tiled_index 일부로 타일식 람다에 전달되는 parallel_for_each 기능 클래스입니다. 스레드 그룹(타일)에서 실행 중인 스레드의 실행을 동기화하는 것이 목적인 한 가지 메서드 wait()를 제공합니다.
tiled_extent 클래스 tiled_extent 개체는 extent 익스텐트 공간을 1차원, 2차원 또는 3차원 타일로 세분화하는 1~3차원 개체입니다.
tiled_index 클래스 개체에 인덱스 제공 tiled_grid 이 클래스에는 로컬 타일 원본을 기준으로 전역 원본을 기준으로 요소에 액세스하는 속성이 있습니다.
uninitialized_object 클래스 초기화되지 않은 개체를 사용할 때 throw되는 예외입니다.
unsupported_feature 클래스 지원되지 않는 기능을 사용할 때 throw되는 예외입니다.

열거형

속성 설명
access_type 열거형 데이터 액세스 형식을 지정합니다.
queuing_mode 열거형 가속기에서 지원되는 큐 모드를 지정합니다.

연산자

연산자 설명
operator== 연산자(C++ AMP) 지정된 데이터 구조가 같은지 여부를 확인합니다.
operator!= 연산자(C++ AMP) 지정된 데이터 구조가 같지 않은지 여부를 확인합니다.
operator+ 연산자(C++ AMP) 지정된 인수의 구성 요소 단위 합계를 계산합니다.
operator- 연산자(C++ AMP) 지정된 인수 간의 구성 요소 단위 차이를 계산합니다.
operator* 연산자(C++ AMP) 지정된 인수의 구성 요소별 곱을 계산합니다.
연산자/연산자(C++ AMP) 지정된 인수의 구성 요소 단위 몫을 계산합니다.
operator% 연산자(C++ AMP) 지정된 첫 번째 인수의 모듈러스를 지정된 두 번째 인수로 계산합니다.

함수

속성 설명
all_memory_fence 모든 메모리 액세스가 완료될 때까지 타일의 모든 스레드 실행을 차단합니다.
amp_uninitialize C++ AMP 런타임을 초기화하지 않습니다.
atomic_compare_exchange 오버로드됨. 지정된 위치에 저장된 값이 첫 번째 지정된 값과 비교되는 경우 두 번째 지정된 값은 원자성 연산과 동일한 위치에 저장됩니다.
atomic_exchange 오버로드됨. 지정된 위치에 저장된 값을 원자성 연산으로 지정된 값으로 설정합니다.
atomic_fetch_add 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 합계로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
atomic_fetch_and 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 비트 and 로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
atomic_fetch_dec 오버로드됨. 지정된 위치에 저장된 값을 감소시키고 결과를 원자성 작업과 동일한 위치에 저장합니다.
atomic_fetch_inc 오버로드됨. 지정된 위치에 저장된 값을 증가시키고 결과를 원자성 연산과 동일한 위치에 저장합니다.
atomic_fetch_max 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 더 큰 값으로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
atomic_fetch_min 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 더 작은 값으로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
atomic_fetch_or 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 비트 or 로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
atomic_fetch_sub 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 차이로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
atomic_fetch_xor 오버로드됨. 지정된 위치에 저장된 값을 해당 값의 비트 xor 로 설정하고 지정된 값을 원자성 연산으로 설정합니다.
copy C++ AMP 개체를 복사합니다. 모든 동기 데이터 전송 요구 사항이 충족됩니다. 코드가 가속기에서 코드를 실행하는 경우 데이터를 복사할 수 없습니다. 이 함수의 일반적인 형식은 .입니다 copy(src, dest).
copy_async C++ AMP 개체를 복사하고 대기할 수 있는 completion_future 반환합니다. 코드가 가속기에서 실행되는 경우 데이터를 복사할 수 없습니다. 이 함수의 일반적인 형식은 .입니다 copy(src, dest).
direct3d_abort 제한 절이 있는 restrict(amp) 함수의 실행을 중단합니다.
direct3d_errorf 서식이 지정된 문자열을 Visual Studio 출력 창에 인쇄하고 동일한 서식 문자열이 있는 runtime_exception 예외가 발생합니다.
direct3d_printf Visual Studio 출력 창에 서식이 지정된 문자열을 인쇄합니다. 제한 절이 있는 restrict(amp) 함수에서 호출됩니다.
global_memory_fence 모든 전역 메모리 액세스가 완료될 때까지 타일의 모든 스레드 실행을 차단합니다.
parallel_for_each 함수(C++ AMP) 컴퓨팅 도메인에서 함수를 실행합니다.
tile_static_memory_fence 메모리 액세스가 완료될 때까지 tile_static 타일의 모든 스레드 실행을 차단합니다.

상수

속성 설명
HLSL_MAX_NUM_BUFFERS 상수 DirectX에서 허용하는 최대 버퍼 수입니다.
MODULENAME_MAX_LENGTH 상수 모듈 이름의 최대 길이를 저장합니다. 이 값은 컴파일러 및 런타임에서 동일해야 합니다.

요구 사항

헤더: amp.h

참고 항목

참조(C++ AMP)