Skip to content

hpcgarage/AdaTM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AdaTM

AdaTM is Adaptive Tensor Memoization algorithm for CP decomposition and its matricized tensor times Khatri-Rao product (MTTKRP) operation. AdaTM is to speedup a higher-order sparse MTTKRP sequence by removing redundant computations within it, and includes a model-driven framework to predict the optimal performance.

Supported operations:

  • Sparse matricized tensor times Khatri-Rao product (MTTKRP)
  • Sparse CANDECOMP/PARAFAC decomposition

Build requirements:

Build:

  1. Download SPLATT library.

  2. Copy all contents in AdaTM to SPLATT source code using `cp * [SPLATT DIR]'. Then the usage is the same with SPLATT.

  3. Type ./configure --adatm

  4. make; make install.

  5. Run MTTKRP: `splatt bench [TENSOR] -a adatm'

  6. Run CPD: `splatt cpd [TENSOR]'

Limitation

AdaTM is only implemented for CSF format, not including COO format yet. The code is closely built upon SPLATT library by using its CSF format and single MTTKRP implementation. It is released as a patch of SPLATT. We're working together to get more SPLATT functions exposed and will release more improved version in the future.


The algorithms and details are described in the following publications.

Publication

  • Model-Driven Sparse CP Decomposition for Higher-Order Tensors. Jiajia Li, Jee Choi, Ioakeim Perros, Jimeng Sun, Richard Vuduc. 31st IEEE International Parallel & Distributed Processing Symposium (IPDPS). 2017. [pdf] [slides]

Contributiors

License

AdaTM is released under the MIT License, you're free to redistribute it and/or modify it. Please see the 'LICENSE' file for details.

Releases

No releases published

Packages

No packages published