ParametricOperators.jl

Scalable and distributed matrix-free abstractions for machine learning and scientific computing
Author slimgroup
Popularity
3 Stars
Updated Last
5 Months Ago
Started In
August 2022

ParametricOperators.jl

Documenter TagBot

ParametricOperators.jl is a Julia Language-based scientific library designed to facilitate the creation and manipulation of tensor operations involving large-scale data using Kronecker products. It provides an efficient and mathematically consistent way to express tensor programs and distribution in the context of machine learning.

Note

ParametericDFNOs.jl is built on ParametricOperators.jl

Features

  • Kronecker Product Operations: Implement tensor operations using Kronecker products for linear operators acting along multiple dimensions.
  • Parameterization Support: Enables parametric functions in tensor programs, crucial for statistical optimization algorithms.
  • High-Level Abstractions: Close to the underlying mathematics, providing a seamless user experience for scientific practitioners.
  • Distributed Computing: Scales Kronecker product tensor programs and gradient computation to multi-node distributed systems.
  • Domain-Specific Language: Optimized for Julia's just-in-time compilation, allowing for the construction of complex operators entirely at compile time.

Setup

julia> using Pkg
julia> Pkg.activate("path/to/your/environment")
julia> Pkg.add("ParametricOperators")

This will add ParametricOperators.jl as dependency to your project

Documentation

Check out the Documentation for more or get started by running some examples!

Issues

This section will contain common issues and corresponding fixes. Currently, we only provide support for Julia-1.9

Authors

Richard Rex, richardr2926@gatech.edu
Thomas Grady
Mark Glines