Hacker News new | ask | show | jobs
by ohsonice 2201 days ago
Appreciate this post. I remember when I first started using Julia, I wanted to type every argument to every function because I thought static typing made me hip. Ran into a lot of problems with my types not being wide enough, etc. and had no performance impact.

Also, good to know about the NamedTuple. I've been away from Julia for about a year and am starting to get back into some development with it.

On another note, I just found out today that my department's HPC is still running Julia 0.4 and since we are in between IT people are not going to update it. Considering rewriting my project in Fortran or C++, waiting for the day when Julia is a first-class language

3 comments

Julia 1.5 and 1.6 are going to have some really nice features performance-wise (1.5beta has cut a lot of allocations from my code and feels noticeably snappier than some older version).

Once they come out it might be worth having a push to get your cluster updated. I'm sure folks in the Julia slack (check out #HPC and #distributed) would be happy to help if they can, even if it's just at the level of building a local install in your user directory.

Thanks for the reply! Yes I've pushed for it to get updated but haven't seen any results due to IT turnover. Always excited to hear more performance improvements, yay :) shout out to the Julia dev team for doing great, intentional work.

They supposedly have the HPC setup so you can install your own version locally and submit it to the cluster but nothing happens when I do that (job is called successful after 1sec, no print statements do anything, no save statements, etc). I may take your suggestion to work with the Julia slack team, thanks.

Debugging slurm/pbs/cluster issues is no joke, but there are a few folks on Slack with relevant experience
I actually was able to solve this for myself. As often happens, I went to ask for help on Slack but first wanted to understand the problem better. Turns out, our old IT director (who was not loved in the dept because he was constantly taking away permissions) decided to make life 'easy' for us by creating a bash script that created the sbatch file for us. Debugging this file showed that it did not work correctly when using local installs. I was able to simply write my own sbatch file.

I submitted the fix to the IT team but I don't even know if anyone has the permissions to get in and fix it right now.

Try if the generic binaries just work for you. A lot of work has gone into making sure things just work even without root privileges, so you shouldn't have to wait for IT to get it set up for you.
Hopefully one day, Julia will include a static type checker. Until then, I think it's advisable to type every function just for the error messages alone: you'll always get dispatch errors on your functions, instead of some library functions instead. Makes things a lot easier to track down.