It reads to me like ATL is actually more of a tensor compiler than a general-purpose language. In fact, I'd actually be curious if we could lower (subsets of) Julia to ATL, let it optimize the tensor expressions and…
In Julia you would just use an array of views for this, which can represent slices of arrays without any copies: julia> struct Muon p_T::Float64; phi::Float64; eta::Float64; end julia> a = reinterpret(Muon, rand(3*7))…
> how is running in debug compiled mode different than just...running the code normally? It's not. By default, the debugger will recursively interpret any nested function calls until it encounters any intrinsics, since…
I would not go as far as calling it very naive, there has certainly been some work put into optimizing performance within the current design. There are probably some gains to be had by using a different storage format…
Yes, it uses Debugger.jl, which relies on JuliaInterpreter.jl under the hood, so while you can tell the debugger to compile functions in certain modules, it will mostly interpret your code. You might be interested in…
Julia already comes with an interpreter, try starting your session with `julia --compile=min`. One part of the ongoing effort to reduce latencies is to allow package authors to specify optimization levels on a…
Check out https://github.com/fredrikekre/jlpkg. It does pretty much exactly what you are describing.
It reads to me like ATL is actually more of a tensor compiler than a general-purpose language. In fact, I'd actually be curious if we could lower (subsets of) Julia to ATL, let it optimize the tensor expressions and…
In Julia you would just use an array of views for this, which can represent slices of arrays without any copies: julia> struct Muon p_T::Float64; phi::Float64; eta::Float64; end julia> a = reinterpret(Muon, rand(3*7))…
> how is running in debug compiled mode different than just...running the code normally? It's not. By default, the debugger will recursively interpret any nested function calls until it encounters any intrinsics, since…
I would not go as far as calling it very naive, there has certainly been some work put into optimizing performance within the current design. There are probably some gains to be had by using a different storage format…
Yes, it uses Debugger.jl, which relies on JuliaInterpreter.jl under the hood, so while you can tell the debugger to compile functions in certain modules, it will mostly interpret your code. You might be interested in…
Julia already comes with an interpreter, try starting your session with `julia --compile=min`. One part of the ongoing effort to reduce latencies is to allow package authors to specify optimization levels on a…
Check out https://github.com/fredrikekre/jlpkg. It does pretty much exactly what you are describing.