Skip to content

GSoC 2021 Ideas Page

Hameer Abbasi edited this page Mar 14, 2021 · 2 revisions
  1. LLVM Back-end for the Tensor Algebra Compiler (TACO)
    • Description: The TACO project does some JIT compilation in an ad-hoc manner by writing out *.c files, compiling them and dynamically linking them into the executable. We would like to have a back-end for TACO that produces LLVM bytecode using the LLVM C++ API, and also compiles it in-memory.
    • Skills: LLVM bytecode, LLVM C++ API
    • Difficulty Level: Hard
    • Related Readings/Links:
    • Potential mentors: Guilherme Leobas (@guilhermeleobas), Hameer Abbasi (@hameerabbasi)
  2. Completion of Python Bindings for the TACO compiler
    • Description: The TACO project has partial Python bindings, but these are missing tests and API coverage. We'd like to add some tests and more API coverage to the Python bindings.
    • Skills: C++/pybind11 knowledge
    • Difficulty Level: Medium
    • Related Readings/Links:
    • Potential mentors: Dale Tovar (@daletovar), Hameer Abbasi (@hameerabbasi)
  3. Creating a conda-forge package for TACO
    • Description: The TACO project has no conda-forge package. We'd like to have one so we can depend on it in PyData/Sparse
    • Skills: CMake/conda packaging knowledge
    • Difficulty Level: Medium
    • Related Readings/Links:
    • Potential mentors: John Lee (@leej3), Hameer Abbasi (@hameerabbasi)
  4. CSR/CSC format support and performance
    • Description: The sparse project has the GCXS format, which is a generalization of CSR/CSC. Ideally, we'd like to special case it for CSR/CSC as well as have better performance for certain operations.
    • Skills: Python knowledge, data structures and algorithms
    • Difficulty Level: Easy
    • Related Readings/Links:
    • Potential mentors: Dale Tovar (@daletovar), Hameer Abbasi (@hameerabbasi)

Clone this wiki locally