文件名称:blocking-tutorial
文件大小:8KB
文件格式:ZIP
更新时间:2024-06-30 13:02:55
C++
阻塞教程 这是 Hazy Research 小组的内部教程,用于说明 SIMD 和缓存阻塞。 基于论文:高性能多线程矩阵乘法的剖析 要求 要运行代码,您需要: Haswell 处理器或更高版本(支持 AVX2 和 FMA) OpenMP 库 我使用了 g++ 4.9.2,但任何支持 AVX2 和 FMA 的编译器都可以使用 OpenBLAS(用于与 OpenBLAS 进行比较。如果不感兴趣,禁用) 指示 编译: 将 compile.sh 更改为指向 OpenBLAS 或其他一些 BLAS 要在没有 OpenBLAS 的情况下运行,请修改 .cpp 文件以不调用 OpenBLAS(删除对 cblas.h、cblas_sgemm 的引用) 编译:bash compile.sh 运行:./m 这将运行两个矩阵乘法实现并进行比较: 输出(以确保它们匹配) 总时间和GFLOPS
【文件预览】:
blocking-tutorial-master
----compile.sh(179B)
----compare_blas.cpp(12KB)
----matrix_kernel16_6.c(4KB)
----matrix_kernel16_6_block.c(5KB)
----README.md(3KB)