Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
GiggleLiu
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
1.
▲
by
GiggleLiu
6y ago
> What if the reversibility of a program was implemented at the function level? Are you finding NiLang? - an embedded domain specific language in Julia for creating reversible functions. Meanwhile, it has one of the best performance in a
2.
▲
by
GiggleLiu
6y ago
It is not clever to build a completely reversible computer. No one wants to undo the computing to erase the disk after training a neural network for a month. Reversible computing is not always more energy efficient. The "proof" fo
3.
▲
by
GiggleLiu
6y ago
Nice project, please also check this notebook of Billiard ball model cellular automata (BBMCA) in NiLang: https://giggleliu.github.io/NiLang.jl/dev/notebooks/margolus... . BBMCA is a reversible cellular autom
4.
▲
by
GiggleLiu
6y ago
According to [Michael Frank's video]( https://youtu.be/IQZ_bQbxSXk?t=547 ), there is an architectural overhead of ~500x that people can not get over (IIUC, this overhead only applies for gate based computing models). A r
5.
▲
by
GiggleLiu
6y ago
Graph embedding example is not missing, it in the appendix of the paper's master branch: https://github.com/GiggleLiu/nilangpaper/blob/master/invc.pd... The source code is available here: https:&#x
6.
▲
by
GiggleLiu
6y ago
This is the latest NiLang tutorial notebook: https://github.com/JuliaReverse/NiLangTutorial
7.
▲
by
GiggleLiu
6y ago
Snapshots can be freed through reverse computing in NiLang. Reverse computing has subtle relationship with checkpointing, see author's blog: https://nextjournal.com/giggle/reverse-checkpointing .
8.
▲
by
GiggleLiu
6y ago
Thanks for the link to the paper, also check the latest version here: https://github.com/GiggleLiu/nilangpaper/blob/master/invc.pd...
9.
▲
by
GiggleLiu
6y ago
1. Scalar level Various benchmarks (including those in the paper) show NiLang is much better than Zygote to differentiate scalar functions. And Zygote is much faster than TF and PyTorch. 2. Tensor level Zygote, TF and PyTorch are much bette
10.
▲
by
GiggleLiu
6y ago
Very good question. Floating point `+=` and `-=` are not exactly reversible. This is the only approximation that we have made in NiLang. To compile NiLang to a reversible device (rigorously reversible), we need to overhaul current number sy
11.
▲
by
GiggleLiu
6y ago
NiLang requires every instruction being reversible, e.g. `SWAP` and `y += f(args...)`. The back-propagation is implemented on a limited instruction set. It is different with Neural ODE because neural ODE does not back propagate the program
12.
▲
by
GiggleLiu
6y ago
The github page is https://github.com/GiggleLiu/NiLang.jl . Search “Reversible Computing” and “Reversible programming” for more discussions about reversible programming in Hacker news.
13.
▲
Show HN: Differentiate Everything with a Reversible Programming Language
(arxiv.org)
4 points
by
GiggleLiu
6y ago
|
1 comments