Memory Safe Computations with XLA Compiler

被引:0
|
作者
Artemev, Artem [1 ,2 ]
An, Yuze [1 ]
Roeder, Tilman [1 ]
van der Wilk, Mark [1 ]
机构
[1] Imperial Coll London, London, England
[2] Secondmind, Cambridge, England
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software packages like TensorFlow and PyTorch are designed to support linear algebra operations, and their speed and usability determine their success. However, by prioritising speed, they often neglect memory requirements. As a consequence, the implementations of memory-intensive algorithms that are convenient in terms of software design can often not be run for large problems due to memory overflows. Memory-efficient solutions require complex programming approaches with significant logic outside the computational framework. This impairs the adoption and use of such algorithms. To address this, we developed an XLA compiler extension(1) that adjusts the computational data-flow representation of an algorithm according to a user-specified memory limit. We show that k-nearest neighbour, sparse Gaussian process regression methods and Transformers can be run on a single device at a much larger scale, where standard implementations would have failed. Our approach leads to better use of hardware resources. We believe that further focus on removing memory constraints at a compiler level will widen the range of machine learning methods that can be developed in the future.
引用
收藏
页数:13
相关论文
共 50 条
  • [41] Safe Compiler-driven Transaction Checkpointing and Recovery
    Sreeram, Jaswanth
    Pande, Santosh
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 41 - 55
  • [42] Safe Parallelism: Compiler Analysis Techniques for Ada and OpenMP
    Royuela, Sara
    Martorell, Xavier
    Quinones, Eduardo
    Pinho, Luis Miguel
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2018, 2018, 10873 : 141 - 157
  • [43] ON COMPLEXITY OF COMPUTATIONS WITH LIMITED MEMORY
    KARPOVA, NA
    LECTURE NOTES IN COMPUTER SCIENCE, 1987, 278 : 234 - 235
  • [44] Orchestrating Safe Streaming Computations with Precise Control
    Li, Peng
    Agrawal, Kunal
    Buhler, Jeremy
    Chamberlain, Roger D.
    2014 20TH IEEE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2014, : 1017 - 1022
  • [45] A METHOD OF ORGANIZING FAIL-SAFE COMPUTATIONS
    KONDRATIEV, VN
    KRAVCHENKO, VF
    RVACHEV, VL
    DOKLADY AKADEMII NAUK SSSR, 1986, 287 (06): : 1342 - 1345
  • [46] Memory-compiler redundancy boosts yield
    Lipman, J
    EDN, 1999, 44 (18) : 22 - 22
  • [47] A DRAM Compiler for fully optimized memory instances
    Harling, G
    2001 IEEE INTERNATIONAL WORKSHOP ON MEMORY TECHNOLOGY, DESIGN AND TESTING, PROCEEDINGS, 2001, : 3 - 8
  • [48] A GPGPU Compiler for Memory Optimization and Parallelism Management
    Yang, Yi
    Xiang, Ping
    Kong, Jingfei
    Zhou, Huiyang
    ACM SIGPLAN NOTICES, 2010, 45 (06) : 86 - 97
  • [49] An overview of the APC compiler for distributed memory machines
    Zotov, S
    PDPTA'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS 1-4, 2003, : 1941 - 1945
  • [50] Enhancing compiler techniques for memory energy optimizations
    Zambreno, J
    Kandemir, MT
    Choudhary, A
    EMBEDDED SOFTWARE, PROCEEDINGS, 2002, 2491 : 364 - 381