Recent submissions

Comment · 1 year ago
Is arXiv a major trade publication?

I've never seen arXiv papers counted towards your publications anywhere that the number of your publications are used as a metric. Is USCIS different?

Comment · 3 years ago
GPUs are deterministic machines, even for floating point.

The behavior in the linked article has to do with the use of atomic adds to reduce sums in parallel. Floating point addition is not associative, so the order in which addition occurs matters. When using atomic adds this way, you get slightly different results depending on the order in which threads arrive at the atomic add call. It's a simple race condition, although one which is usually deemed acceptable.

Comment · 3 years ago
I think there may be a misunderstanding here regarding the use case. If the vectors are large and allocated on the heap/on an accelerator, then yes, writing out explicit temporaries may be faster. Of course, this does not preclude operator overloading at all: You could write the same code as auto t = vec1 - vec2; t *= 0.5/0.3; t += vec3; t *= 0.3;

However, if the operands are small (e.g. 2/3/4 element vectors are very common), then "unnecessary copies" or move semantics don't come into play at all. These are value types and the compiler would boil them down to the same assembly as the code you post above. Many modern C++ codebases in scientific computing, rendering, or the game industry make use of vector classes with operator overloading, with no performance drawbacks whatsoever; however, code is much more readable, as it matches actual mathematical notation.

Comment · 3 years ago
Oh wow, I bump into you everywhere!
Comment · 8 years ago
Checked for my home country (Switzerland), and it doesn't seem to be correct - travel to Canada requires an eTA, but the site lists Canada as being visa free. Could get you in for an unpleasant surprise when your airline won't let you board (they check for eTA at check-in).
Comment · 9 years ago
I'd be interested to read that paper, if you're willing to share it.
Comment · 9 years ago
Any entry level optimization course will make you implement something like that; do a matrix+matrix addition, but traverse it in row-major order in one program, and column-major in the other. If the matrix is big enough, you will easily get a 10x difference. For even larger sizes (once you thrash the TLB), you will get an additional factor.

You might not get up to 60, but this is just a simple matrix addition. Even just matrix multiplication might be enough to get a 60x difference just with optimizing for memory hierarchy. I expect that high-performance memory bound programs are more complex than matrix multiplication, so the parent comment's claim doesn't seem too unlikely to me.

Comment · 10 years ago
I like the idea! But is there a reason why it's only available in app form? I was going to try it and see what gifts were available/how much they cost, but I can't do that from the website. I'm not going to install an app on my phone just to see whether it's affordable (and so I'm unlikely to try it at all).

I don't see why this couldn't be done in a Desktop browser (just enter a phone number/email address instead of selecting a contact).

Comment · 10 years ago
Are all of those ethernet cables? I can't say I know much about wiring, but that seems like a bit overkill.
Comment · 10 years ago
But this does use solar panels.

> The device uses solar electricity from a photovoltaic panel to power the chemistry that splits water into oxygen and hydrogen. Microbes within the system then feed on the hydrogen and convert carbon dioxide in the air into alcohol that can be burned as fuel

Only the hydrogen + co2 -> alcohol part uses biological components.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton