Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
all_memory_fence
Tüm bellek erişimleri tamamlanana kadar kutucuktaki tüm iş parçacıklarının yürütülmesini engeller. Bu, tüm bellek erişimlerinin iş parçacığı kutucuğundaki diğer iş parçacıklarına görünür olmasını ve program sırasına göre yürütülmesini sağlar.
inline void all_memory_fence(const tile_barrier& _Barrier) restrict(amp);
Parametreler
_Engel
Bir tile_barrier nesnesi.
amp_uninitialize
C++ AMP çalışma zamanının başlatılmaz. Bir uygulama ömrü boyunca bu işlevi birden çok kez çağırmak yasaldır. Bu işlev çağrıldıktan sonra herhangi bir C++ AMP API'sinin çağrılması C++ AMP çalışma zamanını yeniden başlatacaktır. Bu işleve yapılan çağrılarda C++ AMP nesnelerinin kullanılmasının geçersiz olduğunu ve bunu yapmanın tanımsız davranışa neden olacağını unutmayın. Ayrıca, bu işlevi ve diğer AMP API'lerini eşzamanlı olarak çağırmak geçersizdir ve tanımsız davranışa neden olur.
void __cdecl amp_uninitialize();
atomic_compare_exchange
Atomik olarak, eşitlik için ilk bağımsız değişkende belirtilen bellek konumunda depolanan değeri belirtilen ikinci bağımsız değişkenin değeriyle karşılaştırır ve değerler aynıysa, bellek konumundaki değer belirtilen üçüncü bağımsız değişkenin değeriyle değiştirilir.
inline bool atomic_compare_exchange(
_Inout_ int* _Dest,
_Inout_ int* _Expected_value,
int value
) restrict(amp)
inline bool atomic_compare_exchange(
_Inout_ unsigned int* _Dest,
_Inout_ unsigned int* _Expected_value,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Karşılaştırılacak değerlerden birinin okunduğu ve varsa yeni değerin depolandığı konum.
_Expected_value
Karşılaştırılacak ikinci değerin okunduğu konum.
value
değerine eşitse _Dest tarafından _Dest belirtilen bellek konumuna _Expected_valuedepolanacak değer.
Dönüş Değeri
true işlem başarılı olursa; aksi takdirde , false.
atomic_exchange İşlevi (C++ AMP)
Hedef konumun değerini atomik işlem olarak ayarlar.
inline int atomic_exchange(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_exchange(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
inline float atomic_exchange(
_Inout_ float* _Dest,
float value
) restrict(amp)
Parametreler
_Dest
Hedef konumun işaretçisi.
value
Yeni değer.
Dönüş Değeri
Hedef konumun özgün değeri.
atomic_fetch_add İşlevi (C++ AMP)
Atomik olarak bellek konumunun değerine bir değer ekleyin.
inline int atomic_fetch_add(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_add(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Bellek konumunun işaretçisi.
value
Eklenecek değer.
Dönüş Değeri
Bellek konumunun özgün değeri.
atomic_fetch_and İşlevi (C++ AMP)
Atomik olarak bir değerin bit düzeyinde AND işlemini ve bellek konumunun değerini gerçekleştirir.
inline int atomic_fetch_and(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_and(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Bellek konumunun işaretçisi.
value
Bit düzeyinde AND hesaplamasında kullanılacak değer.
Dönüş Değeri
Bellek konumunun özgün değeri.
atomic_fetch_dec
Belirtilen bellek konumunda depolanan değeri atomik olarak azaltma.
inline int atomic_fetch_dec(_Inout_ int* _Dest
) restrict(amp)
inline unsigned int atomic_fetch_dec(_Inout_ unsigned int* _Dest) restrict(amp);
Parametreler
_Dest
Geri dönüştürülecek değerin bellekteki konumu.
Dönüş Değeri
Bellek konumunda depolanan özgün değer.
atomic_fetch_inc
Belirtilen bellek konumunda depolanan değeri atomik olarak artırır.
inline int atomic_fetch_inc(_Inout_ int* _Dest) restrict(amp);
inline unsigned int atomic_fetch_inc(_Inout_ unsigned int* _Dest) restrict(amp);
Parametreler
_Dest
Artırılacak değerin bellekteki konumu.
Dönüş Değeri
Bellek konumunda depolanan özgün değer.
atomic_fetch_max
Atomik olarak, ilk bağımsız değişkende belirtilen bellek konumunda depolanan değer ile ikinci bağımsız değişkende belirtilen değer arasındaki en yüksek değeri hesaplar ve aynı bellek konumunda depolar.
inline int atomic_fetch_max(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_max(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Karşılaştırılacak değerlerden birinin okunduğu ve en fazla iki değerin depolandığı konum.
value
Belirtilen konumdaki değerle karşılaştırılacak değer.
Dönüş Değeri
Belirtilen konum konumunda depolanan özgün değer.
atomic_fetch_min
Atomik olarak, ilk bağımsız değişkende belirtilen bellek konumunda depolanan değer ile ikinci bağımsız değişkende belirtilen değer arasındaki en düşük değeri hesaplar ve aynı bellek konumunda depolar.
inline int atomic_fetch_min(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_min(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Karşılaştırılacak değerlerden birinin okunduğu ve en az iki değerin depolandığı konum.
value
Belirtilen konumdaki değerle karşılaştırılacak değer.
Dönüş Değeri
Belirtilen konum konumunda depolanan özgün değer.
atomic_fetch_or İşlevi (C++ AMP)
Atomik olarak, bir değer ve bellek konumunun değeriyle bit düzeyinde OR işlemi gerçekleştirir.
inline int atomic_fetch_or(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_or(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Bellek konumunun işaretçisi.
value
Bit düzeyinde OR hesaplamasında kullanılacak değer.
Dönüş Değeri
Bellek konumunun özgün değeri.
atomic_fetch_sub İşlevi (C++ AMP)
Atomik olarak bir değeri bellek konumundan çıkarır.
inline int atomic_fetch_sub(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_sub(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Hedef konumun işaretçisi.
value
Çıkarılacak değer.
Dönüş Değeri
Bellek konumunun özgün değeri.
atomic_fetch_xor İşlevi (C++ AMP)
Atomik olarak bir değerin ve bellek konumunun bit düzeyinde XOR işlemini gerçekleştirir.
inline int atomic_fetch_xor(
_Inout_ int* _Dest,
int value
) restrict(amp)
inline unsigned int atomic_fetch_xor(
_Inout_ unsigned int* _Dest,
unsigned int value
) restrict(amp)
Parametreler
_Dest
Bellek konumunun işaretçisi.
value
XOR hesaplamasında kullanılacak değer.
Dönüş Değeri
Bellek konumunun özgün değeri.
kopyalama
C++ AMP nesnesini kopyalar. Tüm zaman uyumlu veri aktarımı gereksinimleri karşılanıyor. Hızlandırıcıda kod çalıştırırken verileri kopyalayamazsınız. Bu işlevin genel biçimi şeklindedir copy(src, dest).
template <typename value_type, int _Rank>
void copy(
const array<value_type, _Rank>& _Src,
array<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
void copy(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
void copy(
InputIterator _SrcFirst,
array<value_type, _Rank>& _Dest);
template <typename OutputIterator, typename value_type, int _Rank>
void copy(
const array<value_type, _Rank>& _Src,
OutputIterator _DestIter);
template <typename value_type, int _Rank>
void copy(
const array<value_type, _Rank>& _Src,
array_view<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
void copy(
const array_view<const value_type, _Rank>& _Src,
array<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
void copy(
const array_view<value_type, _Rank>& _Src,
array<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
void copy(
const array_view<const value_type, _Rank>& _Src,
array_view<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
void copy(
const array_view<value_type, _Rank>& _Src,
array_view<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
void copy(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array_view<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
void copy(
InputIterator _SrcFirst,
array_view<value_type, _Rank>& _Dest);
template <typename OutputIterator, typename value_type, int _Rank>
void copy(
const array_view<value_type, _Rank>& _Src,
OutputIterator _DestIter);
Parametreler
_Dest
Kopyalanacak nesne.
_DestIter
Hedefte başlangıç konumuna bir çıkış yineleyicisi.
InputIterator
Giriş yineleyicisinin türü.
OutputIterator
Çıkış yineleyicisinin türü.
_Rütbe
Kopyalanacak nesnenin veya kopyalanacak nesnenin sırası.
_Src
Kopyalamaya itiraz etmek için.
_SrcFirst
Kaynak kapsayıcıda başlangıç yineleyicisi.
_SrcLast
Kaynak kapsayıcıda son yineleyici.
value_type
Kopyalanan öğelerin veri türü.
copy_async
C++ AMP nesnesini kopyalar ve beklenebilen bir completion_future nesnesi döndürür. Hızlandırıcıda kod çalıştırırken verileri kopyalayamazsınız. Bu işlevin genel biçimi şeklindedir copy(src, dest).
template <typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array<value_type, _Rank>& _Src,
array<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
concurrency::completion_future copy_async(InputIterator _SrcFirst, InputIterator _SrcLast,
array<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
concurrency::completion_future copy_async(InputIterator _SrcFirst,
array<value_type, _Rank>& _Dest);
template <typename OutputIterator, typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array<value_type, _Rank>& _Src, OutputIterator _DestIter);
template <typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array<value_type, _Rank>& _Src,
array_view<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array_view<const value_type, _Rank>& _Src,
array<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array_view<value_type, _Rank>& _Src,
array<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array_view<const value_type, _Rank>& _Src,
array_view<value_type, _Rank>& _Dest);
template <typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array_view<value_type, _Rank>& _Src,
array_view<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
concurrency::completion_future copy_async(InputIterator _SrcFirst, InputIterator _SrcLast,
array_view<value_type, _Rank>& _Dest);
template <typename InputIterator, typename value_type, int _Rank>
concurrency::completion_future copy_async(InputIterator _SrcFirst,
array_view<value_type, _Rank>& _Dest);
template <typename OutputIterator, typename value_type, int _Rank>
concurrency::completion_future copy_async(
const array_view<value_type, _Rank>& _Src, OutputIterator _DestIter);
Parametreler
_Dest
Kopyalanacak nesne.
_DestIter
Hedefte başlangıç konumuna bir çıkış yineleyicisi.
InputIterator
Giriş yineleyicisinin türü.
OutputIterator
Çıkış yineleyicisinin türü.
_Rütbe
Kopyalanacak nesnenin veya kopyalanacak nesnenin sırası.
_Src
Kopyalamaya itiraz etmek için.
_SrcFirst
Kaynak kapsayıcıda başlangıç yineleyicisi.
_SrcLast
Kaynak kapsayıcıda son yineleyici.
value_type
Kopyalanan öğelerin veri türü.
Dönüş Değeri
future<void> Beklenebilecek bir şey.
direct3d_abort
Kısıtlama yan tümcesiyle bir işlevin yürütülmesini restrict(amp) durdurur. AMP çalışma zamanı çağrıyı algıladığında, "Başvuru Rasterleştiricisi: Gölgelendirici durdurma yönerge isabeti" hata iletisiyle bir runtime_exception özel durumu oluşturur.
void direct3d_abort() restrict(amp);
direct3d_errorf
Biçimlendirilmiş bir dizeyi Visual Studio çıkış penceresine yazdırır. Kısıtlama yan tümcesine restrict(amp) sahip bir işlevden çağrılır. AMP çalışma zamanı çağrıyı algıladığında, aynı biçimlendirme dizesine sahip bir runtime_exception özel durumu oluşturur.
void direct3d_errorf(
const char *,
...) restrict(amp);
direct3d_printf
Biçimlendirilmiş bir dizeyi Visual Studio çıkış penceresine yazdırır. Kısıtlama yan tümcesine restrict(amp) sahip bir işlevden çağrılır.
void direct3d_printf(
const char *,
...) restrict(amp);
global_memory_fence
Tüm genel bellek erişimleri tamamlanana kadar kutucuktaki tüm iş parçacıklarının yürütülmesini engeller. Bu, genel bellek erişimlerinin iş parçacığı kutucuğundaki diğer iş parçacıklarına görünür olmasını ve program sırasına göre yürütülmesini sağlar.
inline void global_memory_fence(const tile_barrier& _Barrier) restrict(amp);
Parametreler
_Engel
tile_barrier nesnesi
parallel_for_each İşlevi (C++ AMP)
İşlem etki alanı genelinde bir işlev çalıştırır. Daha fazla bilgi için bkz . C++ AMP'ye Genel Bakış.
template <int _Rank, typename _Kernel_type>
void parallel_for_each(
const extent<_Rank>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Dim0, int _Dim1, int _Dim2, typename _Kernel_type>
void parallel_for_each(
const tiled_extent<_Dim0, _Dim1, _Dim2>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Dim0, int _Dim1, typename _Kernel_type>
void parallel_for_each(
const tiled_extent<_Dim0, _Dim1>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Dim0, typename _Kernel_type>
void parallel_for_each(
const tiled_extent<_Dim0>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Rank, typename _Kernel_type>
void parallel_for_each(
const accelerator_view& _Accl_view,
const extent<_Rank>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Dim0, int _Dim1, int _Dim2, typename _Kernel_type>
void parallel_for_each(
const accelerator_view& _Accl_view,
const tiled_extent<_Dim0, _Dim1, _Dim2>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Dim0, int _Dim1, typename _Kernel_type>
void parallel_for_each(
const accelerator_view& _Accl_view,
const tiled_extent<_Dim0, _Dim1>& _Compute_domain,
const _Kernel_type& _Kernel);
template <int _Dim0, typename _Kernel_type>
void parallel_for_each(
const accelerator_view& _Accl_view,
const tiled_extent<_Dim0>& _Compute_domain,
const _Kernel_type& _Kernel);
Parametreler
_Accl_view
Paralel accelerator_view hesaplamanın çalıştırılacak nesnesi.
_Compute_domain
extent Hesaplama verilerini içeren bir nesne.
_Dim0
Nesnenin tiled_extent boyutu.
_Dim1
Nesnenin tiled_extent boyutu.
_Dim2
Nesnenin tiled_extent boyutu.
_Çekirdek
"index<_Rank>" türünde bir bağımsız değişken alan ve paralel hesaplama gerçekleştiren bir lambda veya işlev nesnesi.
_Kernel_type
Lambda ya da funktör.
_Rütbe
Kapsamın derecesi.
tile_static_memory_fence
Tüm bekleyen tile_static bellek erişimleri tamamlanana kadar kutucuktaki tüm iş parçacıklarının yürütülmesini engeller. Bu, bellek erişimlerinin iş parçacığı kutucuğundaki diğer iş parçacıklarına görünür olmasını ve erişimlerin program sırasına göre yürütülmesini sağlar tile_static .
inline void tile_static_memory_fence(const tile_barrier& _Barrier) restrict(amp);
Parametreler
_Engel
tile_barrier nesnesi.