Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un acceleratore è una funzionalità hardware ottimizzata per il calcolo parallelo dei dati. Un acceleratore può essere un dispositivo collegato a un bus PCIe (ad esempio una GPU) o potrebbe essere un set di istruzioni esteso sulla CPU principale.
Sintassi
class accelerator;
Membri
Costruttori pubblici
| Nome | Descrizione |
|---|---|
| Costruttore acceleratore | Inizializza una nuova istanza della classe accelerator. |
| ~accelerator Distruttore | Elimina definitivamente l'oggetto accelerator . |
Metodi pubblici
| Nome | Descrizione |
|---|---|
| create_view | Crea e restituisce un accelerator_view oggetto su questo acceleratore. |
| get_all | Restituisce un vettore di accelerator oggetti che rappresentano tutti gli acceleratori disponibili. |
| get_auto_selection_view | Restituisce la selezione accelerator_viewautomatica . |
| get_dedicated_memory | Restituisce la memoria dedicata per accelerator, espressa in kilobytes. |
| get_default_cpu_access_type | Restituisce il access_type predefinito per i buffer creati su questo acceleratore. |
| get_default_view | Restituisce l'oggetto predefinito accelerator_view associato all'oggetto accelerator. |
| get_description | Restituisce una breve descrizione del accelerator dispositivo. |
| get_device_path | Restituisce il percorso del dispositivo. |
| get_has_display | Determina se l'oggetto accelerator è collegato a uno schermo. |
| get_is_debug | Determina se il livello DEBUG di accelerator è abilitato per la segnalazione di errori in modo estensivo. |
| get_is_emulated | Determina se l'oggetto accelerator viene emulato. |
| get_supports_cpu_shared_memory | Determina se supporta la accelerator memoria condivisa |
| get_supports_double_precision | Determina se il accelerator è connesso a un display. |
| ottenere_supporta_precisione_doppia_limitata | Determina se accelerator ci sia un supporto limitato per la matematica a precisione doppia. |
| get_version (ottieni_versione) | Restituisce la versione di accelerator. |
| set_default | Restituisce il percorso dell'acceleratore predefinito. |
| imposta_tipo_accesso_cpu_predefinito | Imposta il access_type CPU predefinito per le matrici e le allocazioni di memoria implicite eseguite su questo oggetto accelerator. |
Operatori pubblici
| Nome | Descrizione |
|---|---|
| Operatore != | Confronta l'oggetto accelerator con un altro oggetto e restituisce false se sono uguali; in caso contrario, restituisce true. |
| Operatore = | Copia il contenuto dell'oggetto specificato accelerator in questo oggetto. |
| operator== | Confronta l'oggetto accelerator con un altro oggetto e restituisce true se sono uguali; in caso contrario, restituisce false. |
Membri di dati pubblici
| Nome | Descrizione |
|---|---|
| cpu_accelerator | Ottiene una costante stringa per la CPU accelerator. |
| dedicated_memory | Ottiene la memoria dedicata per accelerator, in kilobyte. |
| default_accelerator | Ottiene una costante stringa per l'oggetto predefinito accelerator. |
| tipo_accesso_cpu_predefinito | Ottiene o imposta il access_type cpu predefinito per le matrici e le allocazioni di memoria implicite eseguite su questo acceleratoroggetto . |
| default_view | Ottiene l'oggetto predefinito accelerator_view associato all'oggetto accelerator. |
| descrizione | Ottiene una breve descrizione del accelerator dispositivo. |
| device_path | Ottiene il percorso del dispositivo. |
| direct3d_ref | Ottiene una stringa costante per un riferimento Direct3D accelerator. |
| direct3d_warp | Ottiene la costante stringa per un accelerator oggetto che è possibile usare per l'esecuzione di codice C++ AMP su CPU multi-core che usano Streaming SIMD Extensions (SSE). |
| ha_display | Ottiene un valore booleano che indica se l'oggetto accelerator è associato a una visualizzazione. |
| is_debug | Indica se il accelerator ha il livello DEBUG abilitato per un'ampia segnalazione degli errori. |
| is_emulated | Indica se l'oggetto accelerator è emulato. |
| supporta_la_memoria_condivisa_della_cpu | Indica se supporta la accelerator memoria condivisa. |
| supporta doppia precisione | Indica se l'acceleratore supporta la matematica a precisione doppia. |
| supporta la precisione doppia limitata | Indica se l'acceleratore ha un supporto limitato per la matematica a precisione doppia. |
| versione | Ottiene la versione di accelerator. |
Gerarchia di ereditarietà
accelerator
Osservazioni:
Un acceleratore è una funzionalità hardware ottimizzata per il calcolo parallelo dei dati. Un acceleratore è spesso una GPU discreta, ma può anche essere un'entità lato host virtuale, ad esempio un dispositivo DirectX REF, un WARP (un dispositivo lato CPU accelerato tramite istruzioni SSE) o la CPU stessa.
È possibile costruire un accelerator oggetto enumerando i dispositivi disponibili oppure recuperando il dispositivo predefinito, il dispositivo di riferimento o il dispositivo WARP.
Requisiti
Intestazione: amprt.h
Spazio dei nomi: Concurrency
~acceleratore
Elimina definitivamente l'oggetto accelerator .
~accelerator();
Valore restituito
acceleratore
Inizializza una nuova istanza della classe acceleratore.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parametri
_Device_path
Percorso del dispositivo fisico.
_Altro
L'acceleratore per copiare.
cpu_accelerator
Ottiene una costante di stringa per l'acceleratore CPU.
static const wchar_t cpu_accelerator[];
crea_vista
Crea un oggetto accelerator_view su questo acceleratore e lo restituisce, utilizzando la modalità di accodamento specificata. Quando la modalità di accodamento non è specificata, la nuova accelerator_view usa la modalità di accodamento queuing_mode::immediate.
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Parametri
qmode
Modalità di accodamento.
Valore restituito
accelerator_view Nuovo oggetto su questo acceleratore, utilizzando la modalità di accodamento specificata.
memoria dedicata
Ottiene la memoria dedicata per accelerator, in kilobyte.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
acceleratore_predefinito
Ottiene una costante stringa per l'oggetto predefinito accelerator.
static const wchar_t default_accelerator[];
default_cpu_access_type
Il access_type predefinito della CPU per le matrici e le allocazioni di memoria implicite fatte su questo accelerator.
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
vista_predefinita
Ottiene la visualizzazione dell'acceleratore predefinita associata all'oggetto accelerator.
__declspec(property(get= get_default_view)) accelerator_view default_view;
descrizione
Ottiene una breve descrizione del accelerator dispositivo.
__declspec(property(get= get_description)) std::wstring description;
percorso_del_dispositivo
Ottiene il percorso dell'acceleratore. Il percorso è univoco nel sistema.
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Ottiene una costante di stringa per un acceleratore di riferimento Direct3D.
static const wchar_t direct3d_ref[];
direct3d_warp
Ottiene la costante stringa per un accelerator oggetto che è possibile usare per l'esecuzione del codice C++ AMP su CPU multi-core tramite Streaming SIMD Extensions (SSE).
static const wchar_t direct3d_warp[];
get_all
Restituisce un vettore di accelerator oggetti che rappresentano tutti gli acceleratori disponibili.
static inline std::vector<accelerator> get_all();
Valore restituito
Vettore di acceleratori disponibili
get_auto_selection_view
Restituisce il accelerator_view di selezione automatica, che quando specificato come destinazione parallel_for_each restituisce il accelerator_view di destinazione per l'esecuzione del kernel parallel_for_each da selezionare automaticamente dal runtime. Per tutti gli altri scopi, il accelerator_view restituito da questo metodo è uguale al accelerator_view predefinito dell'acceleratore predefinito
static accelerator_view __cdecl get_auto_selection_view();
Valore restituito
Selezione automatica dell'acceleratore_view.
ottenere_memoria_dedicata
Restituisce la memoria dedicata per accelerator, espressa in kilobytes.
size_t get_dedicated_memory() const;
Valore restituito
La memoria dedicata per accelerator, espressa in kilobyte.
get_tipo_accesso_cpu_di_default
Ottiene il tipo di accesso CPU predefinito per i buffer creati su questo acceleratore
access_type get_default_cpu_access_type() const;
Valore restituito
Il tipo di accesso CPU predefinito per i buffer creati su questo acceleratore.
recupera_visualizzazione_predefinita
Restituisce l'oggetto predefinito accelerator_view associato all'oggetto accelerator.
accelerator_view get_default_view() const;
Valore restituito
Oggetto predefinito accelerator_view associato all'oggetto accelerator.
ottieni_descrizione
Restituisce una breve descrizione del accelerator dispositivo.
std::wstring get_description() const;
Valore restituito
Breve descrizione del accelerator dispositivo.
get_device_path
Restituisce il percorso dell'acceleratore. Il percorso è univoco nel sistema.
std::wstring get_device_path() const;
Valore restituito
Il percorso dell'istanza del dispositivo univoco a livello di sistema.
get_has_display
Restituisce un valore booleano che indica se accelerator può visualizzare su uno schermo.
bool get_has_display() const;
Valore restituito
true se l'oggetto accelerator può emettere un output su un display; in caso contrario, false.
get_is_debug
Determina se il livello DEBUG di accelerator è abilitato per la segnalazione di errori in modo estensivo.
bool get_is_debug() const;
Valore restituito
true se il accelerator livello DEBUG è abilitato per la segnalazione degli errori estesa. In caso contrario, false.
get_is_emulated
Determina se l'oggetto accelerator viene emulato.
bool get_is_emulated() const;
Valore restituito
true se il accelerator è emulato. In caso contrario, false.
get_supports_cpu_shared_memory
Restituisce un valore booleano che indica se l'acceleratore supporta la memoria accessibile sia dall'acceleratore che dalla CPU.
bool get_supports_cpu_shared_memory() const;
Valore restituito
true se l'acceleratore supporta la memoria condivisa della CPU; in caso contrario, false.
ottenere_supporta_doppia_precisione
Restituisce un valore booleano che indica se l'acceleratore supporta la matematica a precisione doppia, inclusa la moltiplicazione con accumulo fuso (FMA), la divisione, il reciproco e il casting tra int e double
bool get_supports_double_precision() const;
Valore restituito
true se l'acceleratore supporta la matematica a precisione doppia; in caso contrario, false.
get_supports_limited_double_precision
Restituisce un valore booleano che indica se l'acceleratore ha un supporto limitato per la matematica a precisione doppia. Se l'acceleratore ha solo un supporto limitato, l'aggiunta di moltiplicazione fuso (FMA), la divisione, il reciproco e il cast tra int e double non sono supportati.
bool get_supports_limited_double_precision() const;
Valore restituito
true se l'acceleratore ha un supporto limitato per la matematica a precisione doppia; in caso contrario, false.
get_version
Restituisce la versione di accelerator.
unsigned int get_version() const;
Valore restituito
Versione di accelerator.
has_display
Ottiene un valore booleano che indica se l'oggetto accelerator può restituire un output in una visualizzazione.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Ottiene un valore booleano che indica se il accelerator livello DEBUG è abilitato per la segnalazione degli errori estesa.
__declspec(property(get= get_is_debug)) bool is_debug;
is_emulato
Ottiene un valore booleano che indica se l'oggetto accelerator è emulato.
__declspec(property(get= get_is_emulated)) bool is_emulated;
operator!=
Confronta l'oggetto accelerator con un altro oggetto e restituisce false se sono uguali; in caso contrario, restituisce true.
bool operator!= (const accelerator& _Other) const;
Parametri
_Altro
Oggetto accelerator da confrontare con questo.
Valore restituito
false se i due accelerator oggetti sono uguali; in caso contrario, true.
operator=
Copia il contenuto dell'oggetto specificato accelerator in questo oggetto.
accelerator& operator= (const accelerator& _Other);
Parametri
_Altro
Oggetto accelerator da cui copiare.
Valore restituito
Riferimento a questo accelerator oggetto.
operator==
Confronta l'oggetto accelerator con un altro oggetto e restituisce true se sono uguali; in caso contrario, restituisce false.
bool operator== (const accelerator& _Other) const;
Parametri
_Altro
Oggetto accelerator da confrontare con questo.
Valore restituito
true se l'altro accelerator oggetto è uguale a questo accelerator oggetto; in caso contrario, false.
set_default
Imposta l'acceleratore predefinito da utilizzare per qualsiasi operazione che usa in modo implicito l'acceleratore predefinito. Questo metodo ha esito positivo solo se il runtime ha selezionato l'acceleratore predefinito e non è già stato usato in un'operazione che utilizza implicitamente l'acceleratore predefinito.
static inline bool set_default(std::wstring _Path);
Parametri
_Percorso
Percorso dell'acceleratore.
Valore restituito
true se la chiamata ha esito positivo nell'impostare l'acceleratore predefinito. In caso contrario, false.
set_default_cpu_access_type
Impostare il access_type cpu predefinito per le matrici create su questo acceleratore o per le allocazioni di memoria implicite come parte di array_views a cui si accede su questo acceleratore. Questo metodo ha esito positivo solo se il default_cpu_access_type per l'acceleratore non è già stato sottoposto a override da una chiamata precedente a questo metodo e il runtime selezionato default_cpu_access_type per questo acceleratore non è ancora stato usato per allocare una matrice o per un'allocazione di memoria implicita che esegue il backup di un array_view a cui si accede su questo acceleratore.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parametri
_Default_cpu_access_type
Il tipo di accesso predefinito della CPU da usare per le allocazioni della memoria di array/array_view su questo acceleratore.
Valore restituito
Valore booleano che indica se il tipo di accesso predefinito della cpu per l'acceleratore è stato impostato correttamente.
supporta_memoria_condivisa_CPU
Ottiene un valore booleano che indica se supporta la accelerator memoria condivisa.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
supporta la doppia precisione
Ottiene un valore booleano che indica se l'acceleratore supporta la matematica a precisione doppia.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
supporta_doppia_precisione_limitata
Ottiene un valore booleano che indica se l'acceleratore ha un supporto limitato per la matematica a precisione doppia. Se l'acceleratore ha solo un supporto limitato, l'aggiunta di moltiplicazione fuso (FMA), la divisione, il reciproco e il cast tra int e double non sono supportati.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
versione
Ottiene la versione di accelerator.
__declspec(property(get= get_version)) unsigned int version;