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.


Reply via email to