You could safely skip this step as it is integrated with the one in the next step if you choose to use random data for the benchmark. Here states the principle of how it works. With the following commands with given vector size e.g. 1024, three data files are generated under directory ./build_dir.hw.xilinx_u50_gen3x16_xdma_201920_3/data/.
- It generates a random SPD matrix of size NxN with data type FP64 and then stores the data in a row-major to file A.mat.
- It generates a random FP64 vector of size N and then compute vector b = Ax.
- The two vectors are stored into files x.mat and b.mat respectively.
Matrix A and vector b are used as inputs for the solver, and vector x is used as the golden reference.
$ make data_gen TARGET=hw PLATFORM=xilinx_u50_gen3x16_xdma_201920_3 N=1024
where N is the vector size and must be multiple of 16.