On Monday, 26 September 2016 at 11:11:20 UTC, Joseph Rushton
Wakeling wrote:
On Saturday, 24 September 2016 at 07:20:25 UTC, Ilya Yaroshenko
wrote:
Please help to improve the blog post during this weekend. It
will be announced in the Reddit.
One other place that a little more explanation could be helpful
is this sentence:
"It is written completely in D for LDC (LLVM D Compiler),
without any assembler blocks."
It would be nice to describe (if it can be summarized in a
sentence) why Mir GLAS relies on LDC and/or LLVM, and what
differences in outcome can be expected if one uses a different
compiler (will it not work at all, or just not as well?).
The broader topic of what compiler features Mir GLAS uses could
be the topic of an entire blog post in its own right, and might
be very interesting.
Updated:
Mir is LLVM-Accelerated Generic Numerical Library for Science and
Machine Learning. It requires LDC (LLVM D Compiler) for
compilation. Mir GLAS (Generic Linear Algebra Subprograms) has a
single generic kernel for all CPU targets, all floating point
types, and all complex types. It is written completely in D,
without any assembler blocks. In addition, Mir GLAS Level 3
kernels are not unrolled and produce tiny binary code, so they
put less pressure on the instruction cache in large applications.