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

You Might Also Like
Achieve perfect load balancing with a flexible Open Source Load Balancer Icon
Achieve perfect load balancing with a flexible Open Source Load Balancer

Take advantage of Open Source Load Balancer to elevate your business security and IT infrastructure with a custom ADC Solution.

Boost application security and continuity with SKUDONET ADC, our Open Source Load Balancer, that maximizes IT infrastructure flexibility. Additionally, save up to $470 K per incident with AI and SKUDONET solutions, further enhancing your organization’s risk management and cost-efficiency strategies.
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