Share via


accelerator_view Class

Represents a virtual device abstraction on a C++ AMP data-parallel accelerator.

class accelerator_view;

Members

Public Constructors

Name

Description

accelerator_view::accelerator_view Constructor

Initializes a new instance of the accelerator_view class.

accelerator_view::~accelerator_view Destructor

Destroys the accelerator_view object.

Public Methods

Name

Description

accelerator_view::create_marker Method

Returns a future to track the completion of all commands submitted so far to this accelerator_view object.

accelerator_view::flush Method

Submits all pending commands queued to the accelerator_view object to the accelerator for execution.

accelerator_view::get_accelerator Method

Returns the accelerator object for the accelerator_view object.

accelerator_view::get_is_auto_selection Method

Returns a Boolean value that indicates whether the runtime will automatically select an appropriate accelerator when the accelerator_view object is passed to a parallel_for_each.

accelerator_view::get_is_debug Method

Returns a Boolean value that indicates whether the accelerator_view object has the DEBUG layer enabled for extensive error reporting.

accelerator_view::get_queuing_mode Method

Returns the queuing mode for the accelerator_view object.

accelerator_view::get_version Method

Returns the version of the accelerator_view.

accelerator_view::wait Method

Waits for all commands submitted to the accelerator_view object to finish.

Public Operators

Name

Description

accelerator_view::operator!= Operator

Compares this accelerator_view object with another and returns false if they are the same; otherwise, returns true.

accelerator_view::operator= Operator

Copies the contents of the specified accelerator_view object into this one.

accelerator_view::operator== Operator

Compares this accelerator_view object with another and returns true if they are the same; otherwise, returns false.

Public Data Members

Name

Description

accelerator_view::accelerator Data Member

Gets the accelerator object for the accelerator_view object.

accelerator_view::is_auto_selection Data Member

Gets a Boolean value that indicates whether the runtime will automatically select an appropriate accelerator when the accelerator_view object is passed to a parallel_for_each.

accelerator_view::is_debug Data Member

Gets a Boolean value that indicates whether the accelerator_view object has the DEBUG layer enabled for extensive error reporting.

accelerator_view::queuing_mode Data Member

Gets the queuing mode for the accelerator_view object.

accelerator_view::version Data Member

Gets the version of the accelerator.

Inheritance Hierarchy

accelerator_view

Remarks

An accelerator_view object represents a logical, isolated view of an accelerator. A single physical compute device can have many logical, isolated accelerator_view objects. Each accelerator has a default accelerator_view object. Additional accelerator_view objects can be created.

Physical devices can be shared among many client threads. Client threads can cooperatively use the same accelerator_view object of an accelerator, or each client can communicate with a compute device via an independent accelerator_view object for isolation from other client threads.

An accelerator_view object can have one of two queuing_mode Enumeration states. If the queuing mode is immediate, commands like copy and parallel_for_each are sent to the corresponding accelerator device as soon as they return to the caller. If the queuing mode is deferred, such commands are queued up on a command queue that corresponds to the accelerator_view object. Commands are not actually sent to the device until flush() is called.

Requirements

Header: amprt.h

Namespace: Concurrency

See Also

Reference

Concurrency Namespace (C++ AMP)