Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Olyan osztályokat és függvényeket biztosít, amelyek felgyorsítják a C++ kód végrehajtását az adat-párhuzamos hardvereken. További információ: C++ AMP – áttekintés
Szemantika
namespace Concurrency;
Tagok
Namespaces
| Név | Description |
|---|---|
| Egyidejűség::d irect3d névtér | Olyan függvényeket biztosít, amelyek támogatják a D3D-interoperabilitást. Lehetővé teszi a D3D-erőforrások zökkenőmentes használatát az AMP-kódban történő számításhoz, valamint az AMP-ben D3D-kódban létrehozott erőforrások használatát anélkül, hogy redundáns köztes másolatokat hoznánk létre. A C++ AMP használatával növekményesen gyorsíthatja fel a DirectX-alkalmazások számítási igényű szakaszait, és használhatja a D3D API-t az AMP-számításokból előállított adatokon. |
| Konkurencia::fast_math névtér | A névtérben lévő fast_math függvények nem C99-konformak. Csak az egyes függvények egy pontosságú verziói vannak megadva. Ezek a függvények a DirectX belső függvényeket használják, amelyek gyorsabbak a névtér megfelelő precise_math függvényeinél, és nem igényelnek kiterjesztett dupla pontosságú támogatást a gázpedálon, de kevésbé pontosak. Minden függvénynek két verziója van a C99-kóddal való forrásszintű kompatibilitás érdekében; mindkét verzió egypontos értékeket vesz fel és ad vissza. |
| Concurrency::grafikus névtér | Olyan típusokat és függvényeket biztosít, amelyek grafikus programozáshoz lettek tervezve. |
| Egyidejűség::precise_math Namespace | A névtérben lévő precise_math függvények C99-konformak. Az egyes függvények egy-pontosságú és dupla pontosságú verziói is szerepelnek benne. Ezek a függvények – beleértve az egyszeres pontosságú függvényeket is – kiterjesztett dupla pontosságú támogatást igényelnek a gázpedálon. |
Osztályok
| Név | Description |
|---|---|
| gyorsító osztály | Fizikai DP-optimalizált számítási csomópont absztrakcióját jelöli. |
| accelerator_view osztály | Virtuális eszköz absztrakciója egy C++ AMP adat-párhuzamosgyorsítón. |
| accelerator_view_removed osztály | Az a kivétel, amely akkor fordul elő, ha egy mögöttes DirectX-hívás meghiúsul a Windows időtúllépés-észlelési és helyreállítási mechanizmusa miatt. |
| tömbosztály | A rácstartományban lévő adathalmaz accelerator_view. Ez egy változók gyűjteménye, amely egy rácstartomány minden eleméhez tartozik. Minden változó egy C++ típusnak megfelelő értéket tartalmaz. |
| array_view osztály | A T,N< tömb>adatainak nézetét jelöli. |
| completion_future osztály | C++ AMP aszinkron műveletnek megfelelő jövőt jelöl. |
| extent class | Az N egész szám értékeinek vektorát jelöli, amely egy 0 forrású N dimenziós tér határait határozza meg. A koordináta-vektor értékei a legjelentősebbtől a legkevésbé jelentősig vannak rendezve. A cartesian 3 dimenziós térben például a mértékvektor (7,5,3) egy olyan területet jelöl, amelyben a z koordináta 0 és 7 között, az y koordináta 0 és 5 között, az x koordináta pedig 0 és 3 között mozog. |
| index osztály | N-dimenziós indexpontot határoz meg. |
| invalid_compute_domain osztály | Az a kivétel, amely akkor fordul elő, ha a futtatókörnyezet nem tud kernelt elindítani a híváshelyen parallel_for_each megadott számítási tartomány használatával. |
| Memóriahiány osztály | A rendszer- vagy eszközmemória hiánya miatt a metódusok meghibásodása esetén megjelenő kivétel. |
| runtime_exception Class | A C++ AMP-kódtár kivételeinek alaptípusa. |
| az tile_barrier osztály | Olyan képességosztály, amelyet csak a rendszer hozhat létre, és a tiled_index paraméter részeként egy csempézett parallel_for_each lambda számára kerül átadásra. Egy metódust biztosít, wait()amelynek célja a szálcsoportban (csempe) futó szálak végrehajtásának szinkronizálása. |
| tiled_extent osztály | Az tiled_extent objektum egy-három extent dimenzióból álló objektum, amely a tértartományt egydimenziós, kétdimenziós vagy háromdimenziós csempékké alakítja. |
| tiled_index osztály | Indexet biztosít egy tiled_grid objektumba. Ez az osztály a helyi csempe eredetéhez és a globális forráshoz viszonyítva rendelkezik az elemhez való hozzáféréshez szükséges tulajdonságokkal. |
| uninitialized_object osztály | Az a kivétel, amely akkor keletkezik, amikor egy nem inicializált objektumot használnak. |
| unsupported_feature osztály | A nem támogatott szolgáltatás használatakor megjelenő kivétel. |
Számbavételek
| Név | Description |
|---|---|
| access_type számbavétel | Megadja az adathozzáférés típusát. |
| queuing_mode felsorolás | Megadja a gyorsítón támogatott sorba állítási módokat. |
Működtetők
| Operátor | Description |
|---|---|
| operátor== Operátor (C++ AMP) | Meghatározza, hogy a megadott adatstruktúrák egyenlőek-e. |
| operátor!= Operátor (C++ AMP) | Meghatározza, hogy a megadott adatstruktúrák egyenlőtlenek-e. |
| operátor+ operátor (C++ AMP) | Kiszámítja a megadott argumentumok összetevőalapú összegét. |
| operátor– Operátor (C++ AMP) | Kiszámítja a megadott argumentumok közötti komponensenkénti különbséget. |
| operátor* Operátor (C++ AMP) | Kiszámítja a megadott argumentumok összetevőalapú termékét. |
| Operátor/ Operátor (C++ AMP) | Kiszámítja a megadott argumentumok összetevőalapú hányadosát. |
| operator% operátor (C++ AMP) | Kiszámítja az első megadott argumentum modulusát a második megadott argumentum alapján. |
Functions
| Név | Description |
|---|---|
| all_memory_fence | Megakadályozza a lapkák összes szálának végrehajtását, amíg az összes memóriahozzáférés be nem fejeződik. |
| amp_uninitialize | Nem inicializálja a C++ AMP futtatókörnyezetet. |
| atomic_compare_exchange | Túlterhelt. Ha a megadott helyen tárolt érték megegyezik az első megadott értékkel, akkor a második megadott érték ugyanabban a helyen lesz tárolva, mint egy atomi művelet. |
| atomic_exchange | Túlterhelt. A megadott helyen tárolt értéket a megadott értékre állítja atomi műveletként. |
| atomic_fetch_add | Túlterhelt. A megadott helyen tárolt értéket az adott érték összegére állítja, egy megadott értéket pedig atomi műveletként. |
| atomic_fetch_and | Túlterhelt. A megadott helyen tárolt értéket az adott érték bitenkénti értékére and állítja be, egy megadott értéket pedig atomi műveletként. |
| atomic_fetch_dec | Túlterhelt. A megadott helyen tárolt érték csökken, és az eredményt ugyanazon a helyen tárolja, mint egy atomi művelet. |
| atomic_fetch_inc | Túlterhelt. Növeli a megadott helyen tárolt értéket, és az eredményt ugyanazon a helyen tárolja, mint egy atomi művelet. |
| atomic_fetch_max | Túlterhelt. A megadott helyen tárolt értéket az adott érték nagyobb értékére állítja be, egy megadott értéket pedig atomi műveletként. |
| atomic_fetch_min | Túlterhelt. A megadott helyen tárolt értéket az adott érték kisebb értékére állítja be, egy megadott értéket pedig atomi műveletként. |
| atomic_fetch_or | Túlterhelt. A megadott helyen tárolt értéket az adott érték bitenkénti értékére or állítja be, egy megadott értéket pedig atomi műveletként. |
| atomic_fetch_sub | Túlterhelt. A megadott helyen tárolt értéket az adott érték különbségére és egy megadott értékre állítja atomi műveletként. |
| atomic_fetch_xor | Túlterhelt. A megadott helyen tárolt értéket az adott érték bitenkénti értékére xor állítja be, egy megadott értéket pedig atomi műveletként. |
| copy | C++ AMP-objektum másolása. Minden szinkron adatátviteli követelmény teljesül. Az adatok nem másolhatók, ha a kód kódot futtat egy gyorsítón. A függvény általános formája a .copy(src, dest) |
| copy_async | Átmásolja a C++ AMP objektumot, és visszaad egy completion_future-t, amelyre várakozni lehet. Az adatok nem másolhatók, ha a kód egy gyorsítón fut. A függvény általános formája a .copy(src, dest) |
| direct3d_abort | Megszakítja a korlátozási záradékkal rendelkező restrict(amp) függvény végrehajtását. |
| direct3d_errorf | Formázott karakterláncot nyomtat a Visual Studio Kimeneti ablakára, és runtime_exception kivételt dob, amely ugyanazzal a formázási karakterlánccal van ellátva. |
| direct3d_printf | Formázott sztringet nyomtat a Visual Studio Output ablakba. A meghívás egy olyan függvényből történik, amely rendelkezik a korlátozási restrict(amp) záradékkal. |
| global_memory_fence | Megakadályozza minden szál végrehajtását egy csempében, amíg az összes globális memóriahozzáférés be nem fejeződik. |
| parallel_for_each függvény (C++ AMP) | Egy függvényt futtat a számítási tartományban. |
| tile_static_memory_fence | Blokkolja egy csempe összes szálának végrehajtását, amíg a memóriahozzáférések teljesen tile_static be nem fejeződnek. |
Állandók
| Név | Description |
|---|---|
| HLSL_MAX_NUM_BUFFERS állandó | A DirectX által engedélyezett pufferek maximális száma. |
| MODULENAME_MAX_LENGTH állandó | A modul nevének maximális hosszát tárolja. Ennek az értéknek meg kell egyeznie a fordítóban és a futtatókörnyezetben. |
Requirements
Fejléc: amp.h