模板工程库
stempel的Python项目详细描述
斯特佩尔
模板工程库
此工具允许自动生成几种模具模式的循环内核。 Stempel提供了一个框架来生成、执行代码的静态分析(利用kerncraft), 生成一个完整的C代码,并通过openMP和blocking并行化它。在
有关详细文档,请参阅docs/。在
安装
记住事先要把你的环境设置好。例如,使用conda Python:
conda create -n stempel python=3.4
source activate stempel
克隆此存储库并运行: python ./setup.py install
如果您不熟悉python,这里有一个关于如何安装python包的教程:https://packaging.python.org/installing/。使用虚拟环境通常是一个不错的选择。在
- 其他要求是:
- kerncraft(用于生成性能模型)
- Intel Achitecture Code Analyzer (IACA),PATH环境变量中有(工作)iaca.sh(由ECM、ECMCPU和RooflineIACA模型使用)
- likwid(用于基准模型)
- PROVA!,以防您要运行完整的分析
使用
- 运行stempel C代码生成器
stempel gen -D 2 -r 1 -i
或者
stempel gen -D 2 -r 2 -k box -C variable -p
- 运行stempel基准生成器
stempel bench code.c -m machine_file.yaml -b
- 运行一个完整的分析(生成一个模板,通过kerncraft应用ECM/数据、屋顶线和层条件模型进行分析;在PROVA中建立一个项目!并进行了实验。输出存储到STEMPEL工作区):
analysis -w ~/Desktop/stempelwork -p ~/PROVA ~/Desktop/provastempel -k star -mBroadwellEP_E5-2697_CoD.yml-r 2 -d 2 -e 5 -t 2 4 8 10 --method_typeOpenMP-4.0-GCC-4.9.3-2.25-C constant -c isotropic -l /apps/likwid/system/include/ /apps/likwid/system/lib/ --iaca
学分
实施:Danilo Guerra
核心技术:朱利安·哈默
ECM模型(理论):乔治哈格,霍尔格·斯坦格尔,简·特雷比格
许可证
AGPLv3
- 项目
标签: