Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Акселератор — это аппаратная возможность, оптимизированная для параллельных вычислений данных. Ускоритель может быть устройством, подключенным к шине PCIe (например, GPU), или может быть расширенным набором инструкций на основном ЦП.
Синтаксис
class accelerator;
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| Конструктор акселератора | Инициализирует новый экземпляр класса accelerator. |
| ~accelerator Деструктор | Уничтожает accelerator объект. |
Открытые методы
| Имя | Описание |
|---|---|
| create_view | Создает и возвращает accelerator_view объект в этом акселераторе. |
| get_all | Возвращает вектор accelerator объектов, представляющих все доступные акселераторы. |
| get_auto_selection_view | Возвращает автоматический выбор accelerator_view. |
| get_dedicated_memory | Возвращает выделенную память для accelerator, в килобайтах. |
| get_default_cpu_access_type | Возвращает access_type по умолчанию для буферов, созданных на этом акселераторе. |
| get_default_view | Возвращает объект по умолчанию accelerator_view , связанный с acceleratorобъектом . |
| get_description | Возвращает краткое описание accelerator устройства. |
| get_device_path | Возвращает путь устройства. |
| get_has_display | Определяет, подключен ли accelerator к экрану. |
| get_is_debug | Определяет, активирован ли уровень DEBUG для подробного отчета об ошибках в accelerator. |
| get_is_emulated | Определяет, эмулируется ли accelerator. |
| get_supports_cpu_shared_memory | Определяет, поддерживает ли accelerator общую память |
| получить_поддерживает_двойную_точность | Определяет, подключен ли accelerator к дисплею. |
| get_supports_limited_double_precision - функция получения информации о поддержке ограниченной двойной точности | Определяет, имеет ли accelerator ограниченную поддержку операций с двойной точностью. |
| get_version | Возвращает версию объекта accelerator. |
| set_default | Возвращает путь акселератора по умолчанию. |
| set_default_cpu_access_type | Устанавливает тип доступа access_type по умолчанию для процессора (ЦП) для массивов и неявных выделений памяти, выполняемых на данном accelerator. |
Открытые операторы
| Имя | Описание |
|---|---|
| оператор!= | Сравнивает этот accelerator объект с другим и возвращает false , если они одинаковы; в противном случае возвращается true. |
| оператор = | Копирует содержимое указанного accelerator объекта в этот объект. |
| оператор == | Сравнивает этот accelerator объект с другим и возвращает true , если они одинаковы; в противном случае возвращается false. |
Публичные члены данных
| Имя | Описание |
|---|---|
| cpu_accelerator | Возвращает строковую константу для ЦП accelerator. |
| dedicated_memory | Возвращает выделенную для accelerator память в килобайтах. |
| default_accelerator | Возвращает строковую константу по умолчанию accelerator. |
| тип_доступа_к_ЦП_по_умолчанию | Возвращает или задает тип доступа ЦПУ по умолчанию для массива и неявных выделений памяти, сделанных для этого accelerator. |
| default_view | Возвращает объект по умолчанию accelerator_view , связанный с объектом accelerator. |
| описание | Возвращает краткое описание accelerator устройства. |
| device_path | Возвращает путь устройства. |
| direct3d_ref | Возвращает строковую константу для ссылки Direct3D accelerator. |
| direct3d_warp | Возвращает строковую константу для объекта, который можно использовать для выполнения кода C++ AMP на accelerator многоядерных ЦП, использующих потоковые расширения SIMD (SSE). |
| has_display | Возвращает логическое значение, указывающее, подключен ли accelerator к экрану. |
| is_debug | Указывает, включен ли accelerator уровень DEBUG для подробной отчетности об ошибках. |
| is_emulated | Указывает, эмулируется ли accelerator. |
| supports_cpu_shared_memory | Указывает, является ли accelerator поддерживающим совместную память. |
| поддерживает_двойную_точность | Указывает, поддерживает ли ускоритель математику двойной точности. |
| поддерживает_ограниченную_двойную_точность | Указывает, имеет ли акселератор ограниченную поддержку математики двойной точности. |
| версия | Возвращает версию accelerator. |
Иерархия наследования
accelerator
Замечания
Акселератор — это аппаратная возможность, оптимизированная для параллельных вычислений данных. Акселератор часто является дискретным GPU, но он также может быть виртуальной сущностью на стороне узла, например устройством DirectX REF, WARP (устройством на стороне ЦП, которое ускоряется с помощью инструкций SSE) или самой ЦП.
Объект можно создать accelerator , перечислив доступные устройства или получив устройство по умолчанию, эталонное устройство или устройство WARP.
Требования
Заголовок: amprt.h
Пространство имен : Concurrency
~акселератор
Уничтожает accelerator объект.
~accelerator();
Возвращаемое значение
Ускоритель
Инициализирует новый экземпляр класса акселератора.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Параметры
_Device_path
Путь физического устройства.
_Другой
Акселератор для копирования.
ускоритель ЦП
Возвращает строковую константу для акселератора ЦП.
static const wchar_t cpu_accelerator[];
create_view
Создает и возвращает объект accelerator_view на этом акселераторе, используя указанный режим очереди. Если режим очереди не указан, новое accelerator_view использует режим очереди queuing_mode::немедленно.
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Параметры
qmode
Режим очереди.
Возвращаемое значение
Новый объект accelerator_view на этом акселераторе, использующий указанный режим очереди.
выделенная память
Возвращает выделенную память для accelerator, в килобайтах.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
ускоритель по умолчанию
Возвращает строковую константу по умолчанию accelerator.
static const wchar_t default_accelerator[];
Тип доступа к процессору по умолчанию
Тип доступа ЦП по умолчанию для массивов и неявных выделений памяти, сделанных в этом acceleratorобъекте.
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
вид по умолчанию
Возвращает представление акселератора по умолчанию, связанное с accelerator.
__declspec(property(get= get_default_view)) accelerator_view default_view;
описание
Возвращает краткое описание accelerator устройства.
__declspec(property(get= get_description)) std::wstring description;
путь_устройства
Возвращает путь акселератора. Путь уникален в системе.
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Возвращает строковую константу для опорного акселератора Direct3D.
static const wchar_t direct3d_ref[];
direct3d_warp
Получает строковую константу для объекта accelerator, которую можно использовать для выполнения кода C++ AMP на многоядерных процессорах с применением расширений потоковой обработки SIMD (SSE).
static const wchar_t direct3d_warp[];
get_all
Возвращает вектор accelerator объектов, представляющих все доступные акселераторы.
static inline std::vector<accelerator> get_all();
Возвращаемое значение
Вектор доступных акселераторов
get_auto_selection_view
Возвращает accelerator_view автоматического выбора, который при указании в качестве цели для parallel_for_each позволяет среде выполнения автоматически выбрать целевой accelerator_view для выполнения ядра parallel_for_each. Для всех других целей accelerator_view, возвращаемый этим методом, совпадает с представлением ускорителя по умолчанию.
static accelerator_view __cdecl get_auto_selection_view();
Возвращаемое значение
Автовыбор accelerator_view.
get_dedicated_memory
Возвращает выделенную память для accelerator, в килобайтах.
size_t get_dedicated_memory() const;
Возвращаемое значение
Выделенная память для accelerator, в килобайтах.
get_default_cpu_access_type
Возвращает тип доступа по умолчанию центрального процессора для буферов, созданных на этом акселераторе.
access_type get_default_cpu_access_type() const;
Возвращаемое значение
Тип доступа ЦП по умолчанию для буферов, созданных на этом акселераторе.
получить_вид_по_умолчанию
Возвращает объект по умолчанию accelerator_view , связанный с acceleratorобъектом .
accelerator_view get_default_view() const;
Возвращаемое значение
Объект по умолчанию accelerator_view , связанный с accelerator.
get_description
Возвращает краткое описание accelerator устройства.
std::wstring get_description() const;
Возвращаемое значение
Краткое accelerator описание устройства.
get_device_path
Возвращает путь акселератора. Путь уникален в системе.
std::wstring get_device_path() const;
Возвращаемое значение
Уникальный системный путь к экземпляру устройства.
get_has_display
Возвращает логическое значение, указывающее, может ли accelerator выводить на экран.
bool get_has_display() const;
Возвращаемое значение
true если accelerator может выводиться на экран; в противном случае, false.
get_is_debug
Определяет, активирован ли уровень DEBUG для подробного отчета об ошибках в accelerator.
bool get_is_debug() const;
Возвращаемое значение
true, если у accelerator включен уровень DEBUG для расширенной отчетности об ошибках. В противном случае — false.
get_is_emulated
Определяет, эмулируется ли accelerator.
bool get_is_emulated() const;
Возвращаемое значение
true если accelerator эмулируется. В противном случае — false.
get_supports_cpu_shared_memory
Возвращает логическое значение, указывающее, поддерживает ли ускоритель память, доступную как акселератором, так и ЦП.
bool get_supports_cpu_shared_memory() const;
Возвращаемое значение
true, если акселератор поддерживает общую память ЦП; false в противном случае.
get_supports_double_precision
Возвращает логическое значение, указывающее, поддерживает ли акселератор математику с двойной точностью, включая сравненное умножение с накоплением (FMA), деление, взаимное преобразование и приведение между int и double
bool get_supports_double_precision() const;
Возвращаемое значение
true Значение , если акселератор поддерживает математику двойной точности; falseв противном случае .
get_supports_limited_double_precision
Возвращает логическое значение, указывающее, имеет ли акселератор ограниченную поддержку математики двойной точности. Если акселератор имеет только ограниченную поддержку, то операция сложения с умножением (FMA), деление, вычисление обратных величин и приведение типов между int и double не поддерживаются.
bool get_supports_limited_double_precision() const;
Возвращаемое значение
true Значение, если акселератор имеет ограниченную поддержку вычислений с двойной точностью; false в противном случае.
получить_версию
Возвращает версию объекта accelerator.
unsigned int get_version() const;
Возвращаемое значение
Это версия accelerator.
есть_дисплей
Возвращает логическое значение, указывающее, может ли accelerator выводить на экран.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Возвращает логическое значение, указывающее, включен ли accelerator уровень DEBUG для обширной отчетности об ошибках.
__declspec(property(get= get_is_debug)) bool is_debug;
эмулируется
Возвращает логическое значение, указывающее, эмулируется ли accelerator объект.
__declspec(property(get= get_is_emulated)) bool is_emulated;
оператор!=
Сравнивает этот accelerator объект с другим и возвращает false , если они одинаковы; в противном случае возвращается true.
bool operator!= (const accelerator& _Other) const;
Параметры
_Другой
Объект accelerator для сравнения с этим объектом.
Возвращаемое значение
false
accelerator если два true объекта одинаковы; в противном случае .
operator=
Копирует содержимое указанного accelerator объекта в этот объект.
accelerator& operator= (const accelerator& _Other);
Параметры
_Другой
Объект accelerator , из который нужно скопировать.
Возвращаемое значение
Ссылка на этот accelerator объект.
operator==
Сравнивает этот accelerator объект с другим и возвращает true , если они одинаковы; в противном случае возвращается false.
bool operator== (const accelerator& _Other) const;
Параметры
_Другой
Объект accelerator для сравнения с этим.
Возвращаемое значение
true значение, accelerator если другой accelerator объект совпадает с этим false объектом; в противном случае false.
установить_по_умолчанию
Задает акселератор по умолчанию для любой операции, которая неявно использует акселератор по умолчанию. Этот метод завершается успешно, только если выбранный по умолчанию акселератор среды выполнения еще не использовался в операции, которая неявно использует акселератор по умолчанию
static inline bool set_default(std::wstring _Path);
Параметры
_Путь
Путь к акселератору.
Возвращаемое значение
true Если вызов выполнен успешно при установке акселератора по умолчанию. В противном случае — false.
set_default_cpu_access_type (установить тип доступа к ЦП по умолчанию)
Задайте тип доступа ЦП по умолчанию для массивов, созданных на этом акселераторе, или для неявных выделений памяти, связанных с доступом array_views на этом акселераторе. Этот метод успешно выполняется только в том случае, если default_cpu_access_type для акселератора еще не был переопределен предыдущим вызовом этого метода, а default_cpu_access_type, выбранный средой выполнения для этого акселератора, еще не использовался для выделения массива или имплицитного выделения памяти, поддерживающего array_view, который обращается к этому акселератору.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Параметры
_Тип_доступа_к_процессору_по_умолчанию
Тип доступа к процессору по умолчанию для выделения памяти массива или array_view на этом ускорителе.
Возвращаемое значение
Логический тип данных, указывающий, был ли тип доступа к процессору по умолчанию для акселератора успешно задан.
поддерживает общую память ЦП
Возвращает логическое значение (true или false), показывающее, поддерживает ли accelerator общую память.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
поддерживает_двойную_точность
Возвращает логическое значение, указывающее, поддерживает ли акселератор вычисления с двойной точностью.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
поддерживает ограниченную двойную точность
Возвращает логическое значение, указывающее, имеет ли акселератор ограниченную поддержку математики двойной точности. Если акселератор имеет только ограниченную поддержку, то операция сложения с умножением (FMA), деление, вычисление обратных величин и приведение типов между int и double не поддерживаются.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
версия
Возвращает версию accelerator.
__declspec(property(get= get_version)) unsigned int version;