We will use the below function to implement the matrix multiplication logic in the AI Engine: For more information on MMUL API, please refer to the UG1079
Function Code:
Graph Code:
Simple_Graph()
{
in0 = adf::input_plio::create("DataIn1", adf::plio_32_bits, "../data_srcs/MatrixA.txt");
in1 = adf::input_plio::create("DataIn2", adf::plio_32_bits, "../data_srcs/MatrixB.txt");
out_put = adf::output_plio::create("DataOut1", adf::plio_32_bits, "../data_srcs/ouput.txt");
k1 = kernel::create(MatMul);
source(k1) = "../design_srcs/MatMul.cpp";
runtime<ratio>(k1) = 0.9;
connect(in1.out[0],k1.in[0]);
connect(in2.out[0],k1.in[1]);
connect(k1.out[0],out_put.in[0]);
dimensions(k1.in[0])={16};
dimensions(k1.in[1])={4};
dimensions(k1.out[0])={4};
}