Skip to content

FluxML/IArrays.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

IArrays

This is a prototype/proposal for more structured mutable array semantics in Julia, which is more easily compatible with AD and other program transformations.

IArrays can largely be used as normal arrays, except that they are immutable.

julia> xs = IArray(rand(3, 3))
3×3 IArray{Float64,2}:
 0.59274   0.76084   0.605007
 0.353013  0.773034  0.325377
 0.642339  0.237374  0.421283

julia> xs*xs
3×3 Array{Float64,2}:
 1.00855   1.18275   0.86105
 0.691138  0.943404  0.602178
 0.735142  0.772217  0.643335

Limitations:

  • Likely needs some (reasonably simple) compiler support to be remotely efficient.
    • i.e. immutable heap-allocated buffers + escape analysis
  • No GPU support yet
    • i.e. immutable heap-allocated GPU buffers

About

No description, website, or topics provided.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages