媒体只是单纯地报道了NVIDIA K40 GPU的发布,但是Xcelerit公司的工程师团队已经拿到了一块,并做了测试。Xcelerit是一家为加速器优化代码的商业公司,他们总是会拿到最新的加速器和多核芯片做基准测试

相比先前高端的开普勒K20X,NVIDIA的Tesla K40拥有更多的内存、更高的时钟频率和更多CUDA核心。但是,这些规范如何在真实世界的金融应用中对实际的性能方面造成影响?这就是Xcelerit团队想知道,所以他们进行K40和K20X之间的比较测试,利用Monte-Carlo LIBOR swaption portfolio pricer(一种基于伦敦同业拆借利率市场模拟的询价器)为测试基准。

K40和K20X的硬件规格如下: 

 

Tesla K20X

Tesla K40

SMX

14

15

CUDA Cores

2,688

2,880

Memory

6 GB

12 GB

Core Frequency

732 MHz

745 MHz

Max. Frequency

784 MHz

875 MHz

Memory Bandwidth

250 GB/s

288 GB/s

 Xcelerit技术负责人兼共同创始人约尔格·洛采解释说,除了在时钟速度、内核数量和内存方面的不同外,最大的改进是,K40具有可飙升频率的Boost模式。,可以加大CUDA核心上的频率。当温度不超过最大限制时,K40将可提高最多17%的频率,而K20X只能提升最多7%。此外当超过该温度限制将导致它们自动降频。 

基准采用蒙特卡洛伦敦银行同业拆借利率掉期期权组合定价。这是用于同业拆息定价的掉期期权的投资组合共同的金融算法。它涉及到数以千计的为LIBOR利率未来可能的发展路径的模拟。对于每一种路径,掉期期权组合的价值是通过运用投资组合收益函数计算。无论是最终的投资组合的价值还是利率敏感度值都是通过计算所有路径值的平均值获得。

由于有大量的路径,此算法需要更多核心和更高的时钟速度来获得更显著的性能提升。

Xcelerit用两个系统来测试基准软件,规格如下: 

 

K20X System

K40 System

CPU

2 Intel Xeon E5-2677 (2.9GHz)

2 Intel Xeon E5-2670 (2.6GHz)

GPU

NVIDIA Tesla K20Xm

NVIDIA Tesla K40m

OS

RHEL 6.2 (64bit)

RHEL 6.2 (64bit)

RAM

128GB

128GB

GPU driver

319.72

319.58

CUDA Toolkit

5.5

5.5

Host Compiler

GCC 4.4

GCC 4.4

性能测试结果

算法的原理如下:

所有的计算都在GPU上,因此CPU的不同不会对基准测试带来影响。注意,使用的是Xcelerit SDK,代码没有做任何改动。

“默认频率”下的boost结果:

Xcelerit在最大频率下测试了同样的程序(通过nvidia-smi tool提高了时钟频率),测试的性能结果如下图:

 

 为了更好的比较,下表显示了K40对比K20X GPU在不同数量的路径下的加速比: 

Paths

Speedup (def. clock, single)

Speedup (def. clock, double)

Speedup (max. clock, single)

Speedup (max. clock, double)

16K

1.15x

1.17x

1.21x

1.21x

256K

1.15x

1.17x

1.21x

1.26x

1024K

1.15x

1.18x

1.22x

1.28x