Machine Learning (ML) has been widely adopted in design exploration using high level synthesis (HLS) to give a better and faster performance, and resource and power estimation at very early stages for FPGA-based design. To perform prediction accurately, high-quality and large-volume datasets are required for training ML models.This paper presents a dataset for ML-assisted FPGA design using HLS, called HLSDataset. The dataset is generated from widely used HLS C benchmarks including Polybench, Machsuite, CHStone and Rossetta. The Verilog samples are generated with a variety of directives including loop unroll, loop pipeline and array partition to make sure optimized and realistic designs are covered. The total number of generated Verilog samples is nearly 9,000 per FPGA type. To demonstrate the effectiveness of our dataset, we undertake case studies to perform power estimation and resource usage estimation with ML models trained with our dataset. All the codes and dataset are public at the github repo.We believe that HLSDataset can save valuable time for researchers by avoiding the tedious process of running tools, scripting and parsing files to generate the dataset, and enable them to spend more time where it counts, that is, in training ML models.
翻译:使用高水平合成(HLS)进行设计探索时,广泛采用机器学习(ML),以提供更好、更快的性能,并在以FPGA为基础的设计最初阶段进行资源和动力估算。为了准确进行预测,培训ML模型需要高质量的大容量数据集。本文展示了使用HLS(称为HLSDataset)进行ML辅助FGA设计的一个数据集。数据集来自广泛使用的HLS C基准,包括Polybench、Machssuite、CHStone和Rosseta。Verilog样本生成时,有各种各样的指令,包括循环无线、循环管道管道和阵列分配,以确保优化和现实的设计得到覆盖。生成的Verilog样本总数几乎每FPGA类型9,000个。为了展示我们数据集的有效性,我们进行了案例研究,以便用我们训练的MLSD模型进行电力估计和资源使用估计。所有代码和数据集都是在Github repo上公开的。我们相信HLSDataset能够为研究人员节省宝贵的时间,通过避免对时间的模型进行更精细化和计算,从而能够制作工具。