# hlsBench **Repository Path**: rogerskelamen/hls-bench ## Basic Information - **Project Name**: hlsBench - **Description**: 由HLS-Eval衍生来的数据集,进行了格式修改,用于HLS+LLM的研究 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-06 - **Last Updated**: 2025-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Testbench for HLS+LLM This testbench dataset is derived from [hls-eval](https://github.com/stefanpie/hls-eval). ## Classification 数据集可以按作用大致分为几个大类 - `biology` - `nw`: Needleman-Wunsch全局比对算法,属于动态规划算法,常用于基因/蛋白质序列的对比 - `nussinov`: 用于RNA二级结构预测的经典动态规划算法 - `classic`(经典算法) - `bfs_bulk`: 用bulk(每层遍历)的方式实现的bfs,更适合GPU,硬件计算 - `bfs_queue`: 用queue的方式实现的bfs,更适合CPU计算 - `kmp`: 字符串对比算法 - `sort_merge`: 归并排序 - `sort_insert`: 插入排序 - `floyd_warshall`: 计算有向图中所有点之间的最短路径 - `crypto` - `aes`: AES加密 - `des`: DES加密 - `sha256`: SHA-256加密 - `block`: Block Frequency Test(块频率测试),检查随机序列是否在每个局部区域都接近均衡 - `dsp` - `fir`: 有限冲激响应(Finite impulse response),常见的滤波器 - `fft_strided`: 利用strided方法的快速傅里叶变换 - `cordic`: 高效计算三角函数的算法,适合在硬件中实现 - `monobit`: 实现了对一个二进制序列 epsilon[N] 中 0 和 1 的数量平衡性 的检测,可用于检测噪声源是否平衡 - `cusums`: 用于检测一个二进制序列的随机性是否存在偏移趋势。在二值化信号中检测系统偏移或趋势 - `runs`: 用于检测一个二进制序列中 比特跳变频率是否符合随机性预期,检查比特流是否有异常冗余或频繁变化 - `linalg`(线性代数) - `atax`: 矩阵转置乘以矩阵与向量的乘积 - `gramschmidt`: Gram-Schmidt正交化算法,线性代数中一种用于将一组线性无关向量转换为一组正交向量(通常再单位化为正交归一基)的算法 - `ludcmp`: LU分解(LU Decomposition),是求解线性方程组的一种解法(此外还有Gauss消去方法),Ax = b => A = LU. - `symm`: 对称矩阵矩阵乘法,线代中一种重要的矩阵操作 - `media` - `yuv2rgb`: yuv色彩空间转换到rgb - `gauss_blur`: 高斯滤波 - `rgb2gray`: rgb彩色图转换为灰度图 - `rgb2cmyk`: rgb图转换为cmyk图 - `sobel`: sobel边缘检测,其中包含rgb转灰度图的过程 - `errdiff`: 半色调误差扩散算法,将灰度图转化为二值图像 - `physics` - `md_knn`: 计算分子动力学(Molecular Dynamics)模拟的算法,似乎用k邻近的方式实现 - `fdtd_2d`: 二维有限差分时域法(FDTD-2D)算法,用于求解Maxwell方程组,模拟电磁波传播 - `heat_3d`: 3D Heat Equation Solver,即三维热传导方程的数值解,用于模拟三维空间中热量随时间的扩散过程 - `sci_calc`(科学计算) - `fl64_add`: 64位浮点加法 - `fl64_mul`: 64位浮点乘法 - `fl64_sin`: 64位浮点sin计算 - `gemm_blocked`: 矩阵乘法加速(General Matrix Multiplication),使用分块(blocked)的优化思想,改善缓存命中率,可利用SIMD或并行计算加速 - `spmv_ellpack`: 稀疏矩阵-向量乘法(Sparse Matrix-Vector Multiplication),ELLPACK是一种结构化的稀疏矩阵存储格式,和普通的二维数组存储不同,更适合GPU,SIMD等平台 - `stencil2d`: 一种基于领域的二维卷积核算法 - `stencil3d`: 扩展到三维 - `viterbi`: 一种经典的动态规划算法,用于解决马尔可夫模型中最优状态路径问题