L3 API testΒΆ

Vitis BLAS level 3 provides an automatic test flow that could be run by simple one line command:

python run_test.py --shell SHELL_NAME --operator OPERATOR_NAME1 ...

The whole test flow includes 3 parts: 1) build the executable 2) generate input files and golden reference using python numpy library and save in bin files 3) run hw and compare with the golden reference.

For each operator that is available in level 3, profile json file could be found in test/xf_blas/OPERATOR_NAME/profile.json. Users could modify values in that file to run tests with different data types, different matrix sizes, different value range and so on.

Following is an example json file for operator gemm:

{
  "dataTypes": [
    "int16",
    "float32"
  ],
  "op": "gemm",
  "matrixDims": [
    [128, 128, 128],
    [1024, 256, 256]
  ],
  "valueRange": [
    -1024,
    1024
  ]
}