假设检验和GPGPU

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假设检验和GPGPU相关的知识,希望对你有一定的参考价值。

我是GPGPU和编程的新手。我很想知道是否可以使用CUDA在GPGPU(SIMD)中实现统计假设检验,如单样本Kolmogorov-Smirnov检验(K-S检验)和Levene检验?如果是这样,会有什么限制?

答案

我刚刚阅读了有关这些测试的Web定义,但是,如果我理解正确,它们可以通过SIMD表达的并行性(特别是由CUDA实现)来适当加速。

在K-S测试中,必须计算N个样本的函数和估计之间的差异,然后取最大差异。换句话说,必须对N个不同的值执行相同的操作,这恰好是SIMD(单指令,多数据)。

在Levene的测试中,在N个不同的值上再次存在相同的差异,平方和乘法。

SIMD可以做的是对N个值集的一种FOR语句,前提是迭代彼此独立。因此,例如在CUDA中,编译器可以将迭代分配给图形设备的处理元件,从而并行执行,在单次迭代时对所有数据运行FOR循环。

CUDA工具包提供了一个特定的C / C ++编译器(NVCC),其中特殊指令被分派到GPGPU而不是CPU,因此被分发到其并行处理元件。

以上是关于假设检验和GPGPU的主要内容,如果未能解决你的问题,请参考以下文章

第九章 假设检验

假设检验和ABTEST(二)

数理统计学习统计假设检验

假设检验法

假设性检验的作用都有哪些?

如何评估假设检验的好坏