Mary Lai O. Salvana, Sameh Abdulah, Minwoo Kim, David Helmy, Ying Sun, Marc G. Genton
{"title":"MPCR:R 中的多精度和混合精度计算软件包","authors":"Mary Lai O. Salvana, Sameh Abdulah, Minwoo Kim, David Helmy, Ying Sun, Marc G. Genton","doi":"arxiv-2406.02701","DOIUrl":null,"url":null,"abstract":"Computational statistics has traditionally utilized double-precision (64-bit)\ndata structures and full-precision operations, resulting in\nhigher-than-necessary accuracy for certain applications. Recently, there has\nbeen a growing interest in exploring low-precision options that could reduce\ncomputational complexity while still achieving the required level of accuracy.\nThis trend has been amplified by new hardware such as NVIDIA's Tensor Cores in\ntheir V100, A100, and H100 GPUs, which are optimized for mixed-precision\ncomputations, Intel CPUs with Deep Learning (DL) boost, Google Tensor\nProcessing Units (TPUs), Field Programmable Gate Arrays (FPGAs), ARM CPUs, and\nothers. However, using lower precision may introduce numerical instabilities\nand accuracy issues. Nevertheless, some applications have shown robustness to\nlow-precision computations, leading to new multi- and mixed-precision\nalgorithms that balance accuracy and computational cost. To address this need,\nwe introduce MPCR, a novel R package that supports three different precision\ntypes (16-, 32-, and 64-bit) and their combinations, along with its usage in\ncommonly-used Frequentist/Bayesian statistical examples. The MPCR package is\nwritten in C++ and integrated into R through the \\pkg{Rcpp} package, enabling\nhighly optimized operations in various precisions.","PeriodicalId":501215,"journal":{"name":"arXiv - STAT - Computation","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-06-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"MPCR: Multi- and Mixed-Precision Computations Package in R\",\"authors\":\"Mary Lai O. Salvana, Sameh Abdulah, Minwoo Kim, David Helmy, Ying Sun, Marc G. Genton\",\"doi\":\"arxiv-2406.02701\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Computational statistics has traditionally utilized double-precision (64-bit)\\ndata structures and full-precision operations, resulting in\\nhigher-than-necessary accuracy for certain applications. Recently, there has\\nbeen a growing interest in exploring low-precision options that could reduce\\ncomputational complexity while still achieving the required level of accuracy.\\nThis trend has been amplified by new hardware such as NVIDIA's Tensor Cores in\\ntheir V100, A100, and H100 GPUs, which are optimized for mixed-precision\\ncomputations, Intel CPUs with Deep Learning (DL) boost, Google Tensor\\nProcessing Units (TPUs), Field Programmable Gate Arrays (FPGAs), ARM CPUs, and\\nothers. However, using lower precision may introduce numerical instabilities\\nand accuracy issues. Nevertheless, some applications have shown robustness to\\nlow-precision computations, leading to new multi- and mixed-precision\\nalgorithms that balance accuracy and computational cost. To address this need,\\nwe introduce MPCR, a novel R package that supports three different precision\\ntypes (16-, 32-, and 64-bit) and their combinations, along with its usage in\\ncommonly-used Frequentist/Bayesian statistical examples. The MPCR package is\\nwritten in C++ and integrated into R through the \\\\pkg{Rcpp} package, enabling\\nhighly optimized operations in various precisions.\",\"PeriodicalId\":501215,\"journal\":{\"name\":\"arXiv - STAT - Computation\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-06-04\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - STAT - Computation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2406.02701\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - STAT - Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2406.02701","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
计算统计传统上使用双精度(64 位)数据结构和全精度运算,导致某些应用的精度高于所需的精度。最近,人们对探索低精度方案的兴趣日益浓厚,这种方案既能降低计算复杂度,又能达到所需的精度水平。英伟达™(NVIDIA®)V100、A100 和 H100 GPU(针对混合精度计算进行了优化)中的张量内核、具有深度学习(DL)功能的英特尔 CPU、谷歌张量处理单元(TPU)、现场可编程门阵列(FPGA)、ARM CPU 等新硬件的出现放大了这一趋势。然而,使用较低精度可能会带来数值不稳定性和精度问题。尽管如此,一些应用已经显示出对低精度计算的鲁棒性,从而产生了兼顾精度和计算成本的新型多精度和混合精度算法。为了满足这一需求,我们介绍了 MPCR,这是一个支持三种不同精度类型(16 位、32 位和 64 位)及其组合的新型 R 软件包,并介绍了它在常用的 Frequentist/Bayesian 统计示例中的用法。MPCR 软件包用 C++ 编写,并通过 \pkg{Rcpp} 软件包集成到 R 中,实现了各种精度下的高度优化操作。
MPCR: Multi- and Mixed-Precision Computations Package in R
Computational statistics has traditionally utilized double-precision (64-bit)
data structures and full-precision operations, resulting in
higher-than-necessary accuracy for certain applications. Recently, there has
been a growing interest in exploring low-precision options that could reduce
computational complexity while still achieving the required level of accuracy.
This trend has been amplified by new hardware such as NVIDIA's Tensor Cores in
their V100, A100, and H100 GPUs, which are optimized for mixed-precision
computations, Intel CPUs with Deep Learning (DL) boost, Google Tensor
Processing Units (TPUs), Field Programmable Gate Arrays (FPGAs), ARM CPUs, and
others. However, using lower precision may introduce numerical instabilities
and accuracy issues. Nevertheless, some applications have shown robustness to
low-precision computations, leading to new multi- and mixed-precision
algorithms that balance accuracy and computational cost. To address this need,
we introduce MPCR, a novel R package that supports three different precision
types (16-, 32-, and 64-bit) and their combinations, along with its usage in
commonly-used Frequentist/Bayesian statistical examples. The MPCR package is
written in C++ and integrated into R through the \pkg{Rcpp} package, enabling
highly optimized operations in various precisions.