September 26, 2016
On Monday, 26 September 2016 at 11:56:39 UTC, Edwin van Leeuwen wrote:
> On Monday, 26 September 2016 at 11:46:19 UTC, Johan Engelen wrote:
>> On Monday, 26 September 2016 at 11:11:20 UTC, Joseph Rushton Wakeling wrote:
>>>
>>> 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.
>>
>> I guess this is my terrain. I'll think about writing that blog post :)
>>
>> Specific LDC features that I see in GLAS are:
>>
>> - __traits(targetHasFeature, ...)  , see https://wiki.dlang.org/LDC-specific_language_changes#targetHasFeature
>>
>> - @fastmath, see https://wiki.dlang.org/LDC-specific_language_changes#.40.28ldc.attributes.fastmath.29
>>
>> - Modules ldc.simd and ldc.intrinsics.
>>
>> - Extended allowed sizes for __vector (still very limited)
>>
>> To get an idea of what is different for LDC and DMD, this PR removed support for DMD: https://github.com/libmir/mir/pull/347
>>
>> -Johan
>
> Ah, I was not aware that DMD support was dropped completely. I think that is a real shame, and it makes it _much_ less likely that I will use mir in my own projects, let alone as a dependency in another library.

Shame is that D is not popular. I think that Mir can replace C / C++ for hight performance application. And became the best industry system language.

My goal is not a package for D community. My goal is a library for industry. A library that can involve new comers and extend D community multiple times.

Ilya
September 26, 2016
On Monday, 26 September 2016 at 11:32:20 UTC, Ilya Yaroshenko wrote:
> 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.

Hmmm, I was thinking more along the lines of just describing (very briefly) what features of LLVM Mir GLAS relies on.  But I think this might run the risk of endless re-revision.

One minor tweak:

"Mir is LLVM-Accelerated Generic Numerical Library" -> "Mir is an LLVM-Accelerated Generic Numerical Library"
September 26, 2016
On Monday, 26 September 2016 at 12:11:16 UTC, Ilya Yaroshenko wrote:
> On Monday, 26 September 2016 at 11:56:39 UTC, Edwin van Leeuwen wrote:
>> On Monday, 26 September 2016 at 11:46:19 UTC, Johan Engelen wrote:
>>> [...]
>>
>> Ah, I was not aware that DMD support was dropped completely. I think that is a real shame, and it makes it _much_ less likely that I will use mir in my own projects, let alone as a dependency in another library.
>
> Shame is that D is not popular. I think that Mir can replace C / C++ for hight performance application. And became the best industry system language.
>
> My goal is not a package for D community. My goal is a library for industry. A library that can involve new comers and extend D community multiple times.
>
> Ilya

EDIT: that Mir can help D to replace ...
September 26, 2016
On Monday, 26 September 2016 at 12:20:25 UTC, Joseph Rushton Wakeling wrote:
> "Mir is LLVM-Accelerated Generic Numerical Library" -> "Mir is an LLVM-Accelerated Generic Numerical Library"

Thanks, fixed
September 26, 2016
On 9/26/16 2:11 PM, Ilya Yaroshenko wrote:
> On Monday, 26 September 2016 at 11:56:39 UTC, Edwin van Leeuwen wrote:
>> On Monday, 26 September 2016 at 11:46:19 UTC, Johan Engelen wrote:
>>> On Monday, 26 September 2016 at 11:11:20 UTC, Joseph Rushton Wakeling
>>> wrote:
>>>>
>>>> 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.
>>>
>>> I guess this is my terrain. I'll think about writing that blog post :)
>>>
>>> Specific LDC features that I see in GLAS are:
>>>
>>> - __traits(targetHasFeature, ...)  , see
>>> https://wiki.dlang.org/LDC-specific_language_changes#targetHasFeature
>>>
>>> - @fastmath, see
>>> https://wiki.dlang.org/LDC-specific_language_changes#.40.28ldc.attributes.fastmath.29
>>>
>>>
>>> - Modules ldc.simd and ldc.intrinsics.
>>>
>>> - Extended allowed sizes for __vector (still very limited)
>>>
>>> To get an idea of what is different for LDC and DMD, this PR removed
>>> support for DMD: https://github.com/libmir/mir/pull/347
>>>
>>> -Johan
>>
>> Ah, I was not aware that DMD support was dropped completely. I think
>> that is a real shame, and it makes it _much_ less likely that I will
>> use mir in my own projects, let alone as a dependency in another library.
>
> Shame is that D is not popular. I think that Mir can replace C / C++ for
> hight performance application. And became the best industry system
> language.
>
> My goal is not a package for D community. My goal is a library for
> industry. A library that can involve new comers and extend D community
> multiple times.

I think we need to make it a point to support Mir in dmd. -- Andrei


September 26, 2016
On Monday, 26 September 2016 at 16:55:02 UTC, Andrei Alexandrescu wrote:
>
> I think we need to make it a point to support Mir in dmd. -- Andrei

+1, even if it's slow.
September 26, 2016
On Monday, 26 September 2016 at 16:55:02 UTC, Andrei Alexandrescu wrote:
>
> I think we need to make it a point to support Mir in dmd. -- Andrei

new thread https://forum.dlang.org/thread/pqgtvxklmedxuztopwiq@forum.dlang.org
September 26, 2016
On Monday, 26 September 2016 at 18:27:15 UTC, jmh530 wrote:
> On Monday, 26 September 2016 at 16:55:02 UTC, Andrei Alexandrescu wrote:
>>
>> I think we need to make it a point to support Mir in dmd. -- Andrei
>
> +1, even if it's slow.

I thought so too but if the algorithm is 50x slower, it probably means you can't develop that algorithm any more (I wouldn't). I think the common use-case for Mir is a calculation that takes seconds, so 50x turns a test into a run of several minutes...
(defeating the compilation speed advantage of DMD)

It is easy to want something, but someone else has to do it and live with it too. It's up to the Mir devs (**volunteers!**) to choose which compilers they support. As you can see from the PR that removed DMD support, the extra burden is substantial.

1 2 3 4 5
Next ›   Last »