Hacker Newsnew | past | comments | ask | show | jobs | submit | rkevingibson's commentslogin

Yes, you can get very close to that API with this extension + existing Vulkan extensions. The main difference is that you still kind of need opaque buffer and texture objects instead of raw pointers, but you can get GPU pointers for them and still work with those. In theory I think you could do the malloc API design there but it's fairly unintuitive in Vulkan and you'd still need VkBuffers internally even if you didn't expose them in a wrapper layer. I've got a (not yet ready for public) wrapper on Vulkan that mostly matches this blog post, and so far it's been a really lovely way to do graphics programming.

The main thing that's not possible at all on top of Vulkan is his signals API, which I would enjoy seeing - it could be done if timeline semaphores could be waited on/signalled inside a command buffer, rather than just on submission boundaries. Not sure how feasible that is with existing hardware though.


From a cursory look at the code, I don't see any use of fused-multiply-add (FMA) which would likely help with precision issues in a number of places with the float version. The "problem in more detail"[1] readme specifically calls out computation of `x^2 - y^2` as a source for error, and that has methods that dramatically reduce error with FMAs[2].

[1] https://github.com/ProfJski/FloatCompMandelbrot/blob/master/... [2] https://pharr.org/matt/blog/2019/11/03/difference-of-floats


The author needs to learn about techniques for rendering deep zooms into the Mandelbrot set. Since 2013 it has been possible to render images that are 2^-hundreds across using mostly double precision arithmetic, apart from a few anchor points calculated with multiprecision (hundreds of bits) arithmetic.

The deep zoom mathematics includes techniques for introspecting the iterations to detect glitches, which need extra multiprecision anchor points to be calculated.

https://mathr.co.uk/blog/2021-05-14_deep_zoom_theory_and_pra...

https://dirkwhoffmann.github.io/DeepDrill/docs/Theory/Mandel...

In my experience of non-deep-zoom rendering, and contrary to the authors arguments, period detection works well for speeding up renders. It appeared to be fairly safe from false positives. https://dotat.at/@/2010-11-16-interior-iteration-with-less-p... https://dotat.at/prog/mandelbrot/cyclic.png


I've always wondered how those "Ten minute Mandelbrot zoom" videos worked, because there's no way double would last that long at a tolerable zoom rate.

The perturbation technique is interesting. Calculating just a few points with super high precision and then filling the pixels in between by adding an offset and continuing with lower precision halfway though the calculation seems plausible at a glance, but I'll have to read that more carefully later.

Thanks for sharing!


I've had some great success using posits for fractals. Unfortunately, soft(ware) posits so rather slow. But mathematically the results were great.


super interesting thanks, really.


But the goal of the study is expressly to highlight precision issues. Using such techniques wouldn't help to make them surface.


I wish someone made up a better explicit FMA syntax than std::fma(-c, d, cd) ... maybe something along the lines of ((-c * d + cd)) with special brackets or (-c) ⊠ d + cd with a special multiplication symbol.

And if only we could effectively use FMAs from javascript...


Not sure how you arrived at 60% - aren't federal capital gains topped off at 20%, and this bill only 7% for gains over $250,000?

Even if it is 60%, I think that's reasonable. In your case, why is the employee selling all of their stock in one year? If they sell over multiple years, they could get gains of up to $250,000 without paying any state tax, which is plenty.

I'd also be in favor of a state income tax, since the sales tax regime in Washington is very regressive.


> Not sure how you arrived at 60% - aren't federal capital gains topped off at 20%, and this bill only 7% for gains over $250,000?

They are this year, but the Biden proposal wants to raise tax for any income over $1m (LTCG included) to the top marginal rate of 39.6%. Add that to the proposals to increase SS to 12% for income over $400k, ~3% medicare tax, etc.

> why is the employee selling all of their stock in one year?

Because having all of your net worth in one company is a huge risk, and anyone wanting to mitigate risk would want to diversify as soon as possible.


Risk mitigation isn’t free. It’s 7% now.


... or, in this case, free if you just work for a FAANG or other public company and realize your income yearly rather than in a lump sum. If your end goal is to further dissuade engineers from joining startups, then "mission accomplished" I guess.


Yup, that's a mistake. Shouldn't have the +h term at the end.


I'm a little late to this thread, but wanted to thank you for the paper! I found it interesting enough to blog about it (https://rkevingibson.github.io/blog/neural-networks-as-ordin...).

I wonder if you've given any thought to generalizing to fractional differential equations? My intuition tells me that the dynamics that you're learning are "local" in the sense that the ODE solvers depend only on the current state (and maybe some recent history), whereas learning the dynamics of a fractional system could give the system a larger "history" in the case of your time-series models.


Only if the current party has a majority government, which isn't always the case.


It's mostly the case.


Surprised I haven't seen anyone post Markdeep here yet: https://casual-effects.com/markdeep/

Seems to cover a lot of the same ground, though it's not restricted to visual studio code.


I'm curious what you think the problems are that unbounded indices causes? Unsigned overflow is well defined in C++, so I don't see the problem here. AFAIK, the only issue would be with requiring power of 2 sizes.


Yeah. Just requires power of 2 sizes and handling of write_idx < read_idx.


AFAIK write_idx < read_idx case is handled automatically by doing the unsigned subtraction.

Power of 2 requirement stands, though.


Yes, this exact trick is used for tcp sequence numbers, for example, which are allowed to overflow, and as long as the unack'd bytes are less than 231 everything works fine as long as computation is done with unsigned integers.


(too late to edit)

HN ate my asterisks. s/231/2^31/


So they managed to make the touchpad twice as large, but couldn't find room for a row of keys?


How many people actually touch-type F7? In fact, how many even use the function keys for anything but the media controls? So in most situations it will greatly increase discoverability for shortcuts. And the only key that was easy to hit blindly, relied on being at the left edge for that – which doesn't change.


A lot of people? A lot of time?


Not really, no. Even a lot of the devs I know don't make more than occasional use of function keys, aside from maybe F5. Non-devs? Are you kidding?


Everybody around me (non-devs) just answered they use F5 to reload websites all the time. Are you kidding?


No, I'm expecting there to be a "Reload" button on the touch bar when a browser has focus.


Games use function keys all the time. You don't need to touch type them as they are grouped.


I've seen articles in the past few days about the email leaks on the washington post, and looking on CNN right now I see an article on the Podesta emails on the politics page. I've seen a lot of talk about hacking and emails this election. I would say the media is talking more about Trump's sexual assault accusers right now because either: a) The emails haven't been verified (as far as I know) b) There's nothing in them as scandalous as a sex scandal (as far as I can tell) c) Trump keeps saying scandalous things, which draws attention to himself.

A lot of the problems with the media, as far as I can tell, stem from the fact that no one is paying for it anymore. This leads the media to going for attention grabbing headlines, which means a sex scandal will always win out over any allegations of corruption.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: