[PATCH] D103710: Making LLVM Retargetable for Emerging Tensor Architectures

Abdul Rafae Noor via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 4 12:01:33 PDT 2021


RafaeNoor created this revision.
Herald added subscribers: ormris, mstorsjo, s.egerton, asbirlea, jfb, simoncook, kristof.beyls, mgorny, dschuff.
RafaeNoor requested review of this revision.
Herald added subscribers: llvm-commits, bbn, sstefan1, jdoerfert, aheejin.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a reviewer: baziotis.
Herald added a project: LLVM.

• There is an increasing number of emerging tensor architectures to support ML/HPC workloads.
• Examples: Google TPU (Cloud/Edge), NVDLA, Intel AMX, NVIDIA's Tensor Cores, Power MMA, ARM Ethos NPU, etc.
• Development of compiler infrastructures and other programming tools for each tensor architecture is expensive in terms of time and effort.
• Need for a retargetable code generation framework in LLVM to target emerging tensor architectures.
• LLVM is widely used to target CPUs and GPUs.
• Leverage the existing LLVM compiler infrastructure.
• Increase the chances of adoption of a code generation framework for emerging hardware.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D103710

Files:
  tensor-codegen/include/llvm/Analysis/TensorProperties.h
  tensor-codegen/include/llvm/IR/TensorType.h
  tensor-codegen/include/llvm/Transforms/Scalar/LowerTensorIntrinsics.h
  tensor-codegen/include/llvm/Transforms/Utils/TensorUtils.h
  tensor-codegen/lib/Analysis/TensorProperties.cpp
  tensor-codegen/lib/Transforms/Scalar/LowerTensorIntrinsics.cpp
  tensor-codegen/lib/Transforms/Tensor/CMakeLists.txt
  tensor-codegen/lib/Transforms/Tensor/Tensor.cpp
  tensor-codegen/llvm_patches/include/llvm/IR/Intrinsics.td
  tensor-codegen/llvm_patches/include/llvm/InitializePasses.h
  tensor-codegen/llvm_patches/include/llvm/LinkAllPasses.h
  tensor-codegen/llvm_patches/include/llvm/Transforms/Scalar.h
  tensor-codegen/llvm_patches/lib/Analysis/Analysis.cpp
  tensor-codegen/llvm_patches/lib/Analysis/CMakeLists.txt
  tensor-codegen/llvm_patches/lib/Transforms/CMakeLists.txt
  tensor-codegen/llvm_patches/lib/Transforms/IPO/PassManagerBuilder.cpp
  tensor-codegen/llvm_patches/lib/Transforms/Scalar/CMakeLists.txt
  tensor-codegen/llvm_patches/lib/Transforms/Scalar/Scalar.cpp
  tensor-codegen/tensor_eigen/Makefile
  tensor-codegen/tensor_eigen/README
  tensor-codegen/tensor_eigen/matmul_bench.cpp
  tensor-codegen/tensor_tests/Makefile
  tensor-codegen/tensor_tests/adce_test.c
  tensor-codegen/tensor_tests/cse_test.c
  tensor-codegen/tensor_tests/cse_test2.c
  tensor-codegen/tensor_tests/dce_test.c
  tensor-codegen/tensor_tests/dse_test.c
  tensor-codegen/tensor_tests/dse_test2.c
  tensor-codegen/tensor_tests/licm_test.c
  tensor-codegen/tensor_tests/licm_test2.c
  tensor-codegen/tensor_tests/licm_test3.c
  tensor-codegen/tensor_tests/loop_distribute_test.c
  tensor-codegen/tensor_tests/matmul.c
  tensor-codegen/tensor_tests/matmul.lowered.bc
  tensor-codegen/tensor_tests/matmul.lowered.s
  tensor-codegen/tensor_tests/matmul2.c
  tensor-codegen/tensor_tests/matmul_col_major.c
  tensor-codegen/tensor_tests/matmul_col_row.c
  tensor-codegen/tensor_tests/matmul_row_col.c
  tensor-codegen/tensor_tests/matmul_row_major.c
  tensor-codegen/tensor_tests/temp_relu.c
  tensor-codegen/tensor_tests/tensor.h
  tensor-codegen/tensor_tests/test.c
  tensor-codegen/tensor_tests/test.ll
  tensor-codegen/tensor_tests/test.lowered.ll
  tensor-codegen/tensor_tests/test.lowered.s
  tensor-codegen/tensor_tests/try
  tensor-codegen/tensor_tests/try.bc
  tensor-codegen/tensor_tests/try.o
  tensor-codegen/tensor_tests/try.s
  tensor-codegen/tensor_tuning/.gitignore
  tensor-codegen/tensor_tuning/autotuning.py
  tensor-codegen/tensor_tuning/matmul/dot.json
  tensor-codegen/tensor_tuning/matmul/eigen.json
  tensor-codegen/tensor_tuning/matmul/matmul.c
  tensor-codegen/tensor_tuning/matmul/rect1.json
  tensor-codegen/tensor_tuning/matmul/rect2.json
  tensor-codegen/tensor_tuning/matmul/square2.json
  tensor-codegen/tensor_tuning/parse_result.ipynb
  tensor-codegen/tensor_tuning/requirements.txt
  tensor-codegen/tensor_tuning/small_composite/composite.c
  tensor-codegen/tensor_tuning/small_composite/equal.json



More information about the llvm-commits mailing list