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.
C++ kodunun veri paralel donanımda yürütülmesini hızlandıran sınıflar ve işlevler sağlar. Daha fazla bilgi için bkz. C++ AMP'ye Genel Bakış
Sözdizimi
namespace Concurrency;
Üyeler
Namespace
| Veri Akışı Adı | Açıklama |
|---|---|
| Concurrency::direct3d Namespace | D3D birlikte çalışabilirliğini destekleyen işlevler sağlar. Yedekli ara kopyalar oluşturmadan, AMP kodunda işlem için D3D kaynaklarının sorunsuz bir şekilde kullanılmasını ve D3D kodunda AMP'de oluşturulan kaynakların kullanılmasını sağlar. DirectX uygulamalarınızın işlem yoğunluklu bölümlerini artımlı olarak hızlandırmak için C++ AMP kullanabilir ve AMP hesaplamalarından üretilen verilerde D3D API'sini kullanabilirsiniz. |
| Concurrency::fast_math Ad Alanı | Ad alanı işlevleri fast_math C99 uyumlu değildir. Yalnızca her fonksiyonun tek hassasiyetli sürümleri sağlanır. Bu işlevler, precise_math ad alanındaki karşılık gelen işlevlerden daha hızlı olan ve hızlandırıcıda genişletilmiş çift duyarlık desteği gerektirmeyen DirectX iç işlevlerini kullanır, ancak daha az doğrudurlar. C99 koduyla kaynak düzeyinde uyumluluk için her işlevin iki sürümü vardır; her iki sürüm de tek duyarlıklı değerler alır ve döndürür. |
| Concurrency::graphics Ad Alanı | Grafik programlama için tasarlanmış türler ve işlevler sağlar. |
| Concurrency::precise_math Ad Alanı |
precise_math ad alanındaki işlevler C99 uyumludur. Her işlevin hem tek duyarlıklı hem de çift duyarlıklı sürümleri dahil edilir. Bu işlevler (bu, tek duyarlıklı işlevleri içerir) hızlandırıcıda genişletilmiş çift duyarlık desteği gerektirir. |
Sınıflar
| Veri Akışı Adı | Açıklama |
|---|---|
| accelerator Sınıfı | Fiziksel DP için iyileştirilmiş işlem düğümünün özetini temsil eder. |
| accelerator_view Sınıfı | C++ AMP veri-paralel hızlandırıcı üzerindeki sanal cihaz soyutlamasını temsil eder. |
| accelerator_view_removed Sınıfı | Bir Windows zaman aşımı algılama ve kurtarma mekanizması nedeniyle temel alınan bir DirectX çağrısının başarısız olması durumunda atılan istisna. |
| array Sınıfı | Şebeke alanındaki bir accelerator_view veri kümesi. Kılavuz etki alanındaki her bir öğe için bir değişkenden oluşan bir koleksiyondur. Her değişken, bir C++ türüne karşılık gelen bir değere sahiptir. |
| array_view Sınıfı | T,N< dizisindeki>verilerin görünümünü temsil eder. |
| completion_future Sınıfı | C++ AMP zaman uyumsuz işlemine karşılık gelen bir geleceği temsil eder. |
| Extent Sınıfı | 0 çıkış noktası olan N boyutlu bir boşluğun sınırlarını belirten N tamsayı değerlerinin vektörlerini temsil eder. Koordinat vektördeki değerler en önemliden en az önemliye doğru sıralanır. Örneğin Kartezyen 3 boyutlu uzayda, kapsam vektör (7,5,3), z koordinatı 0 ile 7 arasında, y koordinatı 0 ile 5 arasında ve x koordinatı 0 ile 3 arasında değişen bir alanı temsil eder. |
| index Class | N boyutlu bir dizin noktası tanımlar. |
| invalid_compute_domain Sınıfı | Çalışma zamanı çağrı sitesinde belirtilen parallel_for_each işlem etki alanını kullanarak bir çekirdeği başlatamayınca oluşan özel durum. |
| out_of_memory Sınıfı | Sistem veya cihaz belleği eksikliği nedeniyle bir yöntem başarısız olduğunda oluşan özel durum. |
| runtime_exception Sınıfı | C++ AMP kitaplığındaki özel durumlar için temel tür. |
| tile_barrier Sınıfı | Yalnızca sistem tarafından oluşturabilen ve parametresinin parallel_for_each bir parçası olarak kutucuklu tiled_index lambdaya geçirilen bir yetenek sınıfı. Bu yöntem, iş parçacığı grubunda (döşeme) çalışan iş parçacıklarının yürütülmesini eşitlemek amacıyla sağlanır. |
| tiled_extent Sınıfı |
tiled_extent Nesne, kapsam alanını tek boyutlu, iki boyutlu veya üç boyutlu kutucuklara bölen bir-üç boyutlu bir extent nesnedir. |
| tiled_index Sınıfı | Bir tiled_grid nesnesi içine dizin sunar. Bu sınıf, yerel kutucuk başlangıcına göre ve küresel başlangıç noktasına göre öğeye erişmek için özelliklere sahiptir. |
| uninitialized_object Sınıfı | Başlatılmamış bir nesne kullanıldığında oluşan özel durum. |
| unsupported_feature Sınıfı | Desteklenmeyen bir özellik kullanıldığında oluşan özel durum. |
Listelemeler
| Veri Akışı Adı | Açıklama |
|---|---|
| access_type Numaralandırması | Veri erişim türünü belirtir. |
| queuing_mode Numaralandırması | Hızlandırıcıda desteklenen kuyruğa alma modlarını belirtir. |
İşleçler
| Operatör | Açıklama |
|---|---|
| operator== İşleci (C++ AMP) | Belirtilen veri yapılarının eşit olup olmadığını belirler. |
| operator!= İşleci (C++ AMP) | Belirtilen veri yapılarının eşit olup olmadığını belirler. |
| operator+ İşleci (C++ AMP) | Belirtilen bağımsız değişkenlerin bileşen açısından toplamını hesaplar. |
| operator- İşleci (C++ AMP) | Belirtilen bağımsız değişkenler arasındaki bileşen açısından farkı hesaplar. |
| operator* İşleci (C++ AMP) | Belirtilen bağımsız değişkenlerin bileşen açısından çarpımını hesaplar. |
| operator/ Operatör (C++ AMP) | Belirtilen bağımsız değişkenlerin bileşen açısından bölüm değerini hesaplar. |
| operator% İşleci (C++ AMP) | belirtilen ilk bağımsız değişkenin modüllerini belirtilen ikinci bağımsız değişkene göre hesaplar. |
İşlevler
| Veri Akışı Adı | Açıklama |
|---|---|
| all_memory_fence | Tüm bellek erişimleri tamamlanana kadar bir döşemedeki tüm iş parçacıklarının yürütülmesini durdurur. |
| amp_uninitialize | C++ AMP çalışma zamanını başlatmayı geri alır. |
| atomic_compare_exchange | Aşırı yüklü Belirtilen konumda depolanan değer, belirtilen ilk değere eşitse, belirtilen ikinci değer atomik işlemle aynı konumda depolanır. |
| atomic_exchange | Aşırı yüklü Belirtilen konumda depolanan değeri, atomik işlem olarak belirtilen değere ayarlar. |
| atomic_fetch_add | Aşırı yüklü Belirtilen konumdaki depolanan değeri, atomik bir işlem olarak o değerin ve belirtilen değerin toplamına ayarlar. |
| atomic_fetch_and | Aşırı yüklü Belirtilen konumda depolanan değeri bu değerin bit düzeyinde and ve belirtilen değeri atomik işlem olarak ayarlar. |
| atomic_fetch_dec | Aşırı yüklü Belirtilen konumda depolanan değeri azaltma ve sonucu atomik işlemle aynı konumda depolama. |
| atomic_fetch_inc | Aşırı yüklü Belirtilen konumda depolanan değeri artırır ve sonucu atomik işlemle aynı konumda depolar. |
| atomic_fetch_max | Aşırı yüklü Belirtilen konumda depolanan değeri bu değerin daha büyük bir değerine ve atomik işlem olarak belirtilen bir değere ayarlar. |
| atomic_fetch_min | Aşırı yüklü Belirtilen konumda depolanan değeri bu değerin daha küçük bir değerine ve atomik işlem olarak belirtilen bir değere ayarlar. |
| atomic_fetch_or | Aşırı yüklü Belirtilen konumda depolanan değeri bu değerin bit düzeyinde or ve belirtilen değeri atomik işlem olarak ayarlar. |
| atomic_fetch_sub | Aşırı yüklü Belirtilen konumda depolanan değeri, bu değer ile belirtilen değer arasındaki fark olarak atomik bir işlemle ayarlar. |
| atomic_fetch_xor | Aşırı yüklü Belirtilen konumda depolanan değeri bu değerin bit düzeyinde xor ve belirtilen değeri atomik işlem olarak ayarlar. |
| kopya etmek | C++ AMP nesnesini kopyalar. Tüm zaman uyumlu veri aktarımı gereksinimleri karşılanıyor. Kod hızlandırıcıda kod çalıştırırken veriler kopyalanamaz. Bu işlevin genel biçimi şeklindedir copy(src, dest). |
| copy_async | Bir C++ AMP nesnesini kopyalar ve üzerinde beklenebilen bir completion_future döndürür. Kod hızlandırıcı üzerinde çalışırken veriler kopyalanamaz. Bu işlevin genel biçimi şeklindedir copy(src, dest). |
| direct3d_abort |
restrict(amp) kısıtlama yan tümcesine sahip bir işlevin yürütülmesini durdurur. |
| direct3d_errorf | Biçimlendirilmiş bir dizeyi Visual Studio Çıktı penceresine yazdırır ve aynı biçimlendirme dizesine sahip bir runtime_exception özel durumu oluşturur. |
| 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. |
| global_memory_fence | Tüm genel bellek erişimleri tamamlanana kadar döşemedeki tüm iş parçacıklarının çalışmasını durdurur. |
| parallel_for_each İşlevi (C++ AMP) | Hesaplama etki alanı genelinde bir işlev çalıştırır. |
| tile_static_memory_fence | Bellek erişimleri tamamlanana kadar tile_static kutucuktaki tüm iş parçacıklarının yürütülmesini engeller. |
Sabitler
| Veri Akışı Adı | Açıklama |
|---|---|
| HLSL_MAX_NUM_BUFFERS Sabiti | DirectX tarafından izin verilen en fazla arabellek sayısı. |
| MODULENAME_MAX_LENGTH Sabit | Modül adının uzunluk üst sınırını depolar. Bu değer derleyicide ve çalışma zamanında aynı olmalıdır. |
Gereksinimler
Üst bilgi: amp.h