为了分析 10^6 个遗传因素及其 GeneXGene 相互作用 (~5x10^11),我有许多独立的线性回归问题,这些问题可能适合在 GPU 上进行分析。
目标是使用包含交互项的线性回归详尽地搜索 GeneXGene 交互作用在调节结果变量(大脑表型)中的作用。
据我所知,Householder QR 分解可能是拟合回归模型的解决方案,但是,鉴于这项特定工作中的每个回归矩阵都可以轻松接近 ~ 10'000x10 的大小,即使每个单个回归矩阵似乎也不适合 GPU 片上内存(共享、寄存器等)。
我是否应该接受这是一个固有带宽受限的问题,并在回归分析期间将矩阵保留在 GPU 全局内存中,还是其他策略可行?
编辑 以下是有关该问题的更多详细信息:
将有大约 10'000 名受试者,每名受试者都有约 1M 的遗传参数(遗传矩阵:10'000x10^6)。每次迭代中的算法应选择此遗传矩阵的两列 (10'000x2) 以及大约 6 个与遗传数据无关的其他变量(年龄、性别等),因此最终回归模型将处理大小为 10 的矩阵'000x[2(遗传因素)+6(协变量)+2(截距和交互项)] 和结果变量向量(10'000x1)。对于给定的一对遗传因素,每次将重复此相同的过程约 5e11 次。那些通过预定义统计阈值的模型应保存为输出。
具体问题是,尽管有大约 5e11 个单独的回归模型,但即使是单个回归模型似乎也不适合片上存储器。
我还猜想坚持使用 CUDA 库可能不是这里的解决方案,因为这要求大部分数据操作都在 CPU 端进行,并且只将每个 QR 分解发送到 GPU?