Global Namespace¶
Overview¶
// namespaces namespace std namespace xf namespace xf::blas // macros #define IDX2R( \ i, \ j, \ ld \ )
Global Functions¶
xfblasFreeInstr¶
#include "xf_blas/api.hpp"
void xfblasFreeInstr ( unsigned int kernelIndex, unsigned int deviceIndex )
This function frees instrution.
Parameters:
| kernelIndex | index of kernel that is being used, default is 0 |
| deviceIndex | index of device that is being used, default is 0 |
| xfblasStatus_t | 0 if the operation completed successfully |
| xfblasStatus_t | 1 if the library was not initialized |
xfblasDestroy¶
#include "xf_blas/api.hpp"
void xfblasDestroy ( unsigned int kernelNumber, unsigned int deviceIndex )
This function releases handle used by the XFBLAS library.
Parameters:
| kernelNumber | number of kernels that is being used, default is 1 |
| deviceIndex | index of device that is being used, default is 0 |
| xfblasStatus_t | 0 if the shut down succeeded |
| xfblasStatus_t | 1 if the library was not initialized |
xfblasFree¶
#include "xf_blas/api.hpp"
void xfblasFree ( void* A, unsigned int kernelIndex, unsigned int deviceIndex )
This function frees memory in FPGA device.
Parameters:
| A | pointer to matrix A in the host memory |
| kernelIndex | index of kernel that is being used, default is 0 |
| deviceIndex | index of device that is being used, default is 0 |
| xfblasStatus_t | 0 if the operation completed successfully |
| xfblasStatus_t | 1 if the library was not initialized |
| xfblasStatus_t | 3 if there is no FPGA device memory allocated for the matrix |
xfblasGetByAddress¶
#include "xf_blas/api.hpp"
bool xfblasGetByAddress ( void* A, unsigned long long p_bufSize, unsigned int offset, unsigned int kernelIndex, unsigned int deviceIndex )
This function copies a matrix in FPGA device memory to host memory by its address in device memory.
Parameters:
| A | pointer to matrix A in the host memory |
| p_bufSize | size of matrix A |
| offset | A’s address in device memory |
| kernelIndex | index of kernel that is being used, default is 0 |
| deviceIndex | index of device that is being used, default is 0 |
| xfblasStatus_t | 0 if the operation completed successfully |
| xfblasStatus_t | 1 if the library was not initialized |
| xfblasStatus_t | 3 if there is no FPGA device memory allocated for the matrix |
xfblasExecuteAsync¶
#include "xf_blas/api.hpp"
void xfblasExecuteAsync ( unsigned int numkernels, unsigned int deviceIndex )
This asynchronous function starts all kernels and wait until them finish.
Parameters:
| numKernels | number of kernels that is being used, default is 1 |
| deviceIndex | index of device that is being used, default is 0 |
xfblasExecute¶
#include "xf_blas/api.hpp"
bool xfblasExecute ( unsigned int kernelIndex, unsigned int deviceIndex )
This function starts the kernel and wait until it finishes.
Parameters:
| kernelIndex | index of kernel that is being used, default is 0 |
| deviceIndex | index of device that is being used, default is 0 |
| xfblasStatus_t | 0 if the operation completed successfully |
| xfblasStatus_t | 1 if the library was not initialized |
| xfblasStatus_t | 3 if there is no FPGA device memory allocated for instrution |