pluto,例子测试结果

Pluto性能优化:计算密集型任务测试

1)

文件路径编译器编译 / 运行情况耗时错误 / 警告信息
pluto.examples/corcol/corcol.cgcc -O3失败缺少对sqrtsqrtf的引用
clang -O3失败缺少对sqrtsqrtf的引用
icc -O3成功0.668347s提示 4 处#pragma不被识别的警告
pluto.examples/game-of-life/life.cgcc -O3成功114.570058s
clang -O3成功114.156594s
icc -O3成功363.130116s提示 2 处#pragma不被识别的警告
pluto.examples/fdtd-2d/fdtd-2d.sched.cgcc -O3失败缺少decls.h头文件
clang -O3失败缺少decls.h头文件
icc -O3失败无法打开decls.h文件
pluto.examples/fdtd-2d/test.cgcc -O3失败缺少main函数引用
clang -O3失败缺少main函数引用
icc -O3失败缺少main函数引用
pluto.examples/fdtd-2d/fdtd-2d.cgcc -O3成功1.746683s
clang -O3成功1.776119s
icc -O3成功1.808811s提示 4 处#pragma不被识别的警告
pluto.examples/jacobi-2d-imper/jacobi-2d-imper.cgcc -O3成功6.716057s
clang -O3成功6.808653s
icc -O3成功7.272574s提示 4 处#pragma不被识别的警告
pluto.examples/apop/apop.cgcc -O3成功40304.02200ms
clang -O3成功38561.68500ms
icc -O3成功40268.97900ms提示 2 处#pragma不被识别的警告
pluto.examples/lbm/mrt/d2q9/mrt_ldc_d2q9.cgcc -O3成功0.12993m26.90156 MLUPS
clang -O3成功0.12970m26.94923 MLUPS
icc -O3成功0.09457m36.96037 MLUPS提示 2 处#pragma不被识别的警告
pluto.examples/lbm/ldc/d3q19/ldc_d3q19.cgcc -O3成功8.52533m15.63967 MLUPS
clang -O3成功9.13909m14.58934 MLUPS
icc -O3成功7.09337m18.79691 MLUPS提示 2 处#pragma不被识别的警告
pluto.examples/lbm/ldc/d2q9/ldc_d2q9.cgcc -O3成功0.23188m37.68433 MLUPS
clang -O3成功0.23275m37.54356 MLUPS
icc -O3成功0.15353m56.91434 MLUPS提示 2 处#pragma不被识别的警告
pluto.examples/lbm/ldc/d3q27/ldc_d3q27.cgcc -O3成功12.30179m10.83854 MLUPS
clang -O3成功14.37534m9.27515 MLUPS
icc -O3成功10.53971m12.65057 MLUPS提示 2 处#pragma不被识别的警告
pluto.examples/lbm/poiseuille/d2q9/poiseuille_d2q9.cgcc -O3成功240.91701s43.52436 MLUPS
clang -O3成功273.83011s38.29294 MLUPS
icc -O3成功156.05611s67.19224 MLUPS提示 2 处#pragma不被识别的警告
pluto.examples/lbm/fpc/d2q9/fpc_d2q9.cgcc -O3成功255.99883s40.96019 MLUPS
clang -O3成功281.64965s37.22980 MLUPS
icc -O3成功170.63127s61.45275 MLUPS提示 2 处#pragma不被识别的警告
pluto.examples/strsm/strsm.cgcc -O3成功2.548954s
clang -O3成功2.224526s
icc -O3成功2.542452s提示 2 处#pragma不被识别的警告
pluto.examples/fdtd-1d/fdtd-1d.cgcc -O3成功10.271539s
clang -O3成功9.802530s
icc -O3成功10.245463s提示 2 处#pragma不被识别的警告
pluto.examples/dsyrk/dsyrk.cgcc -O3成功1.435357s
clang -O3成功1.255950s
icc -O3成功1.230884s提示 4 处#pragma不被识别的警告
pluto.examples/heat-3d/heat-3d.cgcc -O3成功403.94400ms12407.351019 MFLOPS
clang -O3成功696.91800ms7191.484508 MFLOPS
icc -O3成功584.76800ms8570.706673 MFLOPS提示 2 处#pragma不被识别的警告
pluto.examples/pca/pca.cgcc -O3失败缺少对sqrtsqrtf的引用,main函数返回类型默认警告
clang -O3失败缺少对sqrtsqrtf的引用,main函数返回类型默认警告、格式警告
icc -O3失败提示 2 处#pragma不被识别的警告
pluto.examples/dct/dct.cgcc -O3成功1.796840s
clang -O3成功2.449703s
icc -O3成功0.510621s提示 2 处#pragma不被识别的警告
pluto.examples/strmm/strmm.cgcc -O3成功1.334519s
clang -O3成功2.081413s
icc -O3成功1.257935s提示 4 处#pragma不被识别的警告
pluto.examples/mvt/mvt.cgcc -O3成功0.329041s
clang -O3成功0.361879s
icc -O3成功0.112126s提示 2 处#pragma不被识别的警告
pluto.examples/matmul-init/matmul-init.cgcc -O3成功0.641631s
clang -O3成功1.196393s
icc -O3成功0.277552s提示 2 处#pragma不被识别的警告
utilities/template-for-new-benchmark.cgcc -O3失败缺少template-for-new-benchmark.h头文件
clang -O3失败缺少template-for-new-benchmark.h头文件
icc -O3失败无法打开template-for-new-benchmark.h文件
utilities/polybench.cgcc -O3失败函数重复定义,缺少main函数引用
clang -O3失败函数重复定义,缺少main函数引用
icc -O3失败

2)

编译器编译 / 运行情况耗时错误 / 警告信息
datamining/correlation/correlation.cgcc -O3失败缺少对sqrt的引用
clang -O3失败缺少对sqrt的引用
icc -O3成功0.002254提示 2 处#pragma不被识别的警告
datamining/covariance/covariance.cgcc -O3成功0.008990
clang -O3成功0.008698
icc -O3成功0.002125提示 2 处#pragma不被识别的警告
medley/floyd-warshall/floyd-warshall.cgcc -O3成功0.077788
clang -O3成功0.073579
icc -O3成功0.149913提示 2 处#pragma不被识别的警告
medley/deriche/deriche.cgcc -O3成功0.006677
clang -O3成功0.006834
icc -O3成功0.003696提示 2 处#pragma不被识别的警告
medley/nussinov/nussinov.cgcc -O3成功0.014797
clang -O3成功0.013406
icc -O3成功0.013540提示 2 处#pragma不被识别的警告
medley/nussinov/Nussinov.orig.cgcc -O3失败MAX_SIZE未声明
clang -O3失败MAX_SIZE未声明
icc -O3失败MAX_SIZE未声明,提示 2 处#pragma不被识别的警告
stencils/jacobi-1d/jacobi-1d.cgcc -O3成功0.000027
clang -O3成功0.000021
icc -O3成功0.000025提示 2 处#pragma不被识别的警告
stencils/seidel-2d/seidel-2d.cgcc -O3成功0.173767
clang -O3成功0.170123
icc -O3成功0.196763提示 2 处#pragma不被识别的警告
stencils/adi/adi.cgcc -O3成功0.077149
clang -O3成功0.067658
icc -O3成功0.064728提示 2 处#pragma不被识别的警告
stencils/fdtd-2d/fdtd-2d.cgcc -O3成功0.006943
clang -O3成功0.006195
icc -O3成功0.006958提示 2 处#pragma不被识别的警告
stencils/heat-3d/heat-3d.cgcc -O3成功0.010971
clang -O3成功0.011366
icc -O3成功0.011890提示 2 处#pragma不被识别的警告
stencils/jacobi-2d/jacobi-2d.cgcc -O3成功0.007894
clang -O3成功0.006140
icc -O3成功0.007428提示 2 处#pragma不被识别的警告
linear-algebra/kernels/doitgen/doitgen.cgcc -O3成功0.005300
clang -O3成功0.005063
icc -O3成功0.001421提示 2 处#pragma不被识别的警告
linear-algebra/kernels/atax/atax.cgcc -O3成功0.000239
clang -O3成功0.000247
icc -O3成功0.000133提示 2 处#pragma不被识别的警告
linear-algebra/kernels/2mm/2mm.cgcc -O3成功0.015247
clang -O3成功0.015649
icc -O3成功0.004385提示 2 处#pragma不被识别的警告
linear-algebra/kernels/bicg/bicg.cgcc -O3成功0.000428
clang -O3成功0.000428
icc -O3成功0.000444提示 2 处#pragma不被识别的警告
linear-algebra/kernels/mvt/mvt.cgcc -O3成功0.000377
clang -O3成功0.000382
icc -O3成功0.000189提示 2 处#pragma不被识别的警告
linear-algebra/kernels/3mm/3mm.cgcc -O3成功0.024500
clang -O3成功0.023584
icc -O3成功0.006825提示 2 处#pragma不被识别的警告
linear-algebra/blas/gesummv/gesummv.cgcc -O3成功0.000161
clang -O3成功0.000164
icc -O3成功0.000166提示 2 处#pragma不被识别的警告
linear-algebra/blas/trmm/trmm.cgcc -O3成功0.004759
clang -O3成功0.004572
icc -O3成功0.002837提示 2 处#pragma不被识别的警告
linear-algebra/blas/symm/symm.cgcc -O3成功0.005416
clang -O3成功0.006467
icc -O3成功0.004876提示 2 处#pragma不被识别的警告
linear-algebra/blas/gemm/gemm.cgcc -O3成功0.002611
clang -O3成功0.002415
icc -O3成功0.003170提示 2 处#pragma不被识别的警告
linear-algebra/blas/syr2k/syr2k.cgcc -O3成功0.004633
clang -O3成功0.004424
icc -O3成功0.002636提示 2 处#pragma不被识别的警告
linear-algebra/blas/syrk/syrk.cgcc -O3成功0.002769
clang -O3成功0.002029
icc -O3成功0.001428提示 2 处#pragma不被识别的警告
linear-algebra/blas/gemver/gemver.cgcc -O3成功0.000493
clang -O3成功0.000491
icc -O3成功0.000258提示 2 处#pragma不被识别的警告
linear-algebra/solvers/durbin/durbin.cgcc -O3成功0.000140
clang -O3成功0.000126
icc -O3成功0.000091提示 2 处#pragma不被识别的警告
linear-algebra/solvers/lu/lu.cgcc -O3成功0.022120
clang -O3成功0.022765
icc -O3成功0.013953提示 2 处#pragma不被识别的警告
linear-algebra/solvers/ludcmp/ludcmp.cgcc -O3成功0.019530
clang -O3成功0.018313
icc -O3成功0.008898提示 2 处#pragma不被识别的警告
linear-algebra/solvers/trisolv/trisolv.cgcc -O3成功0.000118
clang -O3成功0.000117
icc -O3成功0.000119提示 2 处#pragma不被识别的警告
linear-algebra/solvers/gramschmidt/gramschmidt.cgcc -O3失败缺少对sqrt的引用
clang -O3失败缺少对sqrt的引用
icc -O3成功0.008496提示 2 处#pragma不被识别的警告
linear-algebra/solvers/cholesky/cholesky.cgcc -O3失败缺少对sqrt的引用
clang -O3失败缺少对sqrt的引用
icc -O3成功0.010512提示 2 处#pragma不被识别的警告

2. 性能表现对比(根据表格数据)

    • 计算密集型任务

      • iccmatmul.c(矩阵乘法)、heat-3d.c(三维热传导)等文件中耗时更短,如matmul.cicc耗时 3.41s,而gccclang分别为 18.96s 和 27.07s,体现出对计算密集型代码的优化优势。
      • clang在部分场景下表现介于gccicc之间,如fdtd-1d.cclang耗时 9.80s,优于gcc的 10.27s,但略逊于icc的 10.25s。

3)

文件路径编译器编译 / 运行情况耗时错误 / 警告信息
pluto.examples/jacobi-1d-imper/jacobi-1d-imper.cgcc -O3成功2.490193s
clang -O3成功2.749597s
icc -O3成功2.779757s4 处#pragma不被识别的警告
pluto.examples/jacobi-1d-imper/jacobi-imper.limlam.cgcc -O3失败缺少papi.h头文件
clang -O3失败缺少papi.h头文件
icc -O3失败无法打开papi.h文件
pluto.examples/jacobi-1d-imper/jacobi-1d-imper.sched.cgcc -O3成功
clang -O3失败缺少对ceilfloor的引用
icc -O3成功2 处#pragma和 1 处 OpenMP#pragma不被识别的警告
pluto.examples/heat-1d/heat-1d.cgcc -O3成功946.16500ms6764.147902 MFLOPS
clang -O3成功825.16300ms7756.043351 MFLOPS
icc -O3成功1108.49400ms5773.599135 MFLOPS2 处#pragma不被识别的警告
pluto.examples/lu/lu.sched.cgcc -O3失败缺少decls.h头文件
clang -O3失败缺少decls.h头文件
icc -O3失败无法打开decls.h文件
pluto.examples/lu/lu.cgcc -O3失败缺少对round的引用
clang -O3失败缺少对round的引用
icc -O3成功0.858576s4 处#pragma不被识别的警告
pluto.examples/doitgen/doitgen.mkl.cgcc -O3失败缺少对cblas_dgemv的引用
clang -O3失败缺少对cblas_dgemv的引用
icc -O3失败缺少对cblas_dgemv的引用
pluto.examples/doitgen/template.cgcc -O3失败Ta未声明
clang -O3失败Ta未声明
icc -O3失败Ta未声明
pluto.examples/doitgen/doitgen.cgcc -O3成功0.140016smain函数返回类型默认警告
clang -O3成功0.092012smain函数返回类型默认警告
icc -O3成功0.114019s2 处#pragma不被识别的警告
pluto.examples/doitgen/doitgen.dgemm.cgcc -O3失败缺少对cblas_dgemm的引用
clang -O3失败缺少对cblas_dgemm的引用
icc -O3失败缺少对cblas_dgemm的引用
pluto.examples/gemver/gemver.blas.cgcc -O3失败缺少decls.h头文件
clang -O3失败缺少decls.h头文件
icc -O3失败无法打开decls.h文件
pluto.examples/gemver/gemver.cgcc -O3成功0.174922s
clang -O3成功0.198528s
icc -O3成功0.104456s4 处#pragma不被识别的警告
pluto.examples/floyd/floyd.cgcc -O3成功6.465720s
clang -O3成功4.744724s
icc -O3成功56.929771s4 处#pragma不被识别的警告
pluto.examples/trisolv/trisolv.cgcc -O3成功0.588662s
clang -O3成功0.574262s
icc -O3成功0.296020s2 处#pragma不被识别的警告
pluto.examples/ssymm/ssymm.cgcc -O3成功10.078931s
clang -O3成功10.426954s
icc -O3成功1.229982s4 处#pragma不被识别的警告
pluto.examples/tmm/tmm.cgcc -O3成功2.154617s
clang -O3失败main函数参数类型错误
icc -O3成功2.659927s4 处#pragma不被识别的警告
pluto.examples/covcol/covcol.cgcc -O3成功1.927046s
clang -O3成功1.977938s
icc -O3成功0.528909s2 处#pragma不被识别的警告
pluto.examples/seidel/seidel.sched.cgcc -O3失败缺少decls.h头文件
clang -O3失败缺少decls.h头文件
icc -O3失败无法打开decls.h文件
pluto.examples/seidel/seidel.cgcc -O3成功8.652706s
clang -O3成功9.046841s
icc -O3成功10.487045s4 处#pragma不被识别的警告
pluto.examples/template/template.cgcc -O3成功0.001703s
clang -O3成功0.001572s
icc -O3成功0.002012s2 处#pragma不被识别的警告
pluto.examples/heat-2d/heat-2d.cgcc -O3失败缺少对sqrt的引用
clang -O3失败缺少对sqrt的引用
icc -O3成功22777.90400ms7024.351319 MFLOPS2 处#pragma不被识别的警告
pluto.examples/heat-2d/heat-2d.omp.cgcc -O3失败缺少对sqrt的引用
clang -O3失败缺少对sqrt的引用
icc -O3成功23119.33800ms6920.613384 MFLOPS2 处#pragma和 1 处 OpenMP#pragma不被识别的警告
pluto.examples/3d7pt/3d7pt.cgcc -O3成功5938.96800ms4497.301193 MFLOPS
clang -O3成功5998.05300ms4452.999644 MFLOPS
icc -O3成功6049.97100ms4414.786099 MFLOPS2 处#pragma不被识别的警告
pluto.examples/matmul/matmul.cgcc -O3成功18.956509s0.91 GFLOPS
clang -O3成功27.072996s0.63 GFLOPS
icc -O3成功3.413642s5.03 GFLOPS4 处#pragma不被识别的警告
pluto.examples/matmul/matmul.blas.cgcc -O3失败缺少对cblas_dgemm的引用
clang -O3失败缺少对cblas_dgemm的引用
icc -O3失败缺少对cblas_dgemm的引用
pluto.examples/dsyr2k/dsyr2k.cgcc -O3成功2.010279s
clang -O3成功1.575961s
icc -O3成功1.713324s4 处#pragma不被识别的警告
pluto.examples/advect3d/advect3d.cgcc -O3成功0.275125s
clang -O3成功0.282724s
icc -O3成功0.269491s2 处#pragma不被识别的警告
pluto.examples/adi/adi.cgcc -O3成功0.932639s
clang -O3成功1.024995s
icc -O3成功1.088626s2 处#pragma不被识别的警告
pluto.examples/corcol/corcol3.cgcc -O3失败缺少对sqrtsqrtf的引用,strcmp隐式声明警告
clang -O3失败缺少对sqrtsqrtf的引用,strcmp隐式声明警告
icc -O3成功0.661572s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值