A C plus plus Library for Tensor Decomposition

被引:0
|
作者
Huang, Jiapeng [1 ]
Kong, Linghe [1 ]
Liu, Xiao-Yang [2 ]
Qu, Wenhao [1 ]
Chen, Guihai [1 ]
机构
[1] Shanghai Jiao Tong Univ, Shanghai, Peoples R China
[2] Columbia Univ, New York, NY 10027 USA
关键词
Tensor Decomposition; Many-core Computing;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In this paper, we develop a new library TenDeC++ for tensor decompositions in C++. TenDeC++ supports popular tensor decomposition functions including Canonical Polyadic, Tucker, tensor-train, and t-SVD, assisting C++ programmers to shorten the development cycle of deep learning applications. Compared with the resource-intensive Python and MATLAB, C++ has the nature advantages on fast running time and high compatibility. To further explore potentials of C++, we propose a novel underlying technology PointerDefomer leveraging the unique pointer. Since the transformation between tensor and size-specific matrix is indispensable in tensor decompositions, PointerDefomer can virtually achieve such a transformation by controlling the movement of pointer in memory address. As a result, the conventional transformation steps can be skipped to accelerate the decomposition process and there is no memory needed for saving the intermediate results of tensor transformation. In our experiment, TenDeC++ reduces decomposition time and support larger size of tensor compared with the classic Tensorly in Python and TensorLab in MATLAB, respectively.
引用
收藏
页数:2
相关论文
共 50 条
  • [1] HPTT: A High-Performance Tensor Transposition C plus plus Library
    Springer, Paul
    Su, Tong
    Bientinesi, Paolo
    ARRAY'17: PROCEEDINGS OF THE 4TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON LIBRARIES, LANGUAGES, AND COMPILERS FOR ARRAY PROGRAMMING, 2017, : 56 - 62
  • [2] Computational wave optics library for C plus plus: CWO plus plus library
    Shimobaba, Tomoyoshi
    Weng, Jiantong
    Sakurai, Takahiro
    Okada, Naohisa
    Nishitsuji, Takashi
    Takada, Naoki
    Shiraki, Atsushi
    Masuda, Nobuyuki
    Ito, Tomoyoshi
    COMPUTER PHYSICS COMMUNICATIONS, 2012, 183 (05) : 1124 - 1138
  • [3] The Pinocchio C plus plus library
    Carpentier, Justin
    Saurel, Guilhem
    Buondonno, Gabriele
    Mirabel, Joseph
    Lamiraux, Florent
    Stasse, Olivier
    Mansard, Nicolas
    2019 IEEE/SICE INTERNATIONAL SYMPOSIUM ON SYSTEM INTEGRATION (SII), 2019, : 614 - 619
  • [4] SOSpin, a C plus plus library for Yukawa decomposition in SO(2N) models
    Cardoso, Nuno
    Emmanuel-Costa, David
    Goncalves, Nuno
    Simoes, C.
    COMPUTER PHYSICS COMMUNICATIONS, 2016, 203 : 178 - 200
  • [5] Quantum plus plus : A modern C plus plus quantum computing library
    Gheorghiu, Vlad
    PLOS ONE, 2018, 13 (12):
  • [6] Cosmo plus plus : An object-oriented C plus plus library for cosmology
    Aslanyan, Grigor
    COMPUTER PHYSICS COMMUNICATIONS, 2014, 185 (12) : 3215 - 3227
  • [7] Infosel plus plus : Information Based Feature Selection C plus plus Library
    Kachel, Adam
    Biesiada, Jacek
    Blachnik, Marcin
    Duch, Wlodzislaw
    ARTIFICIAL INTELLIGENCE AND SOFT COMPUTING, PT I, 2010, 6113 : 388 - +
  • [8] openGA, a C plus plus Genetic Algorithm library
    Mohammadi, Arash
    Asadi, Houshyar
    Mohamed, Shady
    Nelson, Kyle
    Nahavandi, Saeid
    2017 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS (SMC), 2017, : 2051 - 2056
  • [9] A Parallel RatSlam C plus plus Library Implementation
    de Souza Munoz, Mauro Enrique
    Menezes, Matheus Chaves
    de Freitas, Edison Pignaton
    Cheng, Sen
    de Almeida Neto, Areolino
    Muniz de Oliveira, Alexandre Cesar
    de Almeida Ribeiro, Paulo Rogerio
    COMPUTATIONAL NEUROSCIENCE, 2019, 1068 : 173 - 183
  • [10] A C plus plus Header Library for Web Applications
    Okamoto, Shusuke
    Kohana, Masaki
    PROCEEDINGS OF 2016 19TH INTERNATIONAL CONFERENCE ON NETWORK-BASED INFORMATION SYSTEMS (NBIS), 2016, : 541 - 545