Abstract:As one of the most influential networks in the field of deep learning, convolutional neural network is deeper and deeper, and proposes higher demand for computing capabilities. Various dedicated processors have emerged. In order to compare such processors fairly and help to optimize software and hardware, this study proposes macrobenchmarks and microbenchmarks for convolutional neural networks. The macrobenchmarks include mainstream convolutional neural networks for evaluating processors, the microbenchmarks include core layers in them for analyzing bottlenecks and guiding optimization. This study characterizes the behaviors of benchmarks from both system and microarchitecture aspects. The system metrics include I/O wait, cross-node communication and CPU utilization, the microarchitecture metrics include IPC, branch prediction, back-end resource competition and memory access. Based on the performance results, this study provides reliable advice for helping optimizing processors.