Hacker News new | ask | show | jobs
by huqedato 655 days ago
Julia is a splendid, high performance language. And the most overlooked. Such a huge pity and shame that the entire current AI ecosystem is build on Python/Pytorch. Python - not a real programming language, let alone is interpreted... such a huge loss of performance besides Julia.
5 comments

I recognize the use of "not a real language" as traditional hyperbole[0]. I have my own gripes with python, even though it pays the bills, but this is just going to set off a load of people and is probably bad for discussion quality.

Ironically it's very hard to write actual low-level parallel code (like CUDA) through python, there's really no choice but to call out to Fortran and C libraries for the likes of pytorch.

[0] https://en.wikipedia.org/wiki/Real_Programmers_Don't_Use_Pas...

It’s all about the kernels tho. The language doesn’t matter much. For the things that matter, everything is a dispatch to some cuda graph

I’m not really a fan of this convergence but the old school imperative CPU way of thinking about things is dead in this space

One of the really nice things about Julia for GPU programming is that you can write your own kernels. CUDA.jl isn't just C kernels. This is why (for example) DiffEQGPU.jl is able to be a lot faster than the other GPU based ODE solvers (see https://arxiv.org/abs/2304.06835 for details).
> One of the really nice things about Julia for GPU programming is that you can write your own kernels. CUDA.jl isn't just C kernels.

Do y'all like understand that this isn't special to Julia and it isn't special to any language and it's 100% due to the fact that nvcc has an open-source counterpart in LLVM?

Like literally there are now dozens of languages that be used to author CUDA kernels because they all just target nvcc's flavor of ll. Eg you can do it in Python like 13 different ways - numba, taichi, etc all do it. You can even use the MLIR python bindings to directly emit nvgpu dialect and then lower to target specific llvmir.

as a major julia enthusiast I gotta say this is not how you get people to check it out buddy
> not a real programming language

Really? Why do you feel the need to say this? Not liking Python, sure, but this kind of comments is just stupid elitism. What's next, the only REAL programmers are the ones that make their own punch cards?

Theyre just trolling for a reaction. It is indeed a ridiculous statement.
Python is not a real programing language? That must come as a shocking revalation to the many thousand people running it successfully in production. /s

As someone who programs C/C++/Python/Rust/JS you had me curious in the first half of the post. But that comment makes me wonder about the quality of the rest of what you're saying.