Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
moonchild
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
moonchild
1y ago
> Later version allowed to scan from arbitrary position by mirroring first bucket as last you may find my improved table design of interest, which avoids the need for mirroring: https://outerproduct.net/trivial/2022-
2.
▲
by
moonchild
2y ago
suppose the data were generated by a csprng with 256 bits of state. then in fact there are just slightly more than 256 bits of entropy there (prng state plus the length of the generated file). only, you'd have a snail's chance i
3.
▲
by
moonchild
2y ago
> "the" instance i suppose you can probably do anything with dependent types, but i'm not sure this is a useful perspective. i commend you to read my comments on the red website https://lobste.rs/s/xk
4.
▲
by
moonchild
2y ago
they are talking about treating ocr as lossy. i wonder about making a lossless compression algorithm for text scans based on an ocr; in effect, use the ocr to predict which text will show up and how, and then encode the pixel-level diffe
5.
▲
by
moonchild
2y ago
> they should be integers i am not cheating; you are cheating by trying to do integer arithmetic instead of float arithmetic. in particular: 99 * progress is a (potentially big) integer; then the quotient, from my understanding of pytho
6.
▲
by
moonchild
2y ago
depends how you define causality. if you consider the execution of one operation to cause the execution of the next operation in program order, then causality was already broken by simple reordering. if it's a read-write dependency,
7.
▲
by
moonchild
2y ago
> I've never heard anything about these sorts of graph algorithms being possible with good asymptotics in an array style yeah—idk graph algos really, but have heard parallelising combinatorial search in general (eg sat) is hard beca
8.
▲
by
moonchild
2y ago
what exactly do you mean by 'global parse'? it's very usual, i think, when operating on data stored in files, to parse them into in-memory structures before operating on them? but it feels like you are talking about somethi
9.
▲
by
moonchild
2y ago
lengyel told me he has implemented some sort of hinting on the gpu for slug (i suspect it's not programmable, but didn't ask)
10.
▲
by
moonchild
2y ago
programmable hinting was already a thing. it's just switching to wasm from a bespoke language
11.
▲
by
moonchild
2y ago
> 1/t^p i don't think that's right. it's just 1/t. after all, after t time, one task must have made progress; since there are t tasks, the probability that i'm the task that made progress is just 1/t
12.
▲
by
moonchild
2y ago
i saw this last week and was incredibly confused. aside from being naive it's totally overfit where general approaches are very well known??
13.
▲
by
moonchild
2y ago
> float hm ... >>> def percent(progress, total): ... return round(99 * progress / total + 0.5) ... >>> x = 9007199254740990.0 >>> x - 1 < x True >>> percent(x - 1, x) 100
14.
▲
by
moonchild
2y ago
> alignment granule if you have metadata to identify object starts then you can do 1 bit per min object size (which can be bigger than the alignment granule)
15.
▲
by
moonchild
2y ago
even single-output is a dag; you can explode the dag into a tree, but then you pay in time. suppose some expensive term x is used to compute n other terms. after computing x, assuming we want to share it, we have to compute all n terms be
16.
▲
by
moonchild
2y ago
greenspun's tenth rule: > Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
17.
▲
by
moonchild
2y ago
i would do a variable-size header 4 or 8 bytes for most small objects (8 if you want to provide alignment, 4 if not or if you can squish your pointers). one bit identifies if the header is small or large; if small, next few bits give the s
18.
▲
by
moonchild
2y ago
(dynamic) computation forms a dag, not a tree. i think a sum scan (n inputs -> n outputs) will trigger the worst case. it might be that computations tend to be tree-shaped, so you rarely hit the worst case, but that helps everybody out
19.
▲
by
moonchild
2y ago
feel free to ping on irc if interested in chatting more on the topic, though i'm not sure i have a ton more original thoughts atm if you have an expression with n terms, then you will end up with O(n) terms each taking up O(n) space, s
20.
▲
by
moonchild
2y ago
so a middle ground (as many pseudo-symbolic approaches). glanced at wikipedia—this seems not dissimilar conceptually to the abstract domain of polyhedra, in that it's symbolic but has a flat structure and expresses only linear relatio
21.
▲
by
moonchild
2y ago
you may find this interesting if you haven't seen it already: https://fredrikj.net/blog/2017/11/new-rigorous-numerical-int...
22.
▲
by
moonchild
2y ago
this requires all terms to be represented symbolically, which 'works', but now you need a full-blown symbolic rewrite engine to try to simplify things. very reasonable for an optimiser but not so much for numerics. for numerics
23.
▲
by
moonchild
2y ago
see xsum https://gitlab.com/radfordneal/xsum
24.
▲
by
moonchild
2y ago
yup, jitter does that too; e.g. https://ageinghacker.net/talks/jitter-slides--saiu--bts-2022... page 23 and 35 fwiw i thought this was a stupid, hacky, pointless approach when it was called jitter and i still think it&
25.
▲
by
moonchild
2y ago
> piggy back on the existing C compiler and whatever backends it already supports that is the whole point of jitter
26.
▲
by
moonchild
2y ago
Isn't copy and patch just jitter: new fangled kids' version?
27.
▲
by
moonchild
2y ago
I still don't see what you're getting at. What is the implication of this for software? The implementation of the cache coherency protocol is largely opaque to software.
28.
▲
by
moonchild
2y ago
Tbf you could say stores happen in order, and loads can happen out of order unless you fence. Personally I don't understand why we need such strong ordering constraints for weakly ordered reads—istm you can go much weaker and maintain
29.
▲
by
moonchild
2y ago
see the phrasebook https://www.jsoftware.com/help/phrases/contents.htm
30.
▲
by
moonchild
2y ago
> CPU's with data caches can to smart things with architecturally-defined locking instructions such as "test-and-set' or 'compare-and-exchange' such that the instructions are always cache-coherent across CPU'
More ›