Tullio is a very flexible einsum macro. It understands many array operations written in index notation -- not just matrix multiplication and permutations, but also convolutions, stencils, scatter/gather, and broadcasting. Used by itself the macro writes ordinary nested loops much like Einsum.@einsum. One difference is that it can parse more expressions, and infer ranges for their indices. Another is that it will use multi-threading (via Threads.@spawn) and recursive tiling, on large enough arrays.

Features

  • It uses LoopVectorization.@avx to speed many things up
  • It uses KernelAbstractions.@kernel to make a GPU version
  • The macro also tries to provide a gradient for use with Tracker
  • The entire right hand side is summed over the full possible range of any indices not appearing on the left
  • Co-operates with various other packages
  • One difference is that it can parse more expressions

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Tullio.jl

Tullio.jl Web Site

Other Useful Business Software
AI-powered service management for IT and enterprise teams Icon
AI-powered service management for IT and enterprise teams

Enterprise-grade ITSM, for every business

Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
Try it Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Tullio.jl!

Additional Project Details

Programming Language

Julia

Related Categories

Julia Data Visualization Software

Registered

2023-11-06