![]() |
DPU C++ Host API
2025.1.0
|
Operations on a DPU set that can be run synchronously or asynchronously. More...
#include <dpu.hpp>
Public Member Functions | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, unsigned Offset, const std::vector< T > &SrcBuffer, unsigned Size) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, unsigned Offset, const std::vector< T > &SrcBuffer) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, const std::vector< T > &SrcBuffer, unsigned Size) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, const std::vector< T > &SrcBuffer) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, unsigned Offset, const std::vector< T > &SrcBuffer, unsigned Size) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, unsigned Offset, const std::vector< T > &SrcBuffer) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, const std::vector< T > &SrcBuffer, unsigned Size) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, const std::vector< T > &SrcBuffer) |
| Copy the same data to all the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, unsigned Offset, const std::vector< std::vector< T >> &SrcBuffers, unsigned Size) |
| Copy the different buffers to the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, unsigned Offset, const std::vector< std::vector< T >> &SrcBuffers) |
| Copy the different buffers to the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, const std::vector< std::vector< T >> &SrcBuffers, unsigned Size) |
| Copy the different buffers to the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (const std::string &DstSymbol, const std::vector< std::vector< T >> &SrcBuffers) |
| Copy the different buffers to the DPUs in the set. More... | |
| void | copyScatterGather (const std::string &DstSymbol, unsigned Offset, get_block_t &get_block_info, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| void | copyScatterGather (const std::string &DstSymbol, get_block_t &get_block_info, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (const std::string &DstSymbol, unsigned Offset, F f, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (const std::string &DstSymbol, F f, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, unsigned Offset, const std::vector< std::vector< T >> &SrcBuffers, unsigned Size) |
| Copy the different buffers to the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, unsigned Offset, const std::vector< std::vector< T >> &SrcBuffers) |
| Copy the different buffers to the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, const std::vector< std::vector< T >> &SrcBuffers, unsigned Size) |
| Copy the different buffers to the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (DpuSymbol &DstSymbol, const std::vector< std::vector< T >> &SrcBuffers) |
| Copy the different buffers to the DPUs in the set. More... | |
| void | copyScatterGather (DpuSymbol &DstSymbol, unsigned Offset, get_block_t &get_block_info, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| void | copyScatterGather (DpuSymbol &DstSymbol, get_block_t &get_block_info, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (DpuSymbol &DstSymbol, unsigned Offset, F f, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (DpuSymbol &DstSymbol, F f, unsigned Size, bool length_check=true) |
| Copy the different buffers to the DPUs in the set with a scatter/gather transfer. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, unsigned Size, const std::string &SrcSymbol, unsigned Offset) |
| Copy data from the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, unsigned Size, const std::string &SrcSymbol) |
| Copy data from the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, const std::string &SrcSymbol, unsigned Offset) |
| Copy data from the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, const std::string &SrcSymbol) |
| Copy data from the DPUs in the set. More... | |
| void | copyScatterGather (get_block_t &get_block_info, unsigned Size, const std::string &SrcSymbol, unsigned Offset, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| void | copyScatterGather (get_block_t &get_block_info, unsigned Size, const std::string &SrcSymbol, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (F f, unsigned Size, const std::string &SrcSymbol, unsigned Offset, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (F f, unsigned Size, const std::string &SrcSymbol, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, unsigned Size, DpuSymbol &SrcSymbol, unsigned Offset) |
| Copy data from the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, unsigned Size, DpuSymbol &SrcSymbol) |
| Copy data from the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, DpuSymbol &SrcSymbol, unsigned Offset) |
| Copy data from the DPUs in the set. More... | |
| template<typename T > | |
| void | copy (std::vector< std::vector< T >> &DstBuffers, DpuSymbol &SrcSymbol) |
| Copy data from the DPUs in the set. More... | |
| void | copyScatterGather (get_block_t &get_block_info, unsigned Size, DpuSymbol &SrcSymbol, unsigned Offset, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| void | copyScatterGather (get_block_t &get_block_info, unsigned Size, DpuSymbol &SrcSymbol, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (F f, unsigned Size, DpuSymbol &SrcSymbol, unsigned Offset, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| template<class F > | |
| void | copyScatterGather (F f, unsigned Size, DpuSymbol &SrcSymbol, bool length_check=true) |
| Copy data from the DPUs in the set with a scatter-gather transfer. More... | |
| void | exec () |
| Execute a DPU program. More... | |
Friends | |
| class | DpuSet |
| class | DpuSetAsync |
Operations on a DPU set that can be run synchronously or asynchronously.
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffer | the source host buffer |
| Size | the number of bytes to copy |
| DpuError | when the symbol does not exist or if the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffer | the source host buffer |
| DpuError | when the symbol does not exist or if the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| SrcBuffer | the source host buffer |
| Size | the number of bytes to copy |
| DpuError | when the symbol does not exist or if the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| SrcBuffer | the source host buffer |
| DpuError | when the symbol does not exist or if the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffer | the source host buffer |
| Size | the number of bytes to copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffer | the source host buffer |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| SrcBuffer | the source host buffer |
| Size | the number of bytes to copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the same data to all the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| SrcBuffer | the source host buffer |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the name of the destination DPU symbol |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set.
| DstSymbol | the destination DPU symbol |
| SrcBuffers | the source host buffers (one per DPU in the set) |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| SrcSymbol | the name of the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| SrcSymbol | the name of the source DPU symbol |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| SrcSymbol | the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| Size | the number of bytes to copy |
| SrcSymbol | the source DPU symbol |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| SrcSymbol | the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set.
| DstBuffers | the destination host buffers (one per DPU in the set) |
| SrcSymbol | the source DPU symbol |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the name of the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| get_block_info | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the name of the destination DPU symbol |
| get_block_info | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffer |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the name of the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| f | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the name of the destination DPU symbol |
| f | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| get_block_info | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffers |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the name of the destination DPU symbol |
| get_block_info | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffer |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the destination DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| f | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffers |
|
inline |
Copy the different buffers to the DPUs in the set with a scatter/gather transfer.
| DstSymbol | the destination DPU symbol |
| f | the function to get the block information |
| Size | the number of bytes to copy |
| length_check | check the length of the buffers |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| get_block_info | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| get_block_info | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| f | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| f | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| get_block_info | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| get_block_info | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| f | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| Offset | offset from the start of the symbol where to start the copy |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Copy data from the DPUs in the set with a scatter-gather transfer.
| f | the callback function to get the destination buffers |
| Size | the number of bytes to copy |
| SrcSymbol | the name of the source DPU symbol |
| length_check | check the length of the buffers |
| DpuError | when the symbol is not big enough for the data |
|
inline |
Execute a DPU program.
| DpuError | when the DPU execution triggers a fault. |