HackerTrans
TopNewTrendsCommentsPastAskShowJobs

mkbosmans

no profile record

comments

mkbosmans
·2 месяца назад·discuss
Nobody says they have no limitations. The question is are those limitation fundamental, i.e. can we expect improvement, say within a year.
mkbosmans
·4 месяца назад·discuss
No need for radical changes.

  def visit_bf(g):
    n, children = g
    yield n
    if children:
        iterators = [iter(visit_df(c)) for c in children]
        while iterators:
            try:
                yield next(iterators[0])
            except StopIteration:
                iterators.pop(0)
            iterators = iterators[1:] + iterators[:1]
The difference between DFS and BFS is literally just the last line that rotates the list of child trees.

Python is a pretty mainstream language and even though the DFS case can be simplified by using `yield from` and BFS cannot, I consider that just to be syntactic sugar on top of this base implementation.
mkbosmans
·4 месяца назад·discuss
Well, the article says that the effect of the impact was much larger than the scientists expected. That doesn't really give a lot of confidence in how good we are at predicting these things.
mkbosmans
·4 месяца назад·discuss
I'm sorry, that second reference was actually for the 3.5ULP variant. The 1 ULP is here: https://github.com/shibatch/sleef/blob/master/src/libm/sleef...
mkbosmans
·4 месяца назад·discuss
One of the ways that the classics can be improved is not to take the analytic ideal coefficients and approximate them to the closest floating point number, but rather take those ideal coefficients as a starting point for a search of slightly better ones.

The SLEEF Vectorized Math Library [1] does this and therefore can usually provide accuracy guarantees for the whole floating point range with a polynomial order lower than theory would predict.

Its asinf function [2] is accurate to 1 ULP for all single precision floats, and is similar to the `asin_cg` from the article, with the main difference the sqrt is done on the input of the polynomial instead of the output.

[1] https://sleef.org/ [2] https://github.com/shibatch/sleef/blob/master/src/libm/sleef...
mkbosmans
·4 месяца назад·discuss
That's not just a good prediction—it is literally already happening right now!
mkbosmans
·4 месяца назад·discuss
Nothing on that list has been named that way by Euler himself of course.
mkbosmans
·5 месяцев назад·discuss
That seems to be due to he microcontroller using its pins in duplex. There is indeed no radiation being emitted in that case, just the lamp and rotation.

https://news.ycombinator.com/item?id=46979936
mkbosmans
·9 месяцев назад·discuss
I saw that you used `float z;` to later use `z` instead of the constant `0.`. You can also apply that to get a zero vector: `vec3 y;` and use `y` in place of `p-p`.

It seems that leaving the obsession behind some more can save another byte.
mkbosmans
·9 месяцев назад·discuss
Another two bytes found (I think)

  (d==0.?K*.01*h:c-c)
could become

  (d>0.?.0:.01)*K*h
mkbosmans
·10 месяцев назад·discuss
Especially in HPC there are lots of workloads that do not benefit from SMT. Such workloads are almost always bottlenecked on either memory bandwidth or vector execution ports. These are exactly the resources that are shared between the sibling threads.

So now you have a choice of either disabling SMT in the bios, or make sure the application correctly interprets the CPU topology and only spawns one thread per physical core. The former is often the easier option, both from software development and system administration perspective.
mkbosmans
·10 месяцев назад·discuss
Sort of niche indeed.

In addition to needing SMT to get full performance, there were a lot of other small details you needed to get right on Xeon Phi to get close to the advertised performance. Think of AVX512 and the HBM.

For practical applications, it never really delivered.