|
| | Device (const agx::Name &name, Type type, const agx::String &typeName, ByteOrder byteOrder=UNDEFINED) |
| | Constructor.
|
| |
| virtual agxData::Buffer * | createBuffer (agxData::Format *format)=0 |
| |
| agxData::Buffer * | createBuffer (agxData::Type *type) |
| |
| agxData::Buffer * | getBuffer (agxData::Buffer *buffer) |
| |
| ByteOrder | getByteOrder () const |
| |
| Type | getType () const |
| |
| agxData::Format * | getTypeFormat (agxData::Type *type) |
| |
| const agx::String & | getTypeName () const |
| |
| virtual agx::SyncTag * | receiveData (void *hostBuffer, agxData::Buffer *Buffer, size_t offset, size_t size, bool blocking)=0 |
| | Receive data from a buffer on the device.
|
| |
| virtual agx::SyncTag * | sendData (const void *hostBuffer, agxData::Buffer *Buffer, size_t offset, size_t size, bool blocking)=0 |
| | Send data to a buffer on the device.
|
| |
| void | setTypeFormat (agxData::Type *type, agxData::Format *format) |
| | Set the type format for a specific type.
|
| |
| void | setTypeFormat (const agx::String &typeName, const agx::String &formatName) |
| |
| | Component (const agx::Name &name=agx::Name(), agx::Model *model=agx::Component::ClassModel(), agx::Device *device=nullptr) |
| |
| virtual void | addObject (agx::Object *object, bool assignContext=true) |
| | Add an object to the component.
|
| |
| virtual String | autoComplete (const String &partialName, StringVector &matchingNames) const |
| |
| virtual void | buildNavigationTree (agxJson::Value &eNode) const override |
| |
| void | configure (Model *model) |
| |
| virtual void | configure (TiXmlElement *eComponent) override |
| |
| agx::Device * | getDevice () |
| |
| template<typename T > |
| T * | getDevice () |
| |
| const agx::Device * | getDevice () const |
| |
| template<typename T > |
| const T * | getDevice () const |
| |
| size_t | getNumObjects (const agx::Name &name) const |
| |
| agx::Object * | getObject (const agx::Name &name, agx::Model *model, size_t index=0) |
| |
| const agx::Object * | getObject (const agx::Name &name, agx::Model *model, size_t index=0) const |
| |
| agx::Object * | getObject (const agx::Name &name, size_t index=0) |
| |
| template<typename T > |
| T * | getObject (const agx::Name &name, size_t index=0) |
| |
| const agx::Object * | getObject (const agx::Name &name, size_t index=0) const |
| |
| template<typename T > |
| const T * | getObject (const agx::Name &name, size_t index=0) const |
| |
| const agx::ObjectRefVector & | getObjects () const |
| |
| template<typename T > |
| void | getObjects (agx::ObjectPtrVector &result, bool recursive=false) const |
| |
| void | getObjects (agx::ObjectPtrVector &result, const agx::Model *model, bool recursive=false) const |
| |
| virtual Object * | getResourceImpl (const Path &path, agx::Model *model) override |
| |
| virtual void | printSubtree () const override |
| |
| void | printSubtree (std::ostream &stream, int depth=0) const |
| |
| virtual void | rebind () override |
| |
| void | removeAllObjects () |
| | Remove all components.
|
| |
| virtual void | removeObject (agx::Object *object) |
| | Remove an object from the component.
|
| |
| void | removeObject (const agx::Name &name, size_t index=0) |
| | Remove an object with a specified name (and optional index) from the component.
|
| |
| virtual void | snapshot (TiXmlNode *eParent, const String &directory) const override |
| |
| void | traverse (ComponentVisitor *) |
| |
| void | traverse (const TraverseCallback &callback) |
| |
| | Object (const Name &name=Name(), Model *model=Object::ClassModel()) |
| |
| void | addListener (EventListener *listener) |
| |
| virtual void | buildNavigationTree (agxJson::Value &eNode) const |
| |
| virtual void | configure (TiXmlElement *) |
| |
| agx::String | fullName () const |
| |
| agx::String | fullPath () const |
| |
| agx::String | fullPath (const agx::Object *root) const |
| |
| template<typename T > |
| T * | getAutoScopedResource (const agx::Path &path) |
| |
| template<typename T > |
| const T * | getAutoScopedResource (const agx::Path &path) const |
| |
| agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) |
| |
| const agx::Object * | getAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const |
| |
| agx::Object * | getContext () |
| |
| template<typename T > |
| T * | getContext () |
| |
| const agx::Object * | getContext () const |
| |
| template<typename T > |
| const T * | getContext () const |
| |
| agx::UInt32 | getId () const |
| |
| const agx::Name & | getImplementationName () const |
| |
| agx::Model * | getModel () |
| |
| const agx::Model * | getModel () const |
| |
| const agx::Name & | getName () const |
| |
| agx::Object * | getNextSibling () |
| |
| const agx::Object * | getNextSibling () const |
| |
| agx::Path | getPath () const |
| |
| agx::Path | getPath (const agx::Object *root) const |
| |
| template<typename T > |
| T * | getResource (const agx::Path &path) |
| |
| template<typename T > |
| const T * | getResource (const agx::Path &path) const |
| |
| agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) |
| |
| const agx::Object * | getResource (const agx::Path &path, agx::Model *model=nullptr) const |
| |
| virtual agx::Object * | getResourceImpl (const agx::Path &path, agx::Model *model) |
| |
| agx::Object * | getRootContext () |
| |
| const agx::Object * | getRootContext () const |
| |
| bool | hasListener (EventListener *listener) |
| |
| bool | hasParent (const agx::Object *node) const |
| |
| bool | isUnique () const |
| |
| virtual void | printSubtree () const |
| |
| virtual void | rebind () |
| |
| void | removeListener (EventListener *listener) |
| |
| virtual void | save (TiXmlElement *) const |
| |
| virtual void | setContext (agx::Object *context) |
| |
| void | setId (UInt32 id) |
| |
| void | setModel (agx::Model *model) |
| | Set the object model (handled automatically).
|
| |
| void | setName (const agx::Name &name) |
| | Set the name of the object.
|
| |
| virtual void | snapshot (TiXmlNode *, const String &) const |
| |
| | Referenced () |
| | Default constructor.
|
| |
| | Referenced (const Referenced &) |
| |
| template<typename T > |
| T * | as () |
| | Subclass casting.
|
| |
| template<typename T > |
| const T * | as () const |
| |
| template<typename T > |
| T * | asSafe () |
| | Safe subclass casting, return nullptr if template type does not match.
|
| |
| template<typename T > |
| const T * | asSafe () const |
| |
| int | getReferenceCount () const |
| |
| template<typename T > |
| bool | is () const |
| | Subclass test.
|
| |
| Referenced & | operator= (const Referenced &) |
| | Assignment operator. Will increment the number of references to the referenced object.
|
| |
| void | reference (void *ptr=nullptr) const |
| | Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
| |
| void | unreference (void *ptr=nullptr) const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| void | unreference_nodelete () const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
|
| static agx::Model * | ClassModel () |
| |
| static Device * | load (TiXmlElement *eDevice, Device *device) |
| |
| static Component * | _load (TiXmlElement *eComponent, Device *device) |
| |
| static agx::Model * | ClassModel () |
| |
| static Component * | load (const Path &path, const Name &implementation, Device *device, const Path &_namespace=Path()) |
| |
| static Component * | load (const String &path, const Path &_namespace=Path()) |
| |
| static Component * | load (const String &path, Device *device, const Path &_namespace=Path()) |
| |
| static Component * | load (TiXmlElement *eComponent, Device *device) |
| |
| static agx::Model * | ClassModel () |
| |
| static agx::String | generateName (const agx::String &bindPath) |
| |
| static const HashSet< Object * > & | getActiveObjects () |
| |
| static bool | getEnableRebind () |
| | Should rebinding be allowed? Right now a global setting.
|
| |
| static Object * | load (const String &path, Device *device, const String &type, const String &attribute, const String &value) |
| |
| template<typename T > |
| static T * | load (const String &path, Device *device, const String &type, const String &attribute, const String &value) |
| |
| static Object * | load (const String &path, Device *device, const String &type="", size_t instance=0) |
| |
| template<typename T > |
| static T * | load (const String &path, Device *device, const String &type="", size_t instance=0) |
| |
| static void | load (const String &path, Device *device, ObjectPtrVector &loadedObjects) |
| |
| static Object * | load (TiXmlElement *eObject, Device *device) |
| |
| template<typename T > |
| static T * | load (TiXmlElement *eObject, Device *device) |
| |
| static TiXmlDocument | openDocument (const String &path) |
| |
| static void | setEnableRebind (bool flag) |
| | Sets if rebinding of objects should be allowed (Right now a global setting).
|
| |
| template<typename T > |
| static bool | ValidateCast (const Referenced *object) |
| |
An agx::Device is an abstract representation of a device on which data can be stored and processed.
Devices are hierarchical.
Example:
A distributed memory machine (computer cluster), is a device, in which each host machine is a device. Each host has a number of subdevices, eg each GPU is a device, with subdevices for compute groups the CPU is a device, with subdevices for each CPU socket, with subdevices for individual cores
Definition at line 57 of file Device.h.