HMLP: High-performance Machine Learning Primitives
|
This class describes devices or accelerators that require a master thread to control. A device can accept tasks from multiple workers. All received tasks are expected to be executed independently in a time-sharing fashion. Whether these tasks are executed in parallel, sequential or with some built-in context switching scheme does not matter. More...
#include <device.hpp>
Public Member Functions | |
Device () | |
Device implementation. | |
virtual class CacheLine * | getline (size_t size) |
virtual void | prefetchd2h (void *ptr_h, void *ptr_d, size_t size, int stream_id) |
virtual void | prefetchh2d (void *ptr_d, void *ptr_h, size_t size, int stream_id) |
virtual void | waitexecute () |
virtual void | wait (int stream_id) |
virtual void * | malloc (size_t size) |
virtual void | malloc (void *ptr_d, size_t size) |
virtual size_t | get_memory_left () |
virtual void | free (void *ptr_d, size_t size) |
Public Attributes | |
DeviceType | devicetype |
std::string | name |
class Cache | cache |
This class describes devices or accelerators that require a master thread to control. A device can accept tasks from multiple workers. All received tasks are expected to be executed independently in a time-sharing fashion. Whether these tasks are executed in parallel, sequential or with some built-in context switching scheme does not matter.