Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
amkkma
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
18 ms
·
151.
▲
The missing harm of manual dispatch in Julia
(andreaskroepelin.de)
102 points
by
amkkma
6y ago
|
39 comments
152.
▲
by
amkkma
6y ago
That's not at all what Julia is doing. It's much more sophisticated in that it has very low level intrinsic primitives that can compose and it optimizes the IR to make it fast and then compiles it to CUDA. These all map to Julia
153.
▲
by
amkkma
6y ago
The GPU gap is only if written in the high level index or loop style. There is little to no gap if done either using array abstractions (broadcast, map etc) or at a level similar to Cuda C (though with nicer Julia abstractions and syntax):
154.
▲
by
amkkma
6y ago
And Julia can do custom ROCM codegen, either by itself or through array and kernel abstractions :) https://github.com/JuliaGPU/AMDGPU.jl https://juliagpu.gitlab.io/KernelAbstractions.jl/ https
155.
▲
by
amkkma
6y ago
You must be thinking of Julia pre 0.5
156.
▲
by
amkkma
6y ago
Wrong. Julia can call out to Cuda kernels, but it also does codegen for custom ops and types. Technically with enough engineering time, someone could rewrite all those C cuda kernels in julia, and julia would just generate low level machine
157.
▲
by
amkkma
6y ago
>neither are Julia gpu libraries Wrong. Julia can call out to Cuda kernels, but it also does codegen for custom ops and types. Technically with enough engineering time, someone could rewrite all those C cuda kernels in julia, and julia w
158.
▲
by
amkkma
6y ago
Those aren't needed, but they are options. "he templated implementation allows arbitrary array and number types to be compatible, giving compatibility with arbitrary precision floating point numbers, GPU-based computations, unit-c
159.
▲
by
amkkma
6y ago
For the person who downvoted me, care to refute my examples?
160.
▲
by
amkkma
6y ago
And do you have any evidence that well written (but still high level) Julia isn't faster/as fast as fortran in practice? Poorly written code in any language will be slow, so don't start with that.
161.
▲
by
amkkma
6y ago
>Writing a fast CUDA kernel requires quite a bit of low level GPU knowledge False. Not in Julia: https://juliagpu.gitlab.io/KernelAbstractions.jl/ https://github.com/mcabbott/Tullio.jl
162.
▲
by
amkkma
6y ago
The type system. Also making it a zero cost abstraction as mentioned by the other child comment. Type system and language semantics are critical for that as well, not just the compiler.
163.
▲
Grant of 3 blue 1 brown tutoring free MIT Computational Thinking course in Julia
(twitter.com)
5 points
by
amkkma
6y ago
|
0 comments
164.
▲
by
amkkma
6y ago
https://juliaacademy.com/ https://github.com/mitmath/6S083 https://www.youtube.com/watch?v=R84L-BQcjHw&t=905s
165.
▲
by
amkkma
6y ago
> pandas, numpy, scipy Julia more than covers all the functionality of those packages. >PIL https://github.com/JuliaImages/Images.jl > GDAL https://github.com/yeesian/ArchGDAL.jl https:&
166.
▲
by
amkkma
6y ago
>numerical optimisation stuff Yes, far exceeding python actually. - https://github.com/jump-dev/JuMP.jl - https://github.com/JuliaNLSolvers Are just some. > graphing Excellent support. - https
167.
▲
by
amkkma
6y ago
The short answer is yes, it's possible and easy. The longer answer is, that's a bit of an apples to oranges comparison. Pytorch is calling optimized c++ kernels, whereas Flux is completely generic and can do GPU and CPU codegen (i
168.
▲
by
amkkma
6y ago
Using pytorch/keras/TF from Julia is possible, and even pleasant: https://twitter.com/aureliengeron/status/1277751121440698368 Though I much prefer Flux.jl
169.
▲
by
amkkma
6y ago
It's been backwards compatible since the 1.0 release two years ago.
170.
▲
by
amkkma
6y ago
You aren't making a fair comparison here. Flux is more generic, flexible and thus harder to build. Julia could have been there already if the small ML team w was working with TF type design goals. But they aren't, and therefore a