https://github.com/fluxml/iarrays.jl
https://github.com/fluxml/iarrays.jl
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fluxml/iarrays.jl
- Owner: FluxML
- Created: 2020-02-03T14:46:03.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-08T15:29:00.000Z (over 6 years ago)
- Last Synced: 2025-02-27T03:50:03.970Z (over 1 year ago)
- Language: Julia
- Size: 1.95 KB
- Stars: 5
- Watchers: 8
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.
`IArray`s can largely be used as normal arrays, except that they are immutable.
```julia
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