SPLASH2并行测试程序
来源:互联网 发布:网盘看视频软件 编辑:程序博客网 时间:2024/06/06 05:03
SPLASH2
1992年,斯坦福大学推出了Stanford ParalleL Applications for SHared memory(SPLASH),1995年SPLASH第二版问世,被称为SPLASH-2。SPLASH-2使用C语言,由12个程序组成,使用PThread并行方式。
SPLASH-2包含4个核心程序:
- Cholesky:用于将一个稀疏矩阵拆分成一个下三角矩阵和它的转置的积;
- FFT:用于计算快速傅里叶变换;
- Radix:是分配存储地址的算法;
- LU:用于将一个稀疏矩阵拆分成一个下三角矩阵和一个上三角矩阵的积
另外还包含:
- Ocean:用于通过海洋的边缘的海流模拟整个海洋的运动;
- Radiosity:用于模拟光线在不同场景下的光影现象;
- Barnes: 用于模拟一个三维多体系统(例如星系);
- Raytrace:用于模拟光线的路径;
以及BARNS、FMM、Volrend、Water-Nsquared总共8个其他应用程序。
然而,SPLASH2确实太老了。其官方主页www-flash.stanford.edu/apps/SPLASH根本无法打开。以至没啥更好的资料。甚至连原始的SPLASH2程序都下载不了,好在http://kbarr.net/splash2上找到个作者提供的,解压时会提示一定问题,但是无关痛痒不影响使用。我这里也提供一份本地下载。
The Modified SPLASH-2
改善旧的SPLASH2,使其使用更现代的编程方法。具体的就是使用新版Pthread的一些并行编程方法,如Barrier。具体的更改可以看http://www.capsl.udel.edu/splash/ChangeLog.html。
使用方法:
- 下载原始SPLASH-2包,(地址见上文). 并解压到相应目录。
- 下载补丁。网址:http://www.capsl.udel.edu/splash/Download.html,本地下载,将它放入SPLASH-2解压后的目录中,并解压缩。
- 打补丁。命令:patch -p1<splash2-modified.patch
- 删除补丁文件splash2-modified.patch.
- 按照具体情况编辑splash2/codes/Makefile.config文件,尤其要检查里面关于splash程序包的路径是否正确。
- 在splash2/codes/null_macro文件夹中有三个宏:c.m4.null,c.m4.null.POSIX,c.mu.null.POSIX_BARRIER,具体选用哪个宏,在Makefile中指定。
其中第一个宏是将程序串行执行。后面两个都是支持并行运行的,其中最后一个支持栅栏同步。
- 命令:make开始对每个程序进行编译。
- 注意:其它的程序通过make编译良好,但在apps中有一个radiosity在编译时,必须先编译它下面的两个子文件夹。
- 其中每个分程序的运行都可以使用-h选项来查看需要哪些参数。例如 FFT –h,就可以得到如下结果:
Command line options:
-mM : M = even integer; 2**M total complex data points transformed.
-pP : P = number of processors; Must be a power of 2.
-nN : N = number of cache lines.
-lL : L = Log base 2 of cache line length in bytes.
-s : Print individual processor timing statistics.
-t : Perform FFT and inverse FFT. Test output by comparing the
integral of the original data to the integral of the data
that results from performing the FFT and inverse FFT.
-o : Print out complex data points.
-h : Print out command line options.
SPLASH-2有四个内核程序和8个应用程序。其中应用程序在运行的时候,必须在命令后加上输入文件,里面有样本范例。
转载自:寂寞巷 的博客
- SPLASH2并行测试程序
- splash2
- 测试并行程序
- 测试并行程序
- 测试并行程序
- 扩展 JUnit 测试并行程序
- 扩展 JUnit 测试并行程序
- Run SPLAHS2 under SE mode on gem5在gem5的SE模式下,运行SPLASH2程序
- 第一次linux下的ssh远程并行程序测试
- C++多核高级编程 - 08 并行程序的测试
- LCT:多线程Java程序的并行分布式测试工具
- 并行计算性能测试
- C#并行计算测试
- GPDB 并行加载测试
- 并行操作测试
- appium并行测试
- matlab2016并行操作测试
- Qt OpenMP并行程序
- 自定义Gallery实现立体,倒影的效果
- 输入框的值,能过选择日历来输入值
- HttpServletRequest的应用
- 提高 Linux 上 socket 性能
- openssl DES加密算法实现
- SPLASH2并行测试程序
- c++网上资源汇总
- __attribute__机制介绍
- 我与你一起学习JSP(四)——JSP的基础语法【二】
- 收集Cocos2d提供的字体!共57种(有对照的字体图)
- solr SearchHandler扩展,解决httpclient连接问题以及对连接异常的容错处理
- uploadify 请求错误的问题
- HTMlEncode和HTMLDecode、UrlEncode和 UrlDecode 定义和用法
- 百度地图学习(一)——为什么选择百度地图API?为何天朝下的生活总是这么丰富多彩?