论文标题
DISTSTAT.JL:针对朱莉娅的高性能统计计算环境进行统一编程
DistStat.jl: Towards Unified Programming for High-Performance Statistical Computing Environments in Julia
论文作者
论文摘要
对于日常统计计算目的,对高性能计算(HPC)的需求越来越多。缺点是我们需要为每个HPC环境编写专门代码。需要对CPU级并行化进行明确编码,以有效使用群集超级计算环境中的多个节点。通过图形处理单元(GPU)加速需要编写内核代码。 Julia软件包DistStat.jl实现了在多节点CPU簇和多GPU环境上透明的分布式数组的数据结构。该软件包铺平了一种在各种HPC环境中共同开发高性能统计软件的方法。为了证明包装的透明度和可扩展性,我们为8-GPU工作站的大规模非负矩阵分解,多维缩放和$ \ ell_1 $调节的COX比例危害模型提供了应用程序。作为一个很好的例子,我们使用$ \ ell_1 $ regultarized Cox比例危害模型分析了来自英国生物库的2型糖尿病的现场。安装五十万个变化的回归模型的AWS需要不到50分钟。
The demand for high-performance computing (HPC) is ever-increasing for everyday statistical computing purposes. The downside is that we need to write specialized code for each HPC environment. CPU-level parallelization needs to be explicitly coded for effective use of multiple nodes in cluster supercomputing environments. Acceleration via graphics processing units (GPUs) requires to write kernel code. The Julia software package DistStat.jl implements a data structure for distributed arrays that work on both multi-node CPU clusters and multi-GPU environments transparently. This package paves a way to developing high-performance statistical software in various HPC environments simultaneously. As a demonstration of the transparency and scalability of the package, we provide applications to large-scale nonnegative matrix factorization, multidimensional scaling, and $\ell_1$-regularized Cox proportional hazards model on an 8-GPU workstation and a 720-CPU-core virtual cluster in Amazon Web Services (AWS) cloud. As a case in point, we analyze the on-set of type-2 diabetes from the UK Biobank with 400,000 subjects and 500,000 single nucleotide polymorphisms using the $\ell_1$-regularized Cox proportional hazards model. Fitting a half-million-variate regression model took less than 50 minutes on AWS.