先说结果,我编译结果是CUDA未编译成功,OpenCL反而成功了。若有编译CUDA成功的可以交流一下。
不过貌似这不大影响我测试NVIDIA GPU及集群的结果吧。
一、ORNL简介:
ORNL是橡树岭国家实验室(Oak Ridge National Laboratory,简称ORNL)是美国能源部所属最大的科学和能源研究实验室,成立于1943年,现由田那西大学和Battelle纪念研究所共同管理。20世纪50、60年代,ORNL主要从事核能、物理及生命科学的相关研究。70年代成立了能源部后,使得ORNL的研究计划扩展到能源产生、传输和保存领域等。
目前,ORNL的任务是开展基础和应用项目的研发,提供知识和技术上的创新方法,增强美国在主要科学领域里的领先地位;提高洁净能源的利用率;恢复和保护环境以及为国家安全作贡献。ORNL在许多科学领域中都处于国际领先地位。它主要从事6个科学领域方面的研究,包括中子科学、能源、高性能计算、复杂生物系统、先进材料和国家安全。
我关注的站点是其中一个子项目中的内容(ORNL Future Technologies Group):http://ft.ornl.gov/doku/ft/start
二、ORNL SHOC简介
地址:http://ft.ornl.gov/doku/shoc/start
SHOC(Scalable HeterOgeneous Computing (SHOC) Benchmark Suite),中文我暂时翻译为“可扩展的异构计算基准套件”。
SHOC是基准程序的集合,用来测试系统的性能、稳定性以及测试编写这些在系统的软件。注意,这些系统采用的是非传统架构并用于通用计算。
说的很拗口吧,其实目前而言,针对的就是GPU(CUDA和OpenCL)的程序及系统,不仅单机,还可用于他们的集群测试 。
SHOC编译完成后,有CUDA的编译版本和OpenCL的编译版本。
三、特点
- 用OpenCL和CUDA编写的多个基准测试程序。
- 支持MPI的集群级并行
- 支持每节点多GPU的节点级并行
- 易用,测试报告清晰(与excel兼容)
- 可做大规模集群弹性测试(resiliency testing)的稳定性评测
四、基准程序
SHOC基准程序集主要分为两个类别:压力测试和性能测试。
压力测试用computationally demanding kernels来确定OpenCL设备是否有内存问题、冷却不足、或其他部件的问题。
性能测试根据复杂度和设备的性能本身细分为level 0,level 1和level 2,有点类似BLAS API。具体看看下面解释,我就不翻译了。
Level 0: Very low level device characteristics (so-called “feeds and speeds”) such as bandwidth across the bus connecting the GPU to the host or peak floating point operations per second(每秒浮点峰值)
Level 1: Device performance for low-level operations such as vector dot products and s