Global Namespace¶
Overview¶
// namespaces namespace std namespace xf namespace xf::blas // typedefs typedef xf::blas::TimeStamp <BLAS_numInstr> TimeStampType // macros #define IDX2R( \ i, \ j, \ ld \ )
Global Functions¶
blasKernel¶
#include "xf_blas/kernel.hpp"
void blasKernel ( DdrIntType* p_DdrRd, DdrIntType* p_DdrWr )
blasKernel is the uniform top function for blas function kernels with interfaces to DDR/HBM memories
Parameters:
p_DdrRd |
the memory port for data loading |
p_DdrWr |
the memory port for data writing |
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 |