Elamur Research⌕
☰
home / papers / 2018 / Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions

Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions

Paper · 2018 · Nicolas Vasilache, Oleksandr Zinenko, Theodoros Theodoridis et al.

Summary

Deep learning frameworks such as TensorFlow, PyTorch and Caffe2 mostly hand computation off to vendor libraries like CUDNN and CUBLAS. When researchers invent an operator those libraries do not cover, they must write a custom kernel by hand, which is costly and often slow. Even supported operators lose speed, because the libraries cannot fuse work across operators or adapt to specific tensor shapes.

The authors introduce Tensor Comprehensions (TC), a compact domain-specific language based on Einstein notation that infers tensor ranges and shapes automatically. A polyhedral just-in-time compiler turns TC programs into CUDA kernels, applying fusion, tiling, promotion into faster memory levels and specialization to concrete sizes. An autotuner searches mapping options and stores the best versions in a compilation cache. The system connects to PyTorch and Caffe2 through the ATen tensor library.

On ML-relevant kernels and on a Facebook production model, the generated code runs up to 4× faster than NVIDIA libraries. This lets domain experts get fast GPU code for new layers directly from a mathematical description.

Key points

  • Main components: the TC language, a polyhedral JIT compiler targeting CUDA, and an autotuner with a compilation cache. Integration with PyTorch and Caffe2 goes through ATen.
  • Fused lookup-table embeddings (2LUT) were tested at sizes E1 = E2 = 10^7, D = 64 and L1 = L2 = 50. The synthesized kernel ran about 4× faster than the CUB-based Caffe2 reference (4.1× on Pascal). A new two-stage shared-memory loading scheme was essential: without it, performance dropped by more than 5×.
  • MLP3 (three fused MLP layers) compiles into a single CUDA kernel, whereas frameworks typically issue 3–9 kernel calls. It runs up to 3.6× faster than the CUDNN/CUBLAS-based Caffe2 reference: 32 µs of runtime plus about 25 µs of overhead, partly caused by NVRTC.
  • On Pascal, a single fcrelu layer ran as much as 1.5× faster than CUBLAS, even without register-level optimization.
  • Planned future work includes:
    • more hardware targets;
    • systematic data-layout transformations;
    • automatic DAG partitioning;
    • symbolic autodiff on TC;
    • sparse and mixed-precision types.

Our summary of the paper, in our own words — not its text. The work belongs to its authors; read it at the links above.

 Fields, topics and concepts

Cite

Cite as Nicolas Vasilache, Oleksandr Zinenko, Theodoros Theodoridis, Priya Goyal, Zachary DeVito, William S. Moses, Sven Verdoolaege, Andrew Adams and Albert Cohen. 2018. Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions. arXiv:1802.04730.

The paper itself, not this page. BibTeX from the library's record of the work. DOI 10.48550/arxiv.1802.04730 · arXiv 1802.04730

@misc{vasilache2018tensor,
  title = {{Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions}},
  author = {Nicolas Vasilache, Oleksandr Zinenko, Theodoros Theodoridis, Priya Goyal, Zachary DeVito, William S. Moses, Sven Verdoolaege, Andrew Adams and Albert Cohen},
  year = {2018},
  doi = {10.48550/arxiv.1802.04730},
  eprint = {1802.04730},
  archivePrefix = {arXiv},
  url = {https://doi.org/10.48550/arxiv.1802.04730}
}

References

95 references, 8 of them with a card of ours. ↗ leads to the work, «find» searches for one we have no id for yet.

  1. M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin, S. Ghemawat, G. Irving, M. Isard, et al. TensorFlow: A system for large-scale machine learning. In OSDI, volume 16, pages 265–283, 2016.
  2. S. G. Andrew Lavin. Fast algorithms for convolutional neural networks. CoRR, abs/1509.09308, 2015, 1509.09308.
  3. R. Baghdadi, U. Beaugnon, A. Cohen, T. Grosser, M. Kruse, C. Reddy, S. Verdoolaege, A. Betts, A. F. Donaldson, J. Ketema, J. Absar, S. v Haastregt, A. Kravets, A. Lokhmotov, R. David, and E. Hajiyev. PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming. In 2015 Intern… find
  4. L. Bagnères, O. Zinenko, S. Huot, and C. Bastoul. Opening Polyhedral Compiler’s Black Box. In Proceedings of the 2016 International Symposium on Code Generation and Optimization, CGO 2016, pages 128–138, New York, NY, USA, 2016. ACM. find
  5. M. M. Baskaran, U. Bondhugula, S. Krishnamoorthy, J. Ramanujam, A. Rountev, and P. Sadayappan. A compiler framework for optimization of affine loop nests for GPGPUs. In Proceedings of the 22Nd Annual International Conference on Supercomputing, ICS ’08, pages 225–234, New York, NY, USA, 2008. ACM. find
  6. C. Bastoul. Code Generation in the Polyhedral Model Is Easier Than You Think. In Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, PACT ’04, pages 7–16, Washington, DC, USA, 2004. IEEE Computer Society. find
  7. U. Beaugnon, A. Kravets, S. van Haastregt, R. Baghdadi, D. Tweed, J. Absar, and A. Lokhmotov. Vobla: A vehicle for optimized basic linear algebra. In Proceedings of the 2014 SIG-PLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems, LCTES ’14, pages 115–124, New York, NY, USA… find
  8. O. Beckmann, A. Houghton, P. H. J. Kelly, and M. Mellor. Run-time code generation in C++ as a foundation for domain-specific optimisation. In Proceedings of the 2003 Dagstuhl Workshop on Domain-Specific Program Generation, 2003. find
  9. G. Belter, E. R. Jessup, I. Karlin, and J. G. Siek. Automating the generation of composed linear algebra kernels. In Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, SC ’09, pages 59:1–59:12, New York, NY, USA, 2009. ACM. find
  10. M.-W. Benabderrahmane, L.-N. Pouchet, A. Cohen, and C. Bastoul. The Polyhedral Model Is More Widely Applicable Than You Think. In R. Gupta, editor, Compiler Construction, number 6011 in Lecture Notes in Computer Science, pages 283–303. Springer, Mar. 2010. find
  11. U. Bondhugula, A. Acharya, and A. Cohen. The Pluto+ Algorithm: A Practical Approach for Parallelization and Locality Optimization of Affine Loop Nests. ACM Transactions on Programming Languages and Systems, 38(3):12:1–12:32, Apr. 2016. find
  12. U. Bondhugula, A. Hartono, J. Ramanujam, and P. Sadayappan. A Practical Automatic Polyhedral Parallelizer and Locality Optimizer. ACM SIGPLAN Notices, 43(6):101–113, 2008. find
  13. L. Bottou and Y. LeCun. Lush reference manual. http://lush.sf.net/doc.html, 2002. ↗
  14. C. Chen. Polyhedra Scanning Revisited. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’12, pages 499–508, New York, NY, USA, 2012. ACM. find
  15. C. Chen, J. Chame, and M. Hall. Chill: A framework for composing high-level loop transformations. Technical report, Technical Report 08-897, U. of Southern California, 2008. find
  16. T. Chen. TVM. http://tvmlang.org/2017/08/17/tvm-release-announcement.html, Aug. 2017. ↗
  17. T. Chen, M. Li, Y. Li, M. Lin, N. Wang, M. Wang, T. Xiao, B. Xu, C. Zhang, and Z. Zhang. MXNet: A flexible and efficient machine learning library for heterogeneous distributed systems. CoRR, abs/1512.01274, 2015, 1512.01274.
  18. T. Chen, T. Moreau, Z. Jiang, H. Shen, E. Yan, L. Wang, Y. Hu, L. Ceze, C. Guestrin, and A. Krishnamurthy. TVM: End-to-end optimization stack for deep learning, 2018, arXiv:1802.04799.
  19. H. Cheng, L. Koc, J. Harmsen, T. Shaked, T. Chandra, H. Aradhye, G. Anderson, G. Corrado, W. Chai, M. Ispir, R. Anil, Z. Haque, L. Hong, V. Jain, X. Liu, and H. Shah. Wide & deep learning for recommender systems. CoRR, abs/1606.07792, 2016, 1606.07792. — [arXiv:1606.07792](https://arxiv.org/abs/1606.07792) find
  20. F. Chollet et al. Keras. https://github.com/fchollet/keras, 2015. ↗
  21. D. C. Ciresan, U. Meier, L. M. Gambardella, and J. Schmidhuber. Deep big simple neural nets excel on handwritten digit recognition. CoRR, abs/1003.0358, 2010, 1003.0358. — [arXiv:1003.0358](https://arxiv.org/abs/1003.0358) find
  22. A. Cohen, S. Donadio, M. J. Garzarán, C. Herrmann, O. Kiselyov, and D. Padua. In search of a program generator to implement generic transformations for high-performance computing. Science of Computer Programming, 62(1):25–46, Sept. 2006. Special issue on the First MetaOCaml Workshop 2004. find
  23. A. Cohen, S. Girbal, D. Parello, M. Sigler, O. Temam, and N. Vasilache. Facilitating the search for compositions of program transformations. In ACM Intl. Conf. on Supercomputing (ICS), pages 151–160, Boston, Massachusetts, June 2005. find
  24. R. Collobert, K. Kavukcuoglu, and C. Farabet. Implementing neural networks efficiently. In G. Montavon, G. Orr, and K.-R. Muller, editors, Neural Networks: Tricks of the Trade. Springer, 2012. find
  25. S. Donadio, J. Brodman, T. Roeder, K. Yotov, D. Barthou, A. Cohen, M. J. Garzarán, D. Padua, and K. Pingali. A language for the compact representation of multiple program versions. In Languages and Compilers for Parallel Computing (LCPC), LNCS, Hawthorne, New York, Oct. 2005. Springer. 15 pages. find
  26. M. Dukhan. Peachpy: A python framework for developing high-performance assembly kernels. In Proceedings of the 3rd Workshop on Python for High Performance and Scientific Computing, 2013. find
  27. P. Feautrier. Dataflow Analysis of Array and Scalar References. International Journal of Parallel Programming, 20(1):23–53, 1991. find
  28. P. Feautrier. Some Efficient Solutions to the Affine Scheduling Problem. Part II. Multidimensional Time. International Journal of Parallel Programming, 21(6):389–420, 1992. find
  29. P. Feautrier and C. Lengauer. Polyhedron Model. In D. Padua, editor, Encyclopedia of Parallel Computing, pages 1581–1592. Springer, 2011. find
  30. B. B. Fraguela, G. Bikshandi, J. Guo, M. J. Garzarn, D. Padua, and C. von Praun. Optimization techniques for efficient hta programs. Parallel Computing, 38(9):465 – 484, 2012. find
  31. M. Frigo and S. G. Johnson. FFTW: An adaptive software architecture for the FFT. In Acoustics, Speech and Signal Processing, 1998. Proceedings of the 1998 IEEE International Conference on, volume 3, pages 1381–1384. IEEE, 1998. find
  32. S. Girbal, N. Vasilache, C. Bastoul, A. Cohen, D. Parello, M. Sigler, and O. Temam. Semi-Automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies. International Journal of Parallel Programming, 34(3):261–317, July 2006. URUK. find
  33. D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1st edition, 1989. find
  34. D. Golovin, B. Solnik, S. Moitra, G. Kochanski, J. E. Karro, and D. Sculley, editors. Google Vizier: A Service for Black-Box Optimization, 2017. find
  35. Protocol buffers developer guide. https://developers.google.com/protocol-buffers/docs/overview, 2017. ↗
  36. XLA: Domain-specific compiler for linear algebra to optimizes tensorflow computations. https://www.tensorflow.org/performance/xla, 2017. commit 0f1b88a. ↗
  37. P. Goyal, P. Dollár, R. B. Girshick, P. Noordhuis, L. Wesolowski, A. Kyrola, A. Tulloch, Y. Jia, and K. He. Accurate, large minibatch SGD: training ImageNet in 1 hour. CoRR, abs/1706.02677, 2017, 1706.02677. find
  38. S. Gray. Maxas: assembler for Nvidia Maxwell architecture. NervanaSystems/maxas, 2014. find
  39. T. Grosser, S. Verdoolaege, and A. Cohen. Polyhedral AST Generation Is More Than Scanning Polyhedra. ACM Transactions on Programming Languages and Systems, 37(4):12:1–12:50, July 2015. find
  40. V. Grover. personal communication, 2017. find
  41. K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. CoRR, abs/1512.03385, 2015, 1512.03385.
  42. G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. CoRR, abs/1207.0580, 2012, 1207.0580. find
  43. J. Johnson. Pytorch examples. https://github.com/jcjohnson/pytorch-examples, 2015. commit 0f1b88a. ↗
  44. N. P. Jouppi, C. Young, N. Patil, D. Patterson, G. Agrawal, R. Bajwa, S. Bates, S. Bhatia, N. Boden, A. Borchers, R. Boyle, P. Cantin, C. Chao, C. Clark, J. Coriell, M. Daley, M. Dau, J. Dean, B. Gelb, T. V. Ghaemmaghami, R. Gottipati, W. Gulland, R. Hagmann, C. R. Ho, D. Hogberg, J. Hu, R. Hundt, D… — In-Datacenter Performance Analysis of a Tensor Processing Unit
  45. K. Kennedy and J. R. Allen. Optimizing Compilers for Modern Architectures: A Dependence-Based Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002. find
  46. F. Kjolstad, S. Kamil, S. Chou, D. Lugato, and S. Amarasinghe. The tensor algebra compiler. Proc. ACM Program. Lang., 1(OOPSLA):77:1–77:29, Oct. 2017. find
  47. F. Kjolstad, S. Kamil, J. Ragan-Kelley, D. I. W. Levin, S. Sueda, D. Chen, E. Vouga, D. M. Kaufman, G. Kanwar, W. Matusik, and S. Amarasinghe. Simit: A language for physical simulation. ACM Trans. Graph., 35(2):20:1–20:21, Mar. 2016. find
  48. A. Klöckner. Loo.py: transformation-based code generation for gpus and cpus. CoRR, abs/1405.7470, 2014, 1405.7470. Proc. of ARRAY 2014: ACM SIGPLAN Workshop on Libraries, Languages, and Compilers for Array Programming. — [arXiv:1405.7470](https://arxiv.org/abs/1405.7470) find
  49. M. Kong, R. Veras, K. Stock, F. Franchetti, L. Pouchet, and P. Sadayappan. When polyhedral transformations meet SIMD code generation. In ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’13, Seattle, WA, USA, June 16-19, 2013, pages 127–138, 2013. find
  50. A. Krizhevsky, I. Sutskever, and G. E. Hinton. ImageNet classification with deep convolutional neural networks. In F. Pereira, C. J. C. Burges, L. Bottou, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 25, pages 1097–1105. Curran Associates, Inc., 2012.
  51. H. Le Verge, C. Mauras, and P. Quinton. The ALPHA language and its use for the design of systolic arrays. Journal of VLSI signal processing systems for signal, image and video technology, 3(3):173–182, Sep 1991. https://github.com/ ↗
  52. Y. LeCun, B. E. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. E. Hubbard, and L. D. Jackel. Handwritten digit recognition with a back-propagation network. In Advances in Neural Information Processing Systems 2, [NIPS Conference, Denver, Colorado, USA, November 27-30, 1989], pages 396–404, 1989… find
  53. M. Luján, T. L. Freeman, and J. R. Gurd. Oolala: An object oriented analysis and design of numerical linear algebra. In Proceedings of the 15th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA ’00, pages 229–252, New York, NY, USA, 2000. ACM. find
  54. B. Meister, N. Vasilache, D. Wohlford, M. M. Baskaran, A. Leung, and R. Lethin. R-Stream Compiler, pages 1756–1765. Springer, Boston, MA, 2011. find
  55. Microsoft unveils project brainwave for real-time ai. https://www.microsoft.com/en-us/research/blog/microsoft-unveils-project-brainwave, Aug. 2017. ↗
  56. M. L. Minsky and S. Papert. Perceptrons: an introduction to computational geometry; 1st ed. MIT, Cambridge, MA, 1969. find
  57. R. T. Mullapudi, A. Adams, D. Sharlet, J. Ragan-Kelley, and K. Fatahalian. Automatically scheduling halide image processing pipelines. ACM Transactions on Graphics (TOG), 35(4):83, 2016. find
  58. R. T. Mullapudi, A. Adams, D. Sharlet, J. Ragan-Kelley, and K. Fatahalian. Automatically scheduling halide image processing pipelines. ACM Trans. Graph., 35(4):83:1–83:11, July 2016. find
  59. R. T. Mullapudi, V. Vasista, and U. Bondhugula. Polymage: Automatic optimization for image processing pipelines. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’15, pages 429–443, New York, NY, USA, 2015. ACM. find
  60. M. Nickel, K. Murphy, V. Tresp, and E. Gabrilovich. A review of relational machine learning for knowledge graphs. Proceedings of the IEEE, 104(1):11–33, 2016. find
  61. F. Nielson, H. Nielson, and C. Hankin. Principles of Program Analysis. Springer, 1999. find
  62. Deploying deep neural networks with Nvidia TensorRT. https://devblogs.nvidia.com/parallelforall/deploying-deep-learning-nvidia-tensorrt, Apr. 2017. ↗
  63. Inside Volta: The worlds most advanced data center GPU. https://devblogs.nvidia.com/parallelforall/inside-volta, May 2017. ↗
  64. M. Pacula, J. Ansel, S. Amarasinghe, and U.-M. O’Reilly. Hyperparameter Tuning in Bandit-Based Adaptive Operator Selection, pages 73–82. Springer, Berlin, Heidelberg, 2012. find
  65. L.-N. Pouchet, U. Bondhugula, C. Bastoul, A. Cohen, J. Ramanujam, P. Sadayappan, and N. Vasilache. Loop transformations: Convexity, pruning and optimization. In 38th ACM Symp. on Principles of Programming Languages (POPL), Austin, Texas, Jan. 2011. find
  66. L.-N. Pouchet, P. Zhang, P. Sadayappan, and J. Cong. Polyhedral-based data reuse optimization for configurable computing. In Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA ’13, pages 29–38, New York, NY, USA, 2013. ACM. find
  67. B. Pradelle, B. Meister, M. Baskaran, J. Springer, and R. Lethin. Polyhedral optimization of tensorflow computation graphs. In 6th Workshop on Extreme-scale Programming Tools (ESPT, associated with SC’17), Nov. 2017. find
  68. W. Pugh and D. Wonnacott. Static Analysis of Upper and Lower Bounds on Dependences and Parallelism. ACM Trans. Program. Lang. Syst., 16(4):1248–1278, July 1994. find
  69. M. Püschel, J. M. F. Moura, B. Singer, J. Xiong, J. Johnson, D. Padua, M. Veloso, and R. W. Johnson. Spiral: A generator for platform-adapted libraries of signal processing alogorithms. The International Journal of High Performance Computing Applications, 18(1):21–45, 2004. find
  70. A. Putnam, A. Caulfield, E. Chung, D. Chiou, K. Constantinides, J. Demme, H. Esmaeilzadeh, J. Fowers, J. Gray, M. Haselman, S. Hauck, S. Heil, A. Hormati, J.-Y. Kim, S. Lanka, E. Peterson, A. Smith, J. Thong, P. Y. Xiao, D. Burger, J. Larus, G. P. Gopal, and S. Pope. A reconfigurable fabric for acce… find
  71. PyTorch: Tensors and dynamic neural networks in python with strong GPU acceleration. https://pytorch.org, 2017. ↗
  72. J. Ragan-Kelley, C. Barnes, A. Adams, S. Paris, F. Durand, and S. Amarasinghe. Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. ACM SIGPLAN Notices, 48(6):519–530, 2013. find
  73. R. Raina, A. Madhavan, and A. Y. Ng. Large-scale deep unsupervised learning using graphics processors. In Proceedings of the 26th Annual International Conference on Machine Learning, ICML ’09, pages 873–880, New York, NY, USA, 2009. ACM. find
  74. B. Recht, C. Re, S. Wright, and F. Niu. Hogwild: A lock-free approach to parallelizing stochastic gradient descent. In J. Shawe-Taylor, R. S. Zemel, P. L. Bartlett, F. Pereira, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 24, pages 693–701. Curran Associates, Inc.… find
  75. S. Rendle. Factorization machines. In Proceedings of the 2010 IEEE International Conference on Data Mining, ICDM ’10, pages 995–1000, Washington, DC, USA, 2010. IEEE Computer Society. find
  76. T. Rompf and M. Odersky. Lightweight modular staging: A pragmatic approach to runtime code generation and compiled dsls. In Proceedings of the Ninth International Conference on Generative Programming and Component Engineering, GPCE ’10, pages 127–136, New York, NY, USA, 2010. ACM. find
  77. M. D. Smith. Overcoming the challenges to feedback-directed optimization (keynote talk). In Proceedings of the ACM SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization, DYNAMO ’00, pages 1–11, New York, NY, USA, 2000. ACM. find
  78. J. Snoek, H. Larochelle, and R. P. Adams. Practical bayesian optimization of machine learning algorithms. In Proceedings of the 25th International Conference on Neural Information Processing Systems - Volume 2, NIPS’12, pages 2951–2959, USA, 2012. Curran Associates Inc. find
  79. D. G. Spampinato and M. Püschel. A basic linear algebra compiler for structured matrices. In Proceedings of the 2016 International Symposium on Code Generation and Optimization, CGO 2016, Barcelona, Spain, March 12-18, 2016, pages 117–127, 2016. find
  80. K. Stock, T. Henretty, I. Murugandi, P. Sadayappan, and R. Harrison. Model-driven SIMD code generation for a multi-resolution tensor kernel. In 2011 IEEE International Parallel & Distributed Processing Symposium (IPDPS), pages 1058–1067. IEEE, 2011. find
  81. Theano Development Team. Theano: A Python framework for fast computation of mathematical expressions. arXiv e-prints, abs/1605.02688, May 2016.
  82. L. Truong, R. Barik, E. Totoni, H. Liu, C. Markley, A. Fox, and T. Shpeisman. Latte: A language, compiler, and runtime for elegant and efficient deep neural networks. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’16, pages 209–223, New Yor… find
  83. N. Vasilache, J. Johnson, M. Mathieu, S. Chintala, S. Piantino, and Y. LeCun. Fast convolutional nets with fbfft: A GPU performance evaluation. CoRR, abs/1412.7580, 2014. find
  84. N. Vasilache, B. Meister, M. Baskaran, and R. Lethin. Joint scheduling and layout optimization to enable multi-level vectorization. In IMPACT-2: 2nd International Workshop on Polyhedral Compilation Techniques, Paris, France, Jan 2012. find
  85. T. Veldhuizen and E. Gannon. Active libraries: Rethinking the roles of compilers and libraries. In M. E. Henderson, C. R. Anderson, and S. L. Lyons, editors, Proceedings of the 1998 SIAM Workshop: Object Oriented Methods for Interoperable Scientific and Engineering Computing, pages 286–295. SIAM Pre… find
  86. S. Verdoolaege. Isl: An integer set library for the polyhedral model. In Proceedings of the Third International Congress Conference on Mathematical Software, ICMS’10, pages 299–302, Berlin, Heidelberg, 2010. Springer. find
  87. S. Verdoolaege. Counting Affine Calculator and Applications. In First International Workshop on Polyhedral Compilation Techniques (IMPACT’11), Chamonix, France, Apr. 2011. find
  88. S. Verdoolaege, J. Carlos Juega, A. Cohen, J. Ignacio Gómez, C. Tenllado, and F. Catthoor. Polyhedral Parallel Code Generation for CUDA. ACM Transactions on Architecture and Code Optimization, 9(4):54:1–54:23, Jan. 2013. find
  89. S. Verdoolaege and T. Grosser. Polyhedral extraction tool. In In Second International Workshop on Polyhedral Compilation Techniques (IMPACT12), 2012. find
  90. S. Verdoolaege, S. Guelton, T. Grosser, and A. Cohen. Schedule Trees. In 4th Workshop on Polyhedral Compilation Techniques (IMPACT, Associated with HiPEAC), page 9, Vienna, Austria, Jan. 2014. find
  91. S. Verdoolaege and G. Janssens. Scheduling for PPCG. Report CW 706, Department of Computer Science, KU Leuven, Leuven, Belgium, June 2017. find
  92. R. C. Whaley and J. J. Dongarra. Automatically tuned linear algebra software. In Proceedings of the 1998 ACM/IEEE Conference on Supercomputing, SC ’98, pages 1–27, Washington, DC, USA, 1998. IEEE Computer Society. find
  93. S. Xie, R. B. Girshick, P. Dollár, Z. Tu, and K. He. Aggregated residual transformations for deep neural networks. CoRR, abs/1611.05431, 2016, 1611.05431. find
  94. G. Zhou, C. Song, X. Zhu, X. Ma, Y. Yan, X. Dai, H. Zhu, J. Jin, H. Li, and K. Gai. Deep Interest Network for Click-Through Rate Prediction. ArXiv e-prints, June 2017, 1706.06978. find
  95. O. Zinenko, S. Verdoolaege, C. Reddy, J. Shirako, T. Grosser, V. Sarkar, and A. Cohen. Unified Polyhedral Modeling of Temporal and Spatial Locality. Technical Report RR-9110, Inria, Paris, France, Oct 2017. find

Updated

↑ back to top

This page in Markdown → https://md.research.elamur.ai/free/en/papers/vasilache-2018-tensor-comprehensions-framework-agnostic-high/