HNHacker News
TopNewBestAskShowJobs

moelf

2,052 karma · joined November 6, 2015

https://github.com/Moelf/
submissionscomments
moelf··on Supercharged high-resolution ocean simulation with Jax
I'm not familiar with multi-GPU setup in general. GPU programming in Julia has the advantage that naive operation doesn't even need to be GPU-aware (for writers), since GPU arrays (of any vendor backend) conforms the AbstractArray interface.

If you're advanced library writer, you can leverage: https://juliagpu.github.io/KernelAbstractions.jl/stable/#Wri... which allows you to write kernel, in Julia, that compiles efficiently with rest of native Julia code, and that works cross-vendor!

Back to multi GPU, it seems there's: https://clima.github.io/OceananigansDocumentation/stable/app... which is MPI based?

moelf··on Supercharged high-resolution ocean simulation with Jax
>without a need to write any custom code, was the primary reason to choose JAX.

this is even more "free" in Julia, JAX at least need to worry when foreign call happens (library not derived from Numpy/JAX ecosystem, or outright C/C++ binding without JAX rules).

moelf··on Supercharged high-resolution ocean simulation with Jax
like some other commenters here, https://github.com/CliMA/Oceananigans.jl immediately comes to mind, maybe it would be fun to compare projects on this scale between JAX/Julia.

> JAX offers more than just a JIT compiler: JAX functions are also differentiable

if the downstream library is completely implemented in JAX (numba) ecosystem. Similar for Julia, except implementing fast code in Julia is natural, doesn't involve debugging 3 compilers (Cpython, Numba, Jax). Many python library is only differentiable because the 100x more effort were put in writing C/C++ backend, binding to python, and writing chain rules for foreign functions.

I would imagine Julia to be a good fit for this direction in the future!

moelf··on Julia 1.7 Highlights
try doing this year of Advent of Code in Julia!
moelf··on Flowers Make a Nice Gift
not so much about mentioning race/cultural difference. the new X girlfriend part I guess.
moelf··on Flowers Make a Nice Gift
>a new Chinese girlfriend

why does this sound, off... maybe it's just me

moelf··on An open letter against Apple's new privacy-invasive client-side content scanning
Do you produce most email attachment in your inbox yourself? Do you produce most photos on your iCloud yourself? The point is anti-virus (purposed) hash upload is different from your private iCloud content hash upload.
moelf··on Affinity 1.10
Linux version when (sorry, but I bought their product 4 years ago because they said they were making one)
moelf··on Julia Computing raises $24M Series A
http://makie.juliaplots.org/stable/

hopefully will soon be a dominant force in this direction

moelf··on Bring back menus, QR codes are terrible
how am I suppose to have a burner bank account to use with it? don't forget mobile number are associated with your identity in China
moelf··on Bring back menus, QR codes are terrible
these are everywhere in China now. They use WeChat pay or Alipay :)

I haven't been there in almost 3 years so it must have gotten a lot worse now, I doubt I can survive next time I visit.

moelf··on SKS Keyserver down due to GDPR filing
cf. discussion on r/archlinux: https://www.reddit.com/r/archlinux/comments/o5rcs6/psa_you_n...
moelf··on Julia: Faster than Fortran, cleaner than Numpy
Julia ships with OpenBLAS, in some cases there are pure-Julia "blas-like" routine that can be as fast:

https://github.com/mcabbott/Tullio.jl

moelf··on Julia: Faster than Fortran, cleaner than Numpy
in Julia:

\mu<tab>

moelf··on Julia: Faster than Fortran, cleaner than Numpy
>if you want to fuse the loops and get gpu/tpu for free

the work being done at JAX is great and Julia shares many of the goals (Julia would even be the pioneer in some cases). The best part is your library doesn't even need numpy/JAX as dependency. Yet your function that works on AbstractArray will work on arrays that live on GPU/TPU, for free. thanks to multi-dispatch, you don't need to write a ton of boiler plate code for interface and inherent some classes from JAX/numpy.

moelf··on Julia: Faster than Fortran, cleaner than Numpy
the raising of numba shows us why numpy and "just write vectorize-styled code with a C++ backend" is not enough.

yet Numba basically makes your python code not python. It doesn't support so many things: pandas dataframe, or even as simple as a dict(), which means you often have to manually feed your numba function separate arguments.

To separate a complicated calculation into numba-infer-able parts and the not ones is not fun and sometimes just impossible.

moelf··on Julia: Faster than Fortran, cleaner than Numpy
Julia has the best REPL for this. You can \<type><tab> to type unicode symbol and emoji.

Better yet, you can reverse look up how to type a thing:

  help?> χ²ᵢ
  "χ²ᵢ" can be typed by \chi<tab>\^2<tab>\_i<tab>
moelf··on Julia: Faster than Fortran, cleaner than Numpy
`precompile` is a one-time thing.

Actually loading them when running scripts is O(s) even for some of the biggest library (Plotting, Differential equations etc.)

moelf··on Julia: Faster than Fortran, cleaner than Numpy
I'm personally very empathetic to this. Fortunately, I think most "real" developers are pretty restraint regarding this in popular packages' code.

Some proper use casees IMHO are: 1. in "terminal" code: scripts, notebooks. 2. function internal variables 3. for making the code look like their counterpart of a paper.

idk what to think of 3. if you look at any paper, non of them only uses ASCII, which raises the question, if we're happy with reading papers (even CS ones) with symbols, why not in our code?

moelf··on Julia: Faster than Fortran, cleaner than Numpy
1. in Julia you can't write "vecotrize-styled" code by using `@.` without manually adding the dots everywhere and the result will be as fast in numpy "classic use case"

2. Have not-slow for-loops is invaluable precisely because sometimes your workload is not (either too hard, or impossible/bad in terms of RAM usage) suitable for vectorzie-styled code.

moelf··on Julia: Faster than Fortran, cleaner than Numpy
if it's that fast (<O(1s)) and your use-case is to call it many many times from ground-up, you sure should use Python or even bash since there's literally no performance to speak of. (i.e. nothing really changes the usability anyways)
moelf··on The rise of E Ink Tablets and Note Takers: reMarkable 2 vs Onyx Boox Note Air
https://twitter.com/KenoFischer/status/1333952722849198084
moelf··on Researchhub: GitHub for Science
I sure hope science doesn't solely depend on google sign in.... /s
moelf··on Advanced Situational Awareness [pdf]
no, and I think they don't have any reason to.

>DISTRIBUTION RESTRICTION: Approved for public release; distribution is unlimited.

moelf··on Pyston v2.2: faster and open source
AFAIK it doesn't play well with popular (read: omnipresence) libraries like Numpy?
moelf··on Julia 1.6: what has changed since Julia 1.0?
most of the users use an IDE or a notebook, no need to only use REPL.

If you're a old school editor -> terminal run kind of person, checkout https://github.com/dmolina/DaemonMode.jl

moelf··on Julia 1.6: what has changed since Julia 1.0?
any chance you use fzf for history search too? ;)
moelf··on Swift for TensorFlow Shuts Down
for example, if you have a relu activation function, it's literally just: relu(x) = max(zero(x), x)

now python has like 5 identical numpy-like API re-implemented in multiple framework. That's where resources is wasted (unnecessarily)

moelf··on Apple Silicon M1 chip in MacBook Air outperforms high-end 16-inch MacBook Pro
https://github.com/numpy/numpy/blob/master/doc/release/upcom...
moelf··on Julia 1.5 Highlights
with PackageCompiler.jl, you can do this within 100 ms
← PreviousPage 7 of 8Next →