Giter Club home page Giter Club logo

gemm_hls's Introduction

Scalable matrix matrix multiplication on FPGA

DOI

This repository includes a pure Vitis HLS implementation of matrix-matrix multiplication (A*B=C) for Xilinx FPGAs, using Xilinx Vitis to instantiate memory and PCIe controllers and interface with the host.

Experiments run on a VCU1525 achieved 462 GFLOP/s, 301 GFLOP/s and 132 GFLOP/s for half, single, and double precision, respectively, with routing across the three SLRs being the primary bottleneck preventing further scaling. The code is not device-specific, and can be configured for any Xilinx FPGA supported by the Xilinx OpenCL runtime. Kernels have also been verified to execute on TUL KU115, Alveo U250, and Alveo U280 boards with similar results.

The implementation uses a systolic array approach, where linearly connected processing elements compute distinct contributions to the outer product of tiles of the output matrix.

The approach used to implement this kernel was presented at FPGA'20 [1]. For a general description of the optimization techniques that we apply, we refer to our article on HLS transformations [2]. We also gave a tutorial on HLS for HPC at SC'21, ISC'21, SC'20, HiPEAC'20, SC'19, SC'18, and PPoPP'18.

Downloading the code

This project uses the open source Vivado HLS extension library hlslib [3] for simulation, vectorization, finding Xilinx tools, host-side integration and more.

Since hlslib is included as a submodule, make sure you clone with --recursive or grab it after cloning with:

git submodule update --init 

Prerequisites

To build and run kernels in hardware, Xilinx Vitis must be installed and available on the PATH (tested on Alveo U250 and Alveo U280 with version 2021.1).

Configuration and running

This project is configured and built using CMake. Most parameters must be set at configuration-time, as they are used to specialize the hardware.

An example of configuring and building the kernel and executing it in hardware is shown below (starting from the source directory):

mkdir build
cd build
cmake ../ -DMM_DATA_TYPE=float -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512
make
make hw
./RunHardware.exe 1024 1024 1024 hw

Matrix sizes use the convention that A: NxK, B: KxM, and C: NxM.

Per default the build targets the Alveo U250 acceleration board, but this can be configured using the MM_PLATFORM CMake parameter.

The implementation is not restricted to use multiplication and addition as operators. To use other operators, for example addition and minimum to implement the distance product, specify them using the MM_MAP_OP and MM_REDUCE_OP CMake parameters, respectively. To see which operators are pre-implemented, and examples of how to implement new operators, see hlslib/include/hlslib/xilinx/Operators.h.

Selecting tile sizes

See our publication at FPGA'20 [1] on how to choose tile sizes for optimal fast memory and compute utilization.

Parallel performance

The amount of parallelism in the code is determined by the MM_PARALLELISM_N and MM_PARALLELISM_M configuration variables. The former determines the number of processing element instantiated, and the latter regulates the vector width/granularity of each processing element. MM_PARALLELISM_M should be set to a maximum of 64 bytes / sizeof(<your operand>) (i.e., 8 for float or int, 4 for double or long, 16 for 16-bit int, etc.) to avoid performance and routing issues.

The expected performance in Op/s (FLOP/s in the case of floating point types) of a given configuration can be computed as:

2 * MM_PARALLELISM_N * MM_PARALLELISM_M * Frequency

In practice, MM_PARALLELISM_N buffered values of A are applied to MM_PARALLELISM_M values of B.

Bugs

If you experience bugs, or have suggestions for improvements, please use the issue tracker to report them.

Publication

If this code has been useful to your research, please consider citing us:

BibTeX:

@inproceedings{mmm_hls,
  title={Flexible Communication Avoiding Matrix Multiplication on FPGA with High-Level Synthesis},
  author={de~Fine~Licht, Johannes and Kwasniewski, Grzegorz and Hoefler, Torsten},
  booktitle={The 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'20)},
  year={2020}
}

Plain text:

Johannes de Fine Licht, Grzegorz Kwasniewski, and Torsten Hoefler. "Flexible Communication Avoiding Matrix Multiplication on FPGA with High-Level Synthesis." In Proceedings of the 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'20).

References

[1] Johannes de Fine Licht, Grzegorz Kwasniewski, and Torsten Hoefler, "Flexible Communication Avoiding Matrix Multiplication on FPGA with High-Level Synthesis", in Proceedings of 28th ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA'20), 2020.

[2] Johannes de Fine Licht, Maciej Besta, Simon Meierhans, and Torsten Hoefler. "Transformations of High-Level Synthesis Codes for High-Performance Computing." IEEE Transactions on Parallel and Distributed Systems (TPDS), Vol. 32, Issue 5, 2021.

[3] Johannes de Fine Licht, and Torsten Hoefler. "hlslib: Software Engineering for Hardware Design.", presented at the Fifth International Workshop on Heterogeneous High-performance Reconfigurable Computing (H2RC'19).

gemm_hls's People

Contributors

definelicht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gemm_hls's Issues

Cannot apply disaggregate issue? (with Vitis 2022.1 on U250)

Hi-

With the new 2022.1 version, I got something Error during synthesizing MatrixMultiplicationKernel.

INFO: [HLS 214-131] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 8>, 0ul, (hlslib::Storage)0>::Stream()' into 'MatrixMultiplicationKernel' (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:47:26)
INFO: [HLS 214-131] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 8>, 0ul, (hlslib::Storage)0>::Stream(char const*)' into 'MatrixMultiplicationKernel' (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:91:26)
INFO: [HLS 214-210] Disaggregating variable 'cMemory' (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:111:52)
INFO: [HLS 214-210] Disaggregating variable 'bMemory' (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:43:52)
ERROR: [HLS 214-177] in function 'MatrixMultiplicationKernel': Cannot apply disaggregate pragma/directive on object 'aSplit' as there is an unresolved Phi node on it (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:117:1)
ERROR: [HLS 214-177] in function 'MatrixMultiplicationKernel': Cannot apply disaggregate pragma/directive on object 'aPipes' as there is an unresolved Phi node on it (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:117:1)
ERROR: [HLS 214-177] in function 'MatrixMultiplicationKernel': Cannot apply disaggregate pragma/directive on object 'bPipes' as there is an unresolved Phi node on it (/home/lab/yong/SoonToBeRemoved/gemm_hls/kernel/Top.cpp:117:1)
ERROR: [HLS 200-1715] Encountered problem during source synthesis
INFO: [HLS 200-111] Finished Command csynth_design CPU user time: 22.37 seconds. CPU system time: 2.4 seconds. Elapsed time: 22.58 seconds; current allocated memory: -1025.930 MB.
Pre-synthesis failed.

After I added #pragma HLS aggregate variable=aSplit and do the same thing for the other variables (i.e. aPipes, bPipes), the synthesis has been also falied.

undefined reference to cblas_sgemm

I see this during make

RunHardware.cpp:(.text+0x1504): undefined reference to `cblas_sgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, float, float const*, int, float const*, int, float, float*, int)'

from cmake I see these BLAS libraries included

/usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so

is this correct? Should I be seeing different libraries?

Floating point exception when running the design for uint8_t

Hello,

Thanks for the awesome repo. That's a very well written code. 👍
I have synthesized the design for uint8_t, it synthesized correctly but gave me a floating point exception (core dump) when running the application. This is probably due to the division operation during verification where (diff / refVal). For uint8_t the refVal can become 0 and thus can give exception while running. It does make sense to have such division for float but it crashes when running it for uint8_t.

For uint8_t we can just have a check if diff > 0, in that case, a true will be a mismatch.

Thanks
kaustubh

Syntax of command line options changed

When generating the kernel, Vitis emits the following warnings:

WARNING: [v++ 60-1600] The option 'max_memory_ports' was used directly on the command line, where its usage is deprecated. To ensure input line works for supported operating systems or shells, v++ supports specification for some options in a configuration file. As an alternative, please use 'hls.max_memory_ports' in a configuration file.
WARNING: [v++ 60-1600] The option 'xp' was used directly on the command line, where its usage is deprecated. To ensure input line works for supported operating systems or shells, v++ supports specification for some options in a configuration file. As an alternative, please use options 'advanced.*', 'vivado.*' in a configuration file. Use one or more configuration files along with section headers to define key-value pairs for the advanced properties or parameters. Specify a configuration file using '--config'.
INFO: [v++ 84-14] Sample config file already exists. To regenerate, remove file 'sample_compile.ini'.

These options need to be adapted to the new Vitis syntax.

How to increase the performance when there is constraint on MM_TRANSPOSE_A=OFF

Hi,

I'm using a GEMM with tile size 512 for xtot and ytot. But if I use C=AB mode(MM_TRANSPOSE_A=OFF), since A is column based and need to be transposed on chip, there is constraint that "the number of inner tiles must be greater than or equal to the outer tile size in N", this limited the number of PEs and the parallelism of B input, which also limited the GEMM performance. I also thought of using C=A.T*B instead but this doesn't work for me with changing the computation mathematically.

Is there any way to break the constraint, e.g. increase the A bandwidth, etc.? And how is the constraint formula deduced, what's its meaning? Thank you!

How to use “v++ --config” to configure the kernel via cmake?

Hi, de fine licht
It is indeed convenient to use cmake. However, I would like to use "v++ --config" to configure the kernels and allocate storage according to the xilinx tutorial on vitis. I tried to read the generated makefile, but it confused me. Can you provide some ideas, thanks!

Untitled
Untitled2

"Failed to initialize device memory."

Hi, I've successfully built and run the design in an Alveo U50 board up to certain matrix sizes. But when I increase the problem size I'm getting the following error:

$ ./RunHardware.exe 8192 4096 8192 hw off

[XRT] ERROR: std::bad_alloc
Execution failed with error: "Failed to initialize device memory.".

For smaller sizes, for example 4096 2048 4096 it works fine.

All sources and configuration are the original except for the MM_PART_NAME and MM_DSA_NAME which were modified to match the board. This is the cmake command I've used:

cmake ../ -DMM_DATA_TYPE=float -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512

What may be causing this issue?

precondition checking

I was skimming through the codes and noticed that in test/TestSimulation.cpp we have this :

if (size_k % kMemoryWidthK != 0) {
    std::cerr << "K must be divisable by memory width." << std::endl;
    return 1;
  }

But the kernel reads data from respective input tensors with MM_TRANSPOSE_WIDTH as the burst length.
I might be missing something obvious but it seems like there might be a possibility for kMemoryWidthK to be less than MM_TRANSPOSE_WIDTH, in which case test/TestSimulation.cpp should be updated to this:

if (size_k % MM_TRANSPOSE_WIDTH != 0) {
...
  }

Again, I might be wrong.
btw, fantastic design, learned a lot from it.

No platform found in path

Hi,
When I run the gemm_hls project, the system reported an error:"No platform found in path /home/***/Xilinx/Vitis/2021.1/platforms", how can I solve the problem? Thank you!

Here is the detail:

cmake ../ -DMM_DATA_TYPE=float -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512

-- Using user defined Xilinx Runtime (XRT) directory "/home/aaa/Xilinx/XRT-master/build/Debug/opt/xilinx/xrt".
-- Looking for CL_VERSION_2_2
-- Looking for CL_VERSION_2_2 - found
-- Found OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (found version "2.2")
-- Found Vitis: /home/***/Xilinx/Vitis/2021.1/bin/v++
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
-- Querying default clock for xilinx_u250_gen3x16_xdma_3_1_202020_1.
No platform found in path /home/aaa/Xilinx/Vitis/2021.1/platforms
CMake Error at CMakeLists.txt:124 (string):
string begin index: -1 is out of range 0 - 0

-- Querying Vitis platform for MatrixMultiplication.
No platform found in path /home/aaa/Xilinx/Vitis/2021.1/platforms
CMake Warning at hlslib/cmake/FindVitis.cmake:438 (message):
Xilinx platform xilinx_u250_gen3x16_xdma_3_1_202020_1 was not found.
Please consult "/home/aaa/Xilinx/Vitis/2021.1/bin/platforminfo -l" for a
list of installed platforms.
Call Stack (most recent call first):
CMakeLists.txt:198 (add_vitis_program)

Vitis breaks unrolling of PEs when running synthesis

When running HLS with Vitis, the tool automatically inlines the ProcessingElement function, even when explicitly specifying #pragma HLS inline off, which fundamentally breaks the code, as they will not run in parallel.

From the HLS output:

INFO: [HLS 214-131] Inlining function 'ProcessingElement(hls::stream<hlslib::DataPack<float, 1>, 0>&, hls::stream<hlslib::DataPack<float, 1>, 0>&, hls::stream<hlslib::DataPack<float, 4>, 0>&,
 hls::stream<hlslib::DataPack<float, 4>, 0>&, hls::stream<hlslib::DataPack<float, 4>, 0>&, hls::stream<hlslib::DataPack<float, 4>, 0>&, unsigned int, unsigned int, unsigned int, unsigned int)
' into 'MatrixMultiplicationKernel' (/home/definelj/dev/gemm_hls/kernel/Compute.cpp:339:2)

For now, just throw an error if trying to compile with Vitis, until there's a solution on how to represent this now.

When compiling with v++ instead of vitis_hls, the processing elements seem to be generated correctly. However, even when pasting all settings from the synthesis script used by v++, vitis_hls throws the same error. For now, disable the synthesis target and rely on compile_hardware.

cmake message typo

Hi there,

I just noticed a minor typo in the main CMake script:

math(EXPR MM_REM "${MM_SIZE_N} % ${MM_MEMORY_TILE_SIZE_N}")
if(MM_REM GREATER 0)
  message(FATAL_ERROR "Size in N (${MM_SIZE_M}) must be divisible by memory tile size in N (${MM_MEMORY_TILE_SIZE_N}).")
endif()

MM_SIZE_M should be replaced with MM_SIZE_N

CMake fails at `target_compile_definitions`

I'm getting an error when running cmake (version 3.3.2) with the flag MM_TWO_DIMMS set:

$ cmake ../ -DMM_DATA_TYPE=float -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N
=512 -DMM_MEMORY_TILE_SIZE_M=512 -DMM_TWO_DIMMS="TRUE"
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of float
-- Check size of float - done
-- Found Xilinx Runtime (XRT): /opt/xilinx/xrt
-- Looking for CL_VERSION_2_0
-- Looking for CL_VERSION_2_0 - found
-- Found OpenCL: /usr/lib/x86_64-linux-gnu/libOpenCL.so (found version "2.0") 
-- Found Vitis: /home2/ffavaro/tools/Xilinx/Vitis/2019.2/bin/v++  
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
CMake Error at CMakeLists.txt:275 (target_compile_definitions):
  target_compile_definitions called with invalid arguments


-- Configuring incomplete, errors occurred!
See also "/home2/ffavaro/ws_vitis/gemm_hls_dbg/gemm_hls/build/CMakeFiles/CMakeOutput.log".
See also "/home2/ffavaro/ws_vitis/gemm_hls_dbg/gemm_hls/build/CMakeFiles/CMakeError.log".

The cause is a missing keyword in the line:

target_compile_definitions(RunHardware.exe MM_TWO_DIMMS)

I added the PUBLIC keyword and it runned succesfully: target_compile_definitions(RunHardware.exe PUBLIC MM_TWO_DIMMS)

CMake for Vivado_HLS

Can anyone please help me in solving the following issue..

CMake Warning at hlslib/cmake/FindVitis.cmake:106 (message):
vitis_hls used from Vitis 2020.1 and onwards introduces breaking changes to
hls::stream. Please pass -D__VITIS_HLS__ or -D__VIVADO_HLS__ in your
synthesis script depending on which tool you are using to always use a
working version.
Call Stack (most recent call first):
CMakeLists.txt:78 (find_package)

CMake Error at /home/prachi/.local/lib/python2.7/site-packages/cmake/data/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
Could NOT find Vitis (missing: Vitis_COMPILER Vitis_HLS Vitis_INCLUDE_DIRS
Vitis_LIBRARIES Vitis_FLOATING_POINT_LIBRARY Vitis_VERSION
Vitis_MAJOR_VERSION Vitis_MINOR_VERSION Vitis_PLATFORMINFO)
Call Stack (most recent call first):
/home/prachi/.local/lib/python2.7/site-packages/cmake/data/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
hlslib/cmake/FindVitis.cmake:277 (find_package_handle_standard_args)
CMakeLists.txt:78 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/prachi/gemm_hls/build/CMakeFiles/CMakeOutput.log".

Half precision support

Hello

I wanna build the project with 'half precision' datatype, so i try

"cmake ../ -DMM_DATA_TYPE=half -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512"

But it fails during synthesis ("make synthesis" on command line) with the

INFO: [HLS 200-10] Analyzing design file '/home/lab/yong/gemm_hls/kernel/Compute.cpp' ...
ERROR: [HLS 214-124] use of undeclared identifier 'Data_t': /home/lab/yong/gemm_hls/build/Config.h:34
ERROR: [HLS 214-124] use of undeclared identifier 'Data_t': /home/lab/yong/gemm_hls/build/Config.h:35

How can I synthesize with half-precision?
btw, very nice design, learned a lot from it.

CMakeList parameter configuration

Hi Johannes,
Thanks a lot for your help on answering the gemm_hls and hlslib project questions in recent days. I have a question on the parameter configuration for the GEMM. Then I explored the GEMM parameter, but the result is far from the result provided in Tab.2 in the paper, so my questions are:

  1. What's your parameter configuration details for Tab.2?
  2. From my understanding, the xb, yb in the paper is kInnerTilesN, kInnerTilesM in the code, and xm, ym is OuterTilesN(size_n), OuterTilesM(size_m) in the code, xp is number of PEs, and yc is number of parallel MAC units in each PEs. But what's the meaning of xbxm, ybym in Tab.2?
  3. How is the performance in Tab.2 calculated? Does the latency for calculating performance cover the the whole processing period, including data read and write back?
    These are my questions, and looking forward to your reply.

P.S. Thanks very much for the project. It saved me a lot of time for implementing my project, and the code is really nice, I like it!

How to build GEMM on zcu102 platform

Hi all, I tried to build gemm_hls on ZCU102 platform using SDx 2018.2.
First, I modified the CMakeLists.txt which is in the gemm_hls-master project:

Target options

set(MM_PART_NAME "xczu9eg-ffvb1156-2-e" CACHE STRING "Part name for HLS.")
set(MM_DSA_NAME "zcu102" CACHE STRING "DSA string for xocc.")
set(MM_TARGET_CLOCK 250 CACHE STRING "Target clock for kernel (<=0 uses DSA default).")
set(MM_TARGET_CLOCK_UNCERTAINTY 1.08 CACHE STRING "Clock uncertainty for HLS.")

Then, I compiled the gemm_hls-master, but something get wrong as below when I make link_hardware:
cvg@cvg-XPS-8930:/YJ/gemm_hls-master/build$ cmake ../
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of float
-- Check size of float - done
-- Found SDAccel: /media/cvg/DATA/ProgramFile/SDx/2018.2/bin/xocc
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/cvg/YJ/gemm_hls-master/build
cvg@cvg-XPS-8930:
/YJ/gemm_hls-master/build$ make
Scanning dependencies of target PrintSpecifications
[ 11%] Building CXX object CMakeFiles/PrintSpecifications.dir/src/PrintSpecifications.cpp.o
[ 22%] Linking CXX executable PrintSpecifications
[ 22%] Built target PrintSpecifications
Scanning dependencies of target mmkernel
[ 33%] Building CXX object CMakeFiles/mmkernel.dir/kernel/Compute.cpp.o
[ 44%] Building CXX object CMakeFiles/mmkernel.dir/kernel/Memory.cpp.o
[ 55%] Linking CXX static library libmmkernel.a
[ 55%] Built target mmkernel
Scanning dependencies of target RunHardware.elf
[ 66%] Building CXX object CMakeFiles/RunHardware.elf.dir/host/RunHardware.cpp.o
[ 77%] Linking CXX executable RunHardware.elf
[ 77%] Built target RunHardware.elf
Scanning dependencies of target TestSimulation
[ 88%] Building CXX object CMakeFiles/TestSimulation.dir/test/TestSimulation.cpp.o
[100%] Linking CXX executable TestSimulation
[100%] Built target TestSimulation
cvg@cvg-XPS-8930:~/YJ/gemm_hls-master/build$ make synthesis
Scanning dependencies of target synthesis

****** Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.2 (64-bit)
**** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018
**** IP Build 2256618 on Thu Jun 14 22:10:49 MDT 2018
** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.

source /media/cvg/DATA/ProgramFile/Vivado/2018.2/scripts/vivado_hls/hls.tcl -notrace
INFO: [HLS 200-10] Running '/media/cvg/DATA/ProgramFile/Vivado/2018.2/bin/unwrapped/lnx64.o/vivado_hls'
INFO: [HLS 200-10] For user 'cvg' on host 'cvg-XPS-8930' (Linux_x86_64 version 4.15.0-43-generic) on Wed Apr 10 13:29:08 CST 2019
INFO: [HLS 200-10] On os Ubuntu 18.04.1 LTS
INFO: [HLS 200-10] In directory '/home/cvg/YJ/gemm_hls-master/build'
INFO: [HLS 200-10] Creating and opening project '/home/cvg/YJ/gemm_hls-master/build/hls'.
INFO: [HLS 200-10] Creating and opening solution '/home/cvg/YJ/gemm_hls-master/build/hls/xczu9eg-ffvb1156-2-i'.
INFO: [HLS 200-10] Setting target device to 'xczu9eg-ffvb1156-2-i'
INFO: [HLS 200-10] Adding design file '/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp' to the project
INFO: [HLS 200-10] Adding design file '/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp' to the project
INFO: [SYN 201-201] Setting up clock 'default' with a period of 4ns.
INFO: [SYN 201-201] Setting up clock 'default' with an uncertainty of 1.08ns.
INFO: [XFORM 203-1171] Pipeline the innermost loop with trip count more than 64 or its parent loop when its trip count is less than or equal 64.
INFO: [XFORM 203-1161] The maximum of name length is set into 256.
INFO: [SCHED 204-61] Option 'relax_ii_for_timing' is enabled, will increase II to preserve clock frequency constraints.
INFO: [HLS 200-10] Analyzing design file '/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp' ...
WARNING: [HLS 214-114] Only function calls and local variable declarations are allowed in a dataflow region: /home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:301:25
INFO: [HLS 200-10] Analyzing design file '/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp' ...
INFO: [HLS 200-111] Finished Linking Time (s): cpu = 00:00:17 ; elapsed = 00:00:18 . Memory (MB): peak = 375.648 ; gain = 0.098 ; free physical = 13004 ; free virtual = 16446
INFO: [HLS 200-111] Finished Checking Pragmas Time (s): cpu = 00:00:17 ; elapsed = 00:00:18 . Memory (MB): peak = 375.648 ; gain = 0.098 ; free physical = 13004 ; free virtual = 16446
INFO: [HLS 200-10] Starting code transformations ...
INFO: [XFORM 203-501] Unrolling loop 'Unroll_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:119) in function 'ProcessingElement(hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>&, hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>&, hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>&, hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>&, hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>&, hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>&, unsigned int, unsigned int, unsigned int, unsigned int)' completely.
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:23).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:90).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:107).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:113).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'TotalReadsFromA' (/home/cvg/YJ/gemm_hls-master/include/MatrixMultiplication.h:123).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:172).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:177).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:281).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:286).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'TotalReadsFromB' (/home/cvg/YJ/gemm_hls-master/include/MatrixMultiplication.h:131).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'WriteC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:378).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'WriteC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:382).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:413).
INFO: [XFORM 203-603] Inlining function 'OuterTilesN' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:417).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:23).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:90).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:107).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:115).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'TotalReadsFromA' (/home/cvg/YJ/gemm_hls-master/include/MatrixMultiplication.h:123).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:172).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:179).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:281).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:288).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'TotalReadsFromB' (/home/cvg/YJ/gemm_hls-master/include/MatrixMultiplication.h:131).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'WriteC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:378).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'WriteC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:384).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:413).
INFO: [XFORM 203-603] Inlining function 'OuterTilesM' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:418).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromA' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:107).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromA' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:172).
INFO: [XFORM 203-603] Inlining function 'SizeKMemory' into 'IndexA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:17).
INFO: [XFORM 203-603] Inlining function 'SizeKMemory' into 'IndexA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:19).
INFO: [XFORM 203-603] Inlining function 'IndexA' into '_ReadAInner' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:65).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 16>::operator[]' into 'ConvertWidthC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:362).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 16>::operator[]' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:332).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 16>::operator[]' into '_ReadAInner' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:69).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 16>::Get' into 'hlslib::(anonymous namespace)::DataPackProxy<float, 16>::operator float' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:227).
INFO: [XFORM 203-603] Inlining function 'hlslib::(anonymous namespace)::DataPackProxy<float, 16>::operator float' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:332).
INFO: [XFORM 203-603] Inlining function 'hlslib::(anonymous namespace)::DataPackProxy<float, 16>::operator float' into 'ReadAInner' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:69).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::WriteBlocking.1' into 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::WriteBlocking' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::WriteBlocking' into 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::Push' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::Push' into 'ReadAInner' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:69).
INFO: [XFORM 203-603] Inlining function 'ReadAInner' into 'ReadAInnerLoop<1u>' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:99).
INFO: [XFORM 203-603] Inlining function 'ReadAInnerLoop<1u>' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:122).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 1>::operator[].1' into 'TransposeAInner<1u>' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:160).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::ReadBlocking' into 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::Pop' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:284).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<float, 512u, (hlslib::Storage)0>::Pop' into 'TransposeAInner<1u>' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:160).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 1>::Set' into 'hlslib::(anonymous namespace)::DataPackProxy<float, 1>::operator=' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:212).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::WriteBlocking.1' into 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::WriteBlocking' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::WriteBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Push' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Push' into 'TransposeAInner<1u>' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:161).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Push' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:104).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Push' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:52).
INFO: [XFORM 203-603] Inlining function 'TransposeAInner<1u>' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:182).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:281).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:310).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:310).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:313).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:313).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:319).
INFO: [XFORM 203-603] Inlining function 'TotalReadsFromB' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:413).
INFO: [XFORM 203-603] Inlining function 'SizeMMemory' into 'IndexB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:42).
INFO: [XFORM 203-603] Inlining function 'SizeMMemory' into 'IndexB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:43).
INFO: [XFORM 203-603] Inlining function 'SizeMMemory' into 'IndexC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:51).
INFO: [XFORM 203-603] Inlining function 'SizeMMemory' into 'IndexC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:53).
INFO: [XFORM 203-603] Inlining function 'IndexB' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:296).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::WriteBlocking.1' into 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::WriteBlocking' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::WriteBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::Push' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::Push' into 'ConvertWidthC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:365).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::Push' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:296).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::ReadBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::Pop' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:284).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::Pop' into 'WriteC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:391).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 16>, 32u, (hlslib::Storage)0>::Pop' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:326).
INFO: [XFORM 203-603] Inlining function 'ZN6hlslib12_GLOBAL__N_113DataPackProxyIfLi4EEC2ERNS_8DataPackIfLi4EEEi80' into 'ZN6hlslib8DataPackIfLi4EEixEm72' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:242).
INFO: [XFORM 203-603] Inlining function 'ZN6hlslib8DataPackIfLi4EEixEm72' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:332).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::Set' into 'hlslib::(anonymous namespace)::DataPackProxy<float, 4>::operator=.1' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:212).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::Set' into 'hlslib::DataPack<float, 4>::Fill' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:104).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::Set' into 'hlslib::(anonymous namespace)::DataPackProxy<float, 4>::operator=' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:207).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::WriteBlocking.1' into 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::WriteBlocking' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::WriteBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Push' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Push' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:334).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Push' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:182).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Push' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:169).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::ReadBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Pop' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:284).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Pop' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:437).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Pop' into 'ConvertWidthC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:358).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 1u, (hlslib::Storage)0>::Pop' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:182).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::WriteBlocking.1' into 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::WriteBlocking' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::WriteBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::Push' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::Push' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:442).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::Push' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:115).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::ReadBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Pop' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:284).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Pop' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:94).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Pop' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:59).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 1>, 4u, (hlslib::Storage)0>::Pop' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:48).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::ReadBlocking' into 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::Pop' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:284).
INFO: [XFORM 203-603] Inlining function 'hlslib::Stream<hlslib::DataPack<float, 4>, 4u, (hlslib::Storage)0>::Pop' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:113).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::Fill' into 'hlslib::DataPack<float, 4>::DataPack.2' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:46).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 1>::Get' into 'hlslib::DataPack<float, 1>::operator[]' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:150).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 1>::operator[]' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:131).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::Get' into 'hlslib::DataPack<float, 4>::operator[]' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:150).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::operator[]' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:133).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::operator[]' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:131).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::operator[]' into 'ConvertWidthC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:362).
INFO: [XFORM 203-603] Inlining function 'hlslib::op::Product::Apply<float, float>' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:131).
INFO: [XFORM 203-603] Inlining function 'hlslib::op::Sum::Apply<float const&, float const&>' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:135).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 4>::operator[].1' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:137).
INFO: [XFORM 203-603] Inlining function 'hlslib::DataPack<float, 16>::Set' into 'hlslib::(anonymous namespace)::DataPackProxy<float, 16>::operator=' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:212).
INFO: [XFORM 203-603] Inlining function 'IndexC' into 'WriteC' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:391).
INFO: [HLS 200-111] Finished Standard Transforms Time (s): cpu = 00:00:17 ; elapsed = 00:00:19 . Memory (MB): peak = 504.344 ; gain = 128.793 ; free physical = 12980 ; free virtual = 16424
INFO: [HLS 200-10] Checking synthesizability ...
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'ReadA' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:69->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:99->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:122) automatically.
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'TransposeA' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:161->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:182) automatically.
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'ReadB' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:296) automatically.
INFO: [XFORM 203-602] Inlining function 'ZN6hlslib12_GLOBAL__N_113DataPackProxyIfLi4EED2Ev79' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:332) automatically.
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'ConvertWidthB' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:334) automatically.
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'FeedB' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:442) automatically.
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'ProcessingElement' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:52) automatically.
INFO: [XFORM 203-602] Inlining function 'std::numeric_limits::max' into 'ConvertWidthC' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:380->/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:392->/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:365) automatically.
WARNING: [SYNCHK 200-23] /home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:82: variable-indexed range selection may cause suboptimal QoR.
INFO: [SYNCHK 200-10] 0 error(s), 1 warning(s).
INFO: [HLS 200-111] Finished Checking Synthesizability Time (s): cpu = 00:00:18 ; elapsed = 00:00:19 . Memory (MB): peak = 504.344 ; gain = 128.793 ; free physical = 12964 ; free virtual = 16410
INFO: [XFORM 203-510] Pipelining loop 'ReadA_N2' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:121) in function 'ReadA' automatically.
INFO: [XFORM 203-510] Pipelining loop 'Loop-2' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:278) in function 'MatrixMultiplicationKernel' automatically.
INFO: [XFORM 203-510] Pipelining loop 'Loop-3' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:281) in function 'MatrixMultiplicationKernel' automatically.
INFO: [XFORM 203-502] Unrolling all sub-loops inside loop 'ConvertWidthB_Memory' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:322) in function 'ConvertWidthB' for pipelining.
INFO: [XFORM 203-502] Unrolling all sub-loops inside loop 'Loop-1.1' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:355) in function 'ConvertWidthC' for pipelining.
INFO: [XFORM 203-502] Unrolling all sub-loops inside loop 'ReadA_N2' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:121) in function 'ReadA' for pipelining.
INFO: [XFORM 203-502] Unrolling all sub-loops inside loop 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41) in function 'ProcessingElement' for pipelining.
INFO: [XFORM 203-502] Unrolling all sub-loops inside loop 'Pipeline_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77) in function 'ProcessingElement' for pipelining.
INFO: [XFORM 203-501] Unrolling loop 'Loop-3' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:331) in function 'MatrixMultiplicationKernel' completely.
INFO: [XFORM 203-501] Unrolling loop 'ConvertWidthB_Compute' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:330) in function 'ConvertWidthB' completely.
INFO: [XFORM 203-501] Unrolling loop 'ConvertWidthB_Compute' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:360) in function 'ConvertWidthC' completely.
INFO: [XFORM 203-501] Unrolling loop 'ReadA_Unroll' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:67) in function 'ReadA' completely.
WARNING: [XFORM 203-503] Cannot unroll loop 'InitializeABuffer_Outer' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:45) in function 'ProcessingElement': cannot completely unroll a loop with a variable trip count.
INFO: [XFORM 203-501] Unrolling loop 'DataPack_Fill' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:102) in function 'ProcessingElement' completely.
INFO: [XFORM 203-501] Unrolling loop 'Unroll_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:128) in function 'ProcessingElement' completely.
INFO: [XFORM 203-102] Automatically partitioning streamed array 'aSplit' .
INFO: [XFORM 203-102] Automatically partitioning streamed array 'aPipes.stream
.V.data
.V' .
INFO: [XFORM 203-102] Automatically partitioning streamed array 'bPipes.stream
.V.data
.V' .
INFO: [XFORM 203-102] Automatically partitioning streamed array 'cPipes.stream
.V.data
.V' .
INFO: [XFORM 203-101] Partitioning array 'cBuffer.data
.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36) in dimension 2 completely.
INFO: [XFORM 203-101] Partitioning array 'aSplit' in dimension 1 completely.
INFO: [XFORM 203-101] Partitioning array 'aPipes.stream
.V.data
.V' in dimension 1 completely.
INFO: [XFORM 203-101] Partitioning array 'bPipes.stream
.V.data
.V' in dimension 1 completely.
INFO: [XFORM 203-101] Partitioning array 'cPipes.stream
.V.data
.V' in dimension 1 completely.
INFO: [XFORM 203-721] Changing loop 'Loop_1_proc' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:278) to a process function for dataflow in function 'MatrixMultiplicationKernel'.
INFO: [XFORM 203-721] Changing loop 'Loop_2_proc' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:281) to a process function for dataflow in function 'MatrixMultiplicationKernel'.
INFO: [XFORM 203-712] Applying dataflow to function 'MatrixMultiplicationKernel', detected/extracted 25 process function(s):
'Loop_1_proc'
'Loop_2_proc'
'ReadA'
'TransposeA'
'ReadB'
'ConvertWidthB'
'FeedB'
'ProcessingElement87'
'ProcessingElement88'
'ProcessingElement89'
'ProcessingElement90'
'ProcessingElement91'
'ProcessingElement92'
'ProcessingElement93'
'ProcessingElement94'
'ProcessingElement95'
'ProcessingElement96'
'ProcessingElement97'
'ProcessingElement98'
'ProcessingElement99'
'ProcessingElement100'
'ProcessingElement101'
'ProcessingElement102'
'ConvertWidthC'
'WriteC'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 4 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement99'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 4 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement99'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 5 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement98'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 5 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement98'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 6 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement97'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 6 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement97'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 7 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement96'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 7 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement96'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 8 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement95'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 8 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement95'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 9 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement94'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 9 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement94'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 10 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement93'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 10 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement93'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 11 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement92'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 11 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement92'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 12 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement91'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 12 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement91'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 13 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement90'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 13 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement90'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 14 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement89'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 14 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement89'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 15 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement88'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 15 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement88'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 16 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement87'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 2 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement101'.
WARNING: [XFORM 203-561] Updating loop upper bound from 16 to 3 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement100'.
WARNING: [XFORM 203-561] Updating loop lower bound from 2 to 3 for loop 'InitializeABuffer_Outer' in function 'ProcessingElement100'.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement99'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement98'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement97'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement96'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement95'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement94'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement93'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement92'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement91'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement90'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement89'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement88'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement87'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement102'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement101'... converting 3 basic blocks.
INFO: [XFORM 203-401] Performing if-conversion on hyperblock from (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:111:76) to (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:77:52) in function 'ProcessingElement100'... converting 3 basic blocks.
INFO: [HLS 200-111] Finished Pre-synthesis Time (s): cpu = 00:00:21 ; elapsed = 00:00:22 . Memory (MB): peak = 504.344 ; gain = 128.793 ; free physical = 12922 ; free virtual = 16371
INFO: [XFORM 203-541] Flattening a loop nest 'WriteC_N1' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:386:58) in function 'WriteC'.
INFO: [XFORM 203-541] Flattening a loop nest 'WriteC_OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:384:60) in function 'WriteC'.
INFO: [XFORM 203-541] Flattening a loop nest 'WriteC_OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:382:58) in function 'WriteC'.
INFO: [XFORM 203-541] Flattening a loop nest 'TransposeA_K' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:181:46) in function 'TransposeA'.
INFO: [XFORM 203-541] Flattening a loop nest 'TransposeA_M0' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:179:60) in function 'TransposeA'.
INFO: [XFORM 203-541] Flattening a loop nest 'TransposeA_N0' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:177:58) in function 'TransposeA'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadB_K' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:290:46) in function 'ReadB'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadB_OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:288:60) in function 'ReadB'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadB_OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:286:58) in function 'ReadB'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadA_N1' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:119:57) in function 'ReadA'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadA_K0' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:117:67) in function 'ReadA'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadA_M0' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:115:60) in function 'ReadA'.
INFO: [XFORM 203-541] Flattening a loop nest 'ReadA_N0' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:113:58) in function 'ReadA'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement99'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement99'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement99'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement99' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement99'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement98'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement98'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement98'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement98' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement98'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement97'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement97'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement97'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement97' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement97'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement96'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement96'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement96'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement96' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement96'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement95'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement95'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement95'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement95' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement95'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement94'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement94'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement94'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement94' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement94'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement93'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement93'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement93'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement93' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement93'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement92'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement92'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement92'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement92' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement92'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement91'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement91'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement91'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement91' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement91'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement90'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement90'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement90'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement90' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement90'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement89'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement89'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement89'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement89' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement89'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement88'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement88'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement88'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement88' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement88'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement87'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement87'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement87'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement87' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement87'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement102'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement102'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement102' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement102'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement101'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement101'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement101'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement101' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement101'.
INFO: [XFORM 203-541] Flattening a loop nest 'InitializeABuffer_Inner' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:41:51) in function 'ProcessingElement100'.
INFO: [XFORM 203-541] Flattening a loop nest 'Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:74:57) in function 'ProcessingElement100'.
INFO: [XFORM 203-541] Flattening a loop nest 'Collapse_K' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:70:46) in function 'ProcessingElement100'.
WARNING: [XFORM 203-542] Cannot flatten a loop nest 'OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:66:60) in function 'ProcessingElement100' :

more than one sub loop.
INFO: [XFORM 203-541] Flattening a loop nest 'OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:64:58) in function 'ProcessingElement100'.
INFO: [XFORM 203-541] Flattening a loop nest 'FeedB_Pipeline_N' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:430:57) in function 'FeedB'.
INFO: [XFORM 203-541] Flattening a loop nest 'FeedB_K' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:425:46) in function 'FeedB'.
INFO: [XFORM 203-541] Flattening a loop nest 'FeedB_OuterTile_M' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:423:48) in function 'FeedB'.
INFO: [XFORM 203-541] Flattening a loop nest 'FeedB_OuterTile_N' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:421:46) in function 'FeedB'.
INFO: [XFORM 203-541] Flattening a loop nest 'ConvertWidthC_Outer' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:351:77) in function 'ConvertWidthC'.
INFO: [XFORM 203-541] Flattening a loop nest 'ConvertWidthB_Outer' (/home/cvg/YJ/gemm_hls-master/kernel/Memory.cpp:319:75) in function 'ConvertWidthB'.
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'aBuffer.data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:33).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
WARNING: [ANALYSIS 214-52] Found false inter dependency for variable 'cBuffer[0].data_.V' (/home/cvg/YJ/gemm_hls-master/kernel/Compute.cpp:36).
INFO: [XFORM 203-811] Inferring multiple bus burst write of a total cumulative length 16 on port 'memory.data_.V' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/DataPack.h:56:2). These data requests might be further partitioned to multiple requests during RTL generation, based on max_read_burst_length or max_write_burst_length settings.
INFO: [XFORM 203-811] Inferring multiple bus burst read of a total cumulative length 16 on port 'memory.data_.V' (/home/cvg/YJ/gemm_hls-master/hlslib/include/hlslib/xilinx/Stream.h:343:2). These data requests might be further partitioned to multiple requests during RTL generation, based on max_read_burst_length or max_write_burst_length settings.
INFO: [HLS 200-111] Finished Architecture Synthesis Time (s): cpu = 00:00:26 ; elapsed = 00:00:27 . Memory (MB): peak = 717.754 ; gain = 342.203 ; free physical = 12696 ; free virtual = 16145
INFO: [HLS 200-10] Starting hardware synthesis ...
INFO: [HLS 200-10] Synthesizing 'MatrixMultiplicationKernel' ...
WARNING: [SYN 201-103] Legalizing function name 'MatrixMultiplicationKernel.entry6' to 'MatrixMultiplicationKernel_entry6'.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'MatrixMultiplicationKernel_entry6'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 27.25 seconds; current allocated memory: 376.095 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.01 seconds; current allocated memory: 376.171 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ReadA'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'ReadA_N0_ReadA_K0_ReadA_N1_ReadA_N2'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 12.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.29 seconds; current allocated memory: 376.821 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.11 seconds; current allocated memory: 377.685 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'TransposeA'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'TransposeA_N0_TransposeA_K_L'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.37 seconds; current allocated memory: 378.288 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.06 seconds; current allocated memory: 378.732 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ReadB'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'ReadB_OuterTile_N_ReadB_K_ReadB_BufferB_M1'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 11.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.14 seconds; current allocated memory: 379.156 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.07 seconds; current allocated memory: 379.553 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ConvertWidthB'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'ConvertWidthB_Outer_ConvertWidthB_Memory'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.16 seconds; current allocated memory: 380.083 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.07 seconds; current allocated memory: 380.480 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'FeedB'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'FeedB_OuterTile_N_FeedB_K_FeedB_Pipeline_N_FeedB_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.15 seconds; current allocated memory: 380.899 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.06 seconds; current allocated memory: 381.195 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement87'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.34 seconds; current allocated memory: 382.371 MB.
INFO: [HLS 200-434] Only 3 loops out of a total 4 loops have been pipelined in this design.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.22 seconds; current allocated memory: 383.464 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement88'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.44 seconds; current allocated memory: 384.537 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 385.570 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement89'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.45 seconds; current allocated memory: 386.682 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 387.745 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement90'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.45 seconds; current allocated memory: 388.823 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 389.852 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement91'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.45 seconds; current allocated memory: 390.949 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 392.013 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement92'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.45 seconds; current allocated memory: 393.098 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 394.123 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement93'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 395.217 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 396.280 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement94'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 397.375 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 398.402 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement95'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 399.484 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 400.552 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement96'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 401.629 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 402.666 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement97'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 403.782 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 404.803 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement98'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 405.894 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 406.919 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement99'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 408.048 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 409.072 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement100'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 410.164 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 411.189 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement101'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.46 seconds; current allocated memory: 412.303 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 413.327 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ProcessingElement102'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'InitializeABuffer_Inner'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [SCHED 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.4 seconds; current allocated memory: 414.316 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.19 seconds; current allocated memory: 415.261 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'ConvertWidthC'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'ConvertWidthC_Outer_L'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.3 seconds; current allocated memory: 415.913 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.09 seconds; current allocated memory: 416.414 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'WriteC'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-61] Pipelining loop 'WriteC_OuterTile_N_WriteC_N1_WriteC_M1'.
INFO: [SCHED 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 10.
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.19 seconds; current allocated memory: 416.973 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 0.08 seconds; current allocated memory: 417.403 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-42] -- Implementing module 'MatrixMultiplicationKernel'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [SCHED 204-11] Starting scheduling ...
INFO: [SCHED 204-11] Finished scheduling.
INFO: [HLS 200-111] Elapsed time: 0.15 seconds; current allocated memory: 418.011 MB.
INFO: [BIND 205-100] Starting micro-architecture generation ...
INFO: [BIND 205-101] Performing variable lifetime analysis.
INFO: [BIND 205-101] Exploring resource sharing.
INFO: [BIND 205-101] Binding ...
INFO: [BIND 205-100] Finished micro-architecture generation.
INFO: [HLS 200-111] Elapsed time: 4.05 seconds; current allocated memory: 423.670 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'MatrixMultiplicationKernel_entry6'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'MatrixMultiplicationKernel_entry6'.
INFO: [HLS 200-111] Elapsed time: 1.7 seconds; current allocated memory: 425.516 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ReadA'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'ReadA'.
INFO: [HLS 200-111] Elapsed time: 0.07 seconds; current allocated memory: 426.959 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'TransposeA'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'TransposeA'.
INFO: [HLS 200-111] Elapsed time: 0.28 seconds; current allocated memory: 430.436 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ReadB'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'ReadB'.
INFO: [HLS 200-111] Elapsed time: 0.21 seconds; current allocated memory: 432.862 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ConvertWidthB'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'ConvertWidthB'.
INFO: [HLS 200-111] Elapsed time: 0.2 seconds; current allocated memory: 435.006 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'FeedB'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'FeedB'.
INFO: [HLS 200-111] Elapsed time: 0.24 seconds; current allocated memory: 437.427 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement87'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement87'.
INFO: [HLS 200-111] Elapsed time: 0.26 seconds; current allocated memory: 440.776 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement88'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement88'.
INFO: [HLS 200-111] Elapsed time: 0.55 seconds; current allocated memory: 446.286 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement89'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement89'.
INFO: [HLS 200-111] Elapsed time: 0.57 seconds; current allocated memory: 452.185 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement90'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement90'.
INFO: [HLS 200-111] Elapsed time: 0.57 seconds; current allocated memory: 457.850 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement91'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement91'.
INFO: [HLS 200-111] Elapsed time: 0.62 seconds; current allocated memory: 463.473 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement92'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement92'.
INFO: [HLS 200-111] Elapsed time: 0.6 seconds; current allocated memory: 469.069 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement93'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement93'.
INFO: [HLS 200-111] Elapsed time: 0.62 seconds; current allocated memory: 474.683 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement94'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement94'.
INFO: [HLS 200-111] Elapsed time: 0.63 seconds; current allocated memory: 480.829 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement95'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement95'.
INFO: [HLS 200-111] Elapsed time: 0.65 seconds; current allocated memory: 486.449 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement96'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement96'.
INFO: [HLS 200-111] Elapsed time: 0.66 seconds; current allocated memory: 492.042 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement97'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement97'.
INFO: [HLS 200-111] Elapsed time: 0.67 seconds; current allocated memory: 497.657 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement98'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement98'.
INFO: [HLS 200-111] Elapsed time: 0.68 seconds; current allocated memory: 503.268 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement99'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement99'.
INFO: [HLS 200-111] Elapsed time: 0.7 seconds; current allocated memory: 508.876 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement100'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement100'.
INFO: [HLS 200-111] Elapsed time: 0.71 seconds; current allocated memory: 514.422 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement101'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement101'.
INFO: [HLS 200-111] Elapsed time: 0.72 seconds; current allocated memory: 520.034 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ProcessingElement102'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fadd_32ns_32ns_32_10_full_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Generating core module 'MatrixMultiplicationKernel_fmul_32ns_32ns_32_6_max_dsp_1': 4 instance(s).
INFO: [RTGEN 206-100] Finished creating RTL model for 'ProcessingElement102'.
INFO: [HLS 200-111] Elapsed time: 0.72 seconds; current allocated memory: 525.508 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'ConvertWidthC'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'ConvertWidthC'.
INFO: [HLS 200-111] Elapsed time: 0.7 seconds; current allocated memory: 529.783 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'WriteC'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-100] Finished creating RTL model for 'WriteC'.
INFO: [HLS 200-111] Elapsed time: 0.49 seconds; current allocated memory: 532.933 MB.
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [HLS 200-10] -- Generating RTL for module 'MatrixMultiplicationKernel'
INFO: [HLS 200-10] ----------------------------------------------------------------
INFO: [RTGEN 206-500] Setting interface mode on port 'MatrixMultiplicationKernel/gmem0' to 'm_axi'.
INFO: [RTGEN 206-500] Setting interface mode on port 'MatrixMultiplicationKernel/gmem1' to 'm_axi'.
INFO: [RTGEN 206-500] Setting interface mode on port 'MatrixMultiplicationKernel/gmem2' to 'm_axi'.
INFO: [RTGEN 206-500] Setting interface mode on port 'MatrixMultiplicationKernel/a_data_V' to 's_axilite & ap_none'.
INFO: [RTGEN 206-500] Setting interface mode on port 'MatrixMultiplicationKernel/b_data_V' to 's_axilite & ap_none'.
INFO: [RTGEN 206-500] Setting interface mode on port 'MatrixMultiplicationKernel/c_data_V' to 's_axilite & ap_none'.
INFO: [RTGEN 206-500] Setting interface mode on function 'MatrixMultiplicationKernel' to 's_axilite & ap_ctrl_hs'.
INFO: [RTGEN 206-100] Bundling port 'return', 'a_data_V', 'b_data_V' and 'c_data_V' to AXI-Lite port control.
INFO: [RTGEN 206-100] Finished creating RTL model for 'MatrixMultiplicationKernel'.
INFO: [HLS 200-111] Elapsed time: 0.58 seconds; current allocated memory: 539.694 MB.
INFO: [RTMG 210-278] Implementing memory 'FeedB_buffer_data_V_ram (RAM)' using block RAMs.
INFO: [RTMG 210-278] Implementing memory 'ProcessingElement87_aBuffer_data_V_ram (RAM)' using block RAMs.
INFO: [RTMG 210-278] Implementing memory 'ProcessingElement87_cBuffer_0_data_V_ram (RAM)' using block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'a_data_V_c_U(fifo_w64_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'b_data_V_c_U(fifo_w64_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'c_data_V_c_U(fifo_w64_d7_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_0_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_1_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_2_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_3_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_4_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_5_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_6_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_7_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_8_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_9_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_10_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_11_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_12_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_13_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_14_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aSplit_15_U(fifo_w32_d512_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_0_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bMemory_stream_V_data_V_U(fifo_w512_d32_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_0_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_1_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_1_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_2_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_2_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_3_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_3_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_4_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_4_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_5_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_5_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_6_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_6_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_7_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_7_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_8_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_8_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_9_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_9_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_10_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_10_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_11_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_11_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_12_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_12_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_13_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_13_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_14_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_14_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'aPipes_stream_V_data_V_15_U(fifo_w32_d2_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'bPipes_stream_V_data_V_15_U(fifo_w128_d4_A)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'cMemory_stream_V_data_V_U(fifo_w512_d32_A)' using Block RAMs.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_WriteC_U0_U(start_for_WriteC_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_TransposeA_U0_U(start_for_TransposeA_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement87_U0_U(start_for_ProcessingElement87_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ConvertWidthB_U0_U(start_for_ConvertWidthB_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_FeedB_U0_U(start_for_FeedB_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement88_U0_U(start_for_ProcessingElement88_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ConvertWidthC_U0_U(start_for_ConvertWidthC_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement89_U0_U(start_for_ProcessingElement89_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement90_U0_U(start_for_ProcessingElement90_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement91_U0_U(start_for_ProcessingElement91_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement92_U0_U(start_for_ProcessingElement92_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement93_U0_U(start_for_ProcessingElement93_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement94_U0_U(start_for_ProcessingElement94_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement95_U0_U(start_for_ProcessingElement95_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement96_U0_U(start_for_ProcessingElement96_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement97_U0_U(start_for_ProcessingElement97_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement98_U0_U(start_for_ProcessingElement98_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement99_U0_U(start_for_ProcessingElement99_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement100_U0_U(start_for_ProcessingElement100_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement101_U0_U(start_for_ProcessingElement101_U0)' using Shift Registers.
INFO: [RTMG 210-285] Implementing FIFO 'start_for_ProcessingElement102_U0_U(start_for_ProcessingElement102_U0)' using Shift Registers.
INFO: [HLS 200-111] Finished generating all RTL models Time (s): cpu = 00:00:57 ; elapsed = 00:01:04 . Memory (MB): peak = 973.973 ; gain = 598.422 ; free physical = 12431 ; free virtual = 15960
INFO: [SYSC 207-301] Generating SystemC RTL for MatrixMultiplicationKernel.
INFO: [VHDL 208-304] Generating VHDL RTL for MatrixMultiplicationKernel.
INFO: [VLOG 209-307] Generating Verilog RTL for MatrixMultiplicationKernel.
INFO: [HLS 200-112] Total elapsed time: 64.4 seconds; peak allocated memory: 539.694 MB.
INFO: [Common 17-206] Exiting vivado_hls at Wed Apr 10 13:30:12 2019...
Built target synthesis
cvg@cvg-XPS-8930:~/YJ/gemm_hls-master/build$ make compile_hardware
Scanning dependencies of target compile_hardware

****** xocc v2018.2 (64-bit)
**** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018
** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.

Attempting to get a license: ap_opencl
WARNING: [XOCC 17-301] Failed to get a license for 'ap_opencl'. Explanation: The license feature ap_opencl could not be found.
Resolution: Check the status of your licenses in the Vivado License Manager. For debug help search Xilinx Support for "Licensing FAQ".
Attempting to get a license: ap_sdsoc
Feature available: ap_sdsoc
INFO: [XOCC 60-585] Compiling for hardware target
Running SDx Rule Check Server on port:34001
INFO: [XOCC 60-895] Target platform: /media/cvg/DATA/ProgramFile/SDx/2018.2/platforms/zcu102/zcu102.xpfm
INFO: [XOCC 60-423] Target device: zcu102
INFO: [XOCC 60-242] Creating kernel: 'MatrixMultiplicationKernel'

===>The following messages were generated while performing high-level synthesis for kernel: MatrixMultiplicationKernel Log file:/home/cvg/YJ/gemm_hls-master/build/_x/MatrixMultiplication_hw/MatrixMultiplicationKernel/vivado_hls.log :
INFO: [XOCC 204-61] Option 'relax_ii_for_timing' is enabled, will increase II to preserve clock frequency constraints.
INFO: [XOCC 204-61] Pipelining loop 'ReadA_N0_ReadA_K0_ReadA_N1_ReadA_N2'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 12.
INFO: [XOCC 204-61] Pipelining loop 'TransposeA_N0_TransposeA_K_L'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [XOCC 204-61] Pipelining loop 'ReadB_OuterTile_N_ReadB_K_ReadB_BufferB_M1'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 11.
INFO: [XOCC 204-61] Pipelining loop 'ConvertWidthB_Outer_ConvertWidthB_Memory'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [XOCC 204-61] Pipelining loop 'FeedB_OuterTile_N_FeedB_K_FeedB_Pipeline_N_FeedB_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 4.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'InitializeABuffer_Inner_InitializeABuffer_Outer'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 2.
INFO: [XOCC 204-61] Pipelining loop 'Collapse_K_Pipeline_N_Pipeline_M'.
INFO: [XOCC 204-61] Pipelining result : Target II = 1, Final II = 1, Depth = 21.
INFO: [XOCC 204-61] Pipelining loop 'WriteC_Flattened'.
INFO: [XOCC 17-14] Message 'XOCC 204-61' appears 100 times and further instances of the messages will be disabled.
INFO: [XOCC 60-594] Finished kernel compilation
INFO: [XOCC 60-244] Generating system estimate report...
INFO: [XOCC 60-1092] Generated system estimate report: /home/cvg/YJ/gemm_hls-master/build/_x/reports/MatrixMultiplication_hw/system_estimate_MatrixMultiplication_hw.xtxt
Add Instance ConvertWidthC ConvertWidthC_U0 552
Add Instance ConvertWidthB ConvertWidthB_U0 558
Add Instance ProcessingElement87 ProcessingElement87_U0 564
Add Instance ProcessingElement89 ProcessingElement89_U0 574
Add Instance ProcessingElement91 ProcessingElement91_U0 584
Add Instance ProcessingElement88 ProcessingElement88_U0 594
Add Instance ProcessingElement90 ProcessingElement90_U0 604
Add Instance ProcessingElement92 ProcessingElement92_U0 614
Add Instance ProcessingElement93 ProcessingElement93_U0 624
Add Instance ProcessingElement94 ProcessingElement94_U0 634
Add Instance ProcessingElement95 ProcessingElement95_U0 644
Add Instance ProcessingElement96 ProcessingElement96_U0 654
Add Instance ProcessingElement97 ProcessingElement97_U0 664
Add Instance ProcessingElement98 ProcessingElement98_U0 674
Add Instance ProcessingElement99 ProcessingElement99_U0 684
Add Instance ProcessingElement100 ProcessingElement100_U0 694
Add Instance ProcessingElement101 ProcessingElement101_U0 704
Add Instance ProcessingElement102 ProcessingElement102_U0 714
Add Instance ReadA ReadA_U0 721
Add Instance WriteC WriteC_U0 744
Add Instance ReadB ReadB_U0 752
Add Instance TransposeA TransposeA_U0 760
Add Instance FeedB FeedB_U0 781
Add Instance MatrixMultiplicationKernel_entry6 MatrixMultiplicationKernel_entry6_U0 787
INFO: [XOCC 60-586] Created MatrixMultiplication_hw.xo
INFO: [XOCC 60-791] Total elapsed time: 0h 1m 48s
Built target compile_hardware
cvg@cvg-XPS-8930:~/YJ/gemm_hls-master/build$ make link_hardware
Scanning dependencies of target link_hardware

****** xocc v2018.2 (64-bit)
**** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018
** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.

INFO: [XOCC 60-629] Linking for hardware target
Running SDx Rule Check Server on port:43689
INFO: [XOCC 60-895] Target platform: /media/cvg/DATA/ProgramFile/SDx/2018.2/platforms/zcu102/zcu102.xpfm
INFO: [XOCC 60-423] Target device: zcu102
WARNING: [XOCC 60-887] No System Configuration (--sys_config) option was specified for XOCC Link. A system boot image will not be generated. The current Platform has the following System Configurations: 'a53_linux', 'a53_standalone', 'ocl', 'r5_standalone'
INFO: [XOCC 60-825] xocc command line options for sdx_link are --xo MatrixMultiplication_hw.xo -k MatrixMultiplicationKernel -keep
using /media/cvg/DATA/ProgramFile/SDx/2018.2/platforms/zcu102/zcu102.xpfm
extracting xo v3 file /home/cvg/YJ/gemm_hls-master/build/MatrixMultiplication_hw.xo
Creating IP database /home/cvg/YJ/gemm_hls-master/build/_x/link/sys_link/_sds/.cdb/xd_ip_db.xml
processing accelerators: /home/cvg/YJ/gemm_hls-master/build/_x/link/sys_link/iprepo/xilinx_com_hls_MatrixMultiplicationKernel_1_0
ip_dir: /home/cvg/YJ/gemm_hls-master/build/_x/link/sys_link/iprepo/xilinx_com_hls_MatrixMultiplicationKernel_1_0
/media/cvg/DATA/ProgramFile/SDx/2018.2/bin/xsltproc --stringparam xpath "spirit:component/spirit:name/text()" /media/cvg/DATA/ProgramFile/SDx/2018.2/scripts/xdcc/xpathValueOf.xsl /home/cvg/YJ/gemm_hls-master/build/_x/link/sys_link/iprepo/xilinx_com_hls_MatrixMultiplicationKernel_1_0/component.xml
ip_name: MatrixMultiplicationKernel
Creating apsys_0.xml

Creating dr.bd.tcl
/media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf2xd: 4: /media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf2xd: [[: not found
/media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf2xd: 4: /media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf2xd: [[: not found
INFO: [CF2XD 83-2203] Adding accelerator adapters...
INFO: [CF2XD 83-2200] Adding axi_interconnects...
INFO: [CF2XD 83-2201] Adding axi_stream_router for scatter-gather DMAs...
INFO: [CF2XD 83-2202] Adding axi_dwidth_converters...
INFO: [CF2XD 83-2208] Adding bus connections for logical connections...
INFO: [CF2XD 83-2205] Adding clock connections...
INFO: [CF2XD 83-2206] Adding reset connections...
/media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf_xsd: 4: /media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf_xsd: [[: not found
/media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf_xsd: 4: /media/cvg/DATA/ProgramFile/SDx/2018.2/bin/cf_xsd: [[: not found
INFO: [XOCC 60-812] xocc command line options for vpl are -t hw -f zcu102 --kernel_frequency 250 --xp param:compiler.enablePerformanceTrace=1 --xp misc:report=type report_timing_summary name impl_report_timing_summary_route_design_summary steps {route_design} runs {impl_1} options {-max_paths 10} --xp prop:kernel.MatrixMultiplicationKernel.kernel_flags= -std=c++11 -O3 -DMM_SYNTHESIS -DHLSLIB_SYNTHESIS --xp param:compiler.lockFlowCritSlackThreshold=0 --xp vivado_prop:run.impl_1.STEPS.POST_ROUTE_PHYS_OPT_DESIGN.IS_ENABLED=true --xp vivado_prop:run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true --xp vivado_prop:run.KERNEL.{STEPS.SYNTH_DESIGN.ARGS.MORE OPTIONS}={-directive sdx_optimization_effort_high} --xp param:compiler.enableRunInBitstreamGeneration=1 -s

****** vpl v2018.2 (64-bit)
**** SW Build 2258646 on Thu Jun 14 20:02:38 MDT 2018
** Copyright 198S6-2018 Xilinx, Inc. All Rights Reserved.

Attempting to get a license: ap_opencl
WARNING: [VPL 17-301] Failed to get a license for 'ap_opencl'. Explanation: The license feature ap_opencl could not be found.
Resolution: Check the status of your licenses in the Vivado License Manager. For debug help search Xilinx Support for "Licensing FAQ".
Attempting to get a license: ap_sdsoc
Feature available: ap_sdsoc
INFO: [VPL 60-839] Read in kernel information from file '/home/cvg/YJ/gemm_hls-master/build/_x/link/int/kernel_info.dat'.
INFO: [VPL 60-423] Target device: zcu102
INFO: [VPL 60-1032] Extracting DSA to /home/cvg/YJ/gemm_hls-master/build/_x/link/vivado/.local/dsa
INFO: [VPL 60-251] Hardware accelerator integration...
Creating Vivado project and starting FPGA synthesis.
[13:35:42] Block-level synthesis in progress, 0 of 12 jobs complete, 6 jobs running.
[13:36:42] Block-level synthesis in progress, 3 of 12 jobs complete, 5 jobs running.
[13:37:42] Block-level synthesis in progress, 6 of 12 jobs complete, 4 jobs running.
[13:38:42] Block-level synthesis in progress, 10 of 12 jobs complete, 2 jobs running.
[13:39:42] Block-level synthesis in progress, 11 of 12 jobs complete, 1 job running.
[13:40:42] Block-level synthesis in progress, 11 of 12 jobs complete, 1 job running.
[13:41:42] Block-level synthesis in progress, 11 of 12 jobs complete, 1 job running.
[13:42:42] Block-level synthesis in progress, 11 of 12 jobs complete, 1 job running.
[13:43:42] Block-level synthesis in progress, 12 of 12 jobs complete, 0 jobs running.
[13:44:42] Top-level synthesis in progress.

===>The following messages were generated while processing /home/cvg/YJ/gemm_hls-master/build/x/link/vivado/prj/prj.runs/impl_1 :
ERROR: [VPL-4] ERROR: [Common 17-55] 'get_property' expects at least one object.
Resolution: If [get
] was used to populate the object, check to make sure this command returns at least one valid object.
ERROR: [VPL 60-704] Integration error, problem implementing dynamic region, Design Initialization ERROR
ERROR: [VPL 60-806] Failed to finish platform linker
ERROR: [XOCC 60-398] vpl failed
ERROR: [XOCC 60-626] Kernel link failed to complete
ERROR: [XOCC 60-703] Failed to finish linking
CMakeFiles/link_hardware.dir/build.make:57: recipe for target 'CMakeFiles/link_hardware' failed
make[3]: *** [CMakeFiles/link_hardware] Error 1
CMakeFiles/Makefile2:242: recipe for target 'CMakeFiles/link_hardware.dir/all' failed
make[2]: *** [CMakeFiles/link_hardware.dir/all] Error 2
CMakeFiles/Makefile2:249: recipe for target 'CMakeFiles/link_hardware.dir/rule' failed
make[1]: *** [CMakeFiles/link_hardware.dir/rule] Error 2
Makefile:194: recipe for target 'link_hardware' failed
make: *** [link_hardware] Error 2

How can I solve this problem? Thanks very much.

Meaning of DMM_MEMORY_TILE_SIZE

Hi, I was wondering what is the meaning of DMM_MEMORY_TILE_SIZE_N and DMM_MEMORY_TILE_SIZE_M parameters.

Additionally, how will these parameters affect the performance? For example, in the given default parameters, -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512, Does reducing MEMORY_TILE_SIZES to 256 affect performance? If so, in what way?

Thanks in advance.

Support for edge platform

Thanks for the great repo. I just wanted to see if there is an effort to support edge platforms such as ZCU102?
I am currently working on it, but I am not sure to start. I have already changed the cmake files to redirect GCC to aarch64 and XRT to edge platform, but I am getting the following error for compiling RunHardware.cpp:

In file included from /mnt/500GB/home/mbaharan/gemm_hls/include/Utility.h:13,
                 from /mnt/500GB/home/mbaharan/gemm_hls/host/RunHardware.cpp:11:
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:32:36: error: ‘CL_MEM_EXT_PTR_XILINX’ was not declared in this scope
 constexpr auto kXilinxMemPointer = CL_MEM_EXT_PTR_XILINX;
                                    ^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:32:36: note: suggested alternative: ‘CL_MEM_HOST_PTR’
 constexpr auto kXilinxMemPointer = CL_MEM_EXT_PTR_XILINX;
                                    ^~~~~~~~~~~~~~~~~~~~~
                                    CL_MEM_HOST_PTR
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:33:31: error: ‘XCL_MEM_DDR_BANK0’ was not declared in this scope
 constexpr auto kMemoryBank0 = XCL_MEM_DDR_BANK0;
                               ^~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:34:31: error: ‘XCL_MEM_DDR_BANK1’ was not declared in this scope
 constexpr auto kMemoryBank1 = XCL_MEM_DDR_BANK1;
                               ^~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:35:31: error: ‘XCL_MEM_DDR_BANK2’ was not declared in this scope
 constexpr auto kMemoryBank2 = XCL_MEM_DDR_BANK2;
                               ^~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:36:31: error: ‘XCL_MEM_DDR_BANK3’ was not declared in this scope
 constexpr auto kMemoryBank3 = XCL_MEM_DDR_BANK3;
                               ^~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:37:31: error: ‘cl_mem_ext_ptr_t’ does not name a type; did you mean ‘cl_mem_ext_host_ptr’?
 using ExtendedMemoryPointer = cl_mem_ext_ptr_t;
                               ^~~~~~~~~~~~~~~~
                               cl_mem_ext_host_ptr
In file included from /mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/SDAccel.h:60,
                 from /mnt/500GB/home/mbaharan/gemm_hls/include/Utility.h:13,
                 from /mnt/500GB/home/mbaharan/gemm_hls/host/RunHardware.cpp:11:
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:637:3: error: ‘ExtendedMemoryPointer’ does not name a type
   ExtendedMemoryPointer CreateExtendedPointer(void *hostPtr,
   ^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h: In constructor ‘hlslib::ocl::Buffer< <template-parameter-1-1>, <anonymous> >::Buffer(hlslib::ocl::Context&, hlslib::ocl::MemoryBank, IteratorType, IteratorType)’:
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:418:5: error: ‘ExtendedMemoryPointer’ was not declared in this scope
     ExtendedMemoryPointer extendedHostPointer;
     ^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:420:7: error: ‘extendedHostPointer’ was not declared in this scope
       extendedHostPointer = CreateExtendedPointer(hostPtr, memoryBank);
       ^~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:420:29: error: there are no arguments to ‘CreateExtendedPointer’ that depend on a template parameter, so a declaration of ‘CreateExtendedPointer’ must be available [-fpermissive]
       extendedHostPointer = CreateExtendedPointer(hostPtr, memoryBank);
                             ^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:420:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h: In constructor ‘hlslib::ocl::Buffer< <template-parameter-1-1>, <anonymous> >::Buffer(hlslib::ocl::Context&, hlslib::ocl::MemoryBank, size_t)’:
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:470:5: error: ‘ExtendedMemoryPointer’ was not declared in this scope
     ExtendedMemoryPointer extendedHostPointer;
     ^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:472:7: error: ‘extendedHostPointer’ was not declared in this scope
       extendedHostPointer = CreateExtendedPointer(nullptr, memoryBank);
       ^~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:472:29: error: there are no arguments to ‘CreateExtendedPointer’ that depend on a template parameter, so a declaration of ‘CreateExtendedPointer’ must be available [-fpermissive]
       extendedHostPointer = CreateExtendedPointer(nullptr, memoryBank);
                             ^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h: In instantiation of ‘hlslib::ocl::Buffer< <template-parameter-1-1>, <anonymous> >::Buffer(hlslib::ocl::Context&, hlslib::ocl::MemoryBank, size_t) [with T = hlslib::DataPack<float, 16>; hlslib::ocl::Access access = (hlslib::ocl::Access)0; size_t = long unsigned int]’:
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:896:10:   required from ‘hlslib::ocl::Buffer<T, access> hlslib::ocl::Context::MakeBuffer(Ts&& ...) [with T = hlslib::DataPack<float, 16>; hlslib::ocl::Access access = (hlslib::ocl::Access)0; Ts = {hlslib::ocl::MemoryBank, long unsigned int}]’
/mnt/500GB/home/mbaharan/gemm_hls/host/RunHardware.cpp:136:72:   required from here
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:472:50: error: ‘CreateExtendedPointer’ was not declared in this scope
       extendedHostPointer = CreateExtendedPointer(nullptr, memoryBank);
                             ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h: In instantiation of ‘hlslib::ocl::Buffer< <template-parameter-1-1>, <anonymous> >::Buffer(hlslib::ocl::Context&, hlslib::ocl::MemoryBank, size_t) [with T = hlslib::DataPack<float, 16>; hlslib::ocl::Access access = (hlslib::ocl::Access)1; size_t = long unsigned int]’:
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:896:10:   required from ‘hlslib::ocl::Buffer<T, access> hlslib::ocl::Context::MakeBuffer(Ts&& ...) [with T = hlslib::DataPack<float, 16>; hlslib::ocl::Access access = (hlslib::ocl::Access)1; Ts = {hlslib::ocl::MemoryBank, long unsigned int}]’
/mnt/500GB/home/mbaharan/gemm_hls/host/RunHardware.cpp:141:76:   required from here
/mnt/500GB/home/mbaharan/gemm_hls/hlslib/include/hlslib/xilinx/../common/OpenCL.h:472:50: error: ‘CreateExtendedPointer’ was not declared in this scope
CMakeFiles/RunHardware.exe.dir/build.make:62: recipe for target 'CMakeFiles/RunHardware.exe.dir/host/RunHardware.cpp.o' failed
make[2]: *** [CMakeFiles/RunHardware.exe.dir/host/RunHardware.cpp.o] Error 1
CMakeFiles/Makefile2:242: recipe for target 'CMakeFiles/RunHardware.exe.dir/all' failed
make[1]: *** [CMakeFiles/RunHardware.exe.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2

and this cmake configuration output:

-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /mnt/2TB/WorkingDir/FPGA/Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms/zcu102_base/platform_repo/sysroot/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-gcc
-- Check for working C compiler: /mnt/2TB/WorkingDir/FPGA/Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms/zcu102_base/platform_repo/sysroot/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /mnt/2TB/WorkingDir/FPGA/Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms/zcu102_base/platform_repo/sysroot/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-g++
-- Check for working CXX compiler: /mnt/2TB/WorkingDir/FPGA/Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms/zcu102_base/platform_repo/sysroot/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of float
-- Check size of float - done
-- Using user defined Xilinx Runtime (XRT) directory "/mnt/2TB/WorkingDir/FPGA/Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms/zcu102_base/platform_repo/sysroot/sysroots/aarch64-xilinx-linux/usr/".
-- Looking for CL_VERSION_2_2
-- Looking for CL_VERSION_2_2 - found
-- Found OpenCL: /usr/lib64/libOpenCL.so (found version "2.2") 
-- Found Vitis: /tools/Xilinx/Vitis/2019.2/bin/v++  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- A library with BLAS API not found. Please specify library location.
-- Configuring done
-- Generating done

As I know ZCU also has four banks for its DDR.
Any help would be greatly appreciated.

Transpose of the input matrix B

Hi,
I'm implementing my work based on the GEMM project, it involves matrix computation of A×B, transpose(A)×B, and A×transpose(B).

  1. Since Transpose(A) has been implemented in the project, I plan to use if...else..statement as follows, will there be any problem if I write like this?

bool Trans_A;
if (Trans_A){ //the code below is same as Line 72-86 in Top.cpp
ReadA();
#ifdef MM_CONVERT_A
TransposeA();
ConvertWidthA();
#else
TransposeA();
#endif
}else{
ReadATransposed();
ConvertWidthATransposed(); }

  1. For Transpose(B), can I use the same code as Transpose(A)? It seems that the condition and implementation of ConvertA and ConvertB are different.

[XRT] ERROR trying to run DGEMM build on Xilinx U280.

Hi,

Running a matrix with the size of 16384 on a DGEMM build returns the following errors:

[XRT] ERROR: unable to sync BO: Input/output error

[XRT] ERROR: Profiling info not available, make sure profiling is enabled

[XRT] ERROR: Profiling info not available, make sure profiling is enabled

[Kernel executed in 1.84466e+10 seconds, corresponding to a performance of 4.76841e-07 GOp/s.

[XRT] ERROR: unable to sync BO: Input/output error

terminate called after throwing an instance of 'xrt_xocl::error'

  what():  event 0 never submitted

This seems to only occur when the card has the bit stream already loaded as resetting the card with xbutil reset and running it for the first time does not give the same error.

Smaller size matrices seem to work fine with 12288 being the highest that reliably worked. (4k, 8k, 12k, 16k was the test range).

CmakeLists.txt was kept with relatively default settings exceptions being the card string was changed to "xilinx_u280_xdma_201920_3", and being modified to build dgemm based on the README.md found within gemm_hls:

cmake ../ -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DMM_DATA_TYPE=double -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=4 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512

Here is the system configuration as given by xbutil examine:

System Configuration
  OS Name              : Linux
  Release              : 3.10.0-1160.99.1.el7.x86_64
  Version              : #1 SMP Wed Sep 13 14:19:20 UTC 2023
  Machine              : x86_64
  CPU Cores            : 128
  Memory               : 257749 MB
  Distribution         : CentOS Linux 7 (Core)
  GLIBC                : 2.17
  Model                : ProLiant DL385 Gen10 Plus

XRT
  Version              : 2.11.634
  Branch               : 2021.1
  Hash                 : 5ad5998d67080f00bca5bf15b3838cf35e0a7b26
  Hash Date            : 2021-06-09 05:08:58
  XOCL                 : 2.11.634, 5ad5998d67080f00bca5bf15b3838cf35e0a7b26
  XCLMGMT              : 2.11.634, 5ad5998d67080f00bca5bf15b3838cf35e0a7b26

Devices present
  [0000:c3:00.1] : xilinx_u280_xdma_201920_3 

Any help would be much appreciated.
Cheers, Andrew.

Transposition warning when transposition is disabled

With transposition set to OFF, I receive this warning for the values below:

CMake Warning at CMakeLists.txt:58 (message):
   In-memory transposition for A cannot keep up with the instantiated number
   of compute units.  The number of inner tiles (currently 512) must be
   greater than or equal to the outer tile size in N (currently 1024).

Relevant values:
M=N=K=TILE_SIZE_M=TILE_SIZE_N=1024
PARALLELISM_M=8
PARALLELISM_N=256

Broken with Vitis 2021.2 and newer

Vitis 2021.2 has broken the repository by wrongly inferring a loop-carried dependency on writing aSplit in Memory.cpp. The dependence pragma does not fix this.

Verification is broken by this (#27).

In 2022.1 this gets worse, as compilation fails altogether (#29).

Documentation needs update

The documentation says make compile_kernel and link_kernel.

It needs to be updated to make compile_hardware and link_hardware

Implementation of BLAS compatible GEMM call

I would like to use this project as a drop in GEMM function. This would necessitate the implementation of support for TransA, TransB and to a lesser importance (to me anyway) alpha and beta parameters.

Mismatch result?

Hi I reproduce the project following under command lines

mkdir build
cd build
cmake ../ -DMM_DATA_TYPE=float -DMM_PARALLELISM_N=32 -DMM_PARALLELISM_M=8 -DMM_MEMORY_TILE_SIZE_N=512 -DMM_MEMORY_TILE_SIZE_M=512 -DMM_ADD_RESOURCE=FAddSub_nodsp -DMM_MULT_RESOURCE=FMul_nodsp
make
make hw

Then run like this

./RunHardware.exe 1024 1024 1024 hw

and get mismatch result like this

Verifying result...
Mismatch at (0, 0): 30790.4 vs. 30340

I also tried to adjust the threshold of determining the mismatch result to be larger (i.e. from 1e-03 to 1e-02) and printed out all mismatched results.

Mismatch at (258, 158): 32371.9 vs. 29222.8
Mismatch at (258, 348): 33150 vs. 30126.4
Mismatch at (258, 410): 33577.4 vs. 30521.6
Mismatch at (258, 690): 32677.6 vs. 29691.8
Mismatch at (571, 31): 32113.1 vs. 29157.5
Mismatch at (571, 72): 32030.5 vs. 29066.1
Mismatch at (571, 167): 30717.5 vs. 27857.2
Mismatch at (571, 386): 32130.5 vs. 29166.1
Mismatch at (571, 414): 32495.7 vs. 29537.6
Mismatch at (571, 419): 32113.1 vs. 29166.3
Mismatch at (571, 603): 32465.7 vs. 29466.6
Mismatch at (571, 675): 32653.2 vs. 29656.1
Mismatch at (571, 962): 32408.8 vs. 29393.5
Mismatch at (643, 457): 28775.7 vs. 32123.4

My vitis version is 2021.2,
xrt version is 2.12.427 and
platform is xilinx_u250_gen3x16_xdma_3_1_202020_1

Btw, I learned a lot from it. Thanks for the nice work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.