by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jul 04 06:01
    tastyminerals commented #403
  • Jul 03 07:09
    9il commented #403
  • Jul 03 05:16
    tastyminerals starred libmir/mir
  • Jul 03 05:15
    tastyminerals closed #403
  • Jul 03 05:15
    tastyminerals commented #403
  • Jul 03 05:13
    tastyminerals commented #403
  • Jul 03 05:12
    tastyminerals commented #403
  • Jul 03 04:03
    9il commented #403
  • Jul 03 01:25
    mridsole starred libmir/mir
  • Jul 02 18:29
    tastyminerals edited #403
  • Jul 02 18:29
    tastyminerals opened #403
  • May 29 23:33
    miguelmartin75 starred libmir/mir
  • Apr 26 05:56
    atsushiKojima starred libmir/mir
  • Mar 31 12:30

    9il on master

    Update README.md (compare)

  • Mar 30 06:00

    9il on v3.2.1

    (compare)

  • Mar 30 06:00

    9il on master

    fix meson (compare)

  • Mar 30 05:54

    9il on master

    update readme (compare)

  • Mar 30 05:53

    9il on master

    add meson & update ci (compare)

  • Jan 27 17:48
    zweimach starred libmir/mir
  • Dec 27 2019 17:00
    chapman2014 starred libmir/mir
Ilya Yaroshenko
@9il
Screen Shot 2017-11-05 at 12.59.21.png
proposed new Mir logo
Feedback or alternatives are welcome. I am looking for a soft logo instead of current one
Nicholas Wilson
@thewilsonator
IDK, i like the current one, it looks distinctive. That one looks ...bland.
Ilya Yaroshenko
@9il
We need a bland one :-(
or somtihing soft
Maybe we can change it back after a while
Matt Ranger
@VHRanger
hey guys. I think for the long run (3-5 years) it would be in the best interest for libmir to have an interface with apache arrow. Apache arrow is poised to replace pandas in that timeframe
and interfacing efficiently with it would potentially be a killer app. I'm interested in contributing here, just throwing this out there
Ilya Yaroshenko
@9il
Hey Matt @VHRanger . Thank you for letting us know. You can count on our help if you need new mir-algorithm features for Apache Arrow. Also, we can create a repo in libmir org and include you to the organizatoin if you want Apache Arrow be part of the libmir.
Mathias L. Baumann
@Marenz
Greetings. I try to build a simple project using lubeck, mir-glas and mir-cpuid. I am getting errors and I am not really sure how to deal with them: https://gist.github.com/Marenz/a33645a8ab6e6b8b1d4fa5234c124f6a
I am getting the same result if I write ldmd2
and even if I write --compiler=dmd it's using my system ldc (a very old version) and fails
Mathias L. Baumann
@Marenz
ah.. it seems mir-glas' dub file is hard coding quite a lot of things
Mathias L. Baumann
@Marenz
This is all a bit confusing really
lubeck says it requires blas, cblas and lapack as static libraries.. which confused me as I thought it would be a pure D library
After linking with those, I stumbled over kaleidicassociates/lubeck#3
Today I discovered that mir-glas aims to provide .. static c libraries
so I figured I Can use mir-glas in-place
mir-glas claims to provide blas and glas. For some reason lubeck still wants cblas though.
So, linking with cblas, it finally compiled
however, I again stumbled over the already mentioned bug, this time the program at least exits with code 255 and says something slightly different
I just updated the ticket accordingly
Mathias L. Baumann
@Marenz
though I don't even know why cblas is required, my assumption was that mir-glas would provide all.
Ilya Yaroshenko
@9il
mir-glas is not used in Lubeck
lubeck uses only common cblas / lapack libs. Glas does not provide full cblas
The bug in lubeck code
Mathias L. Baumann
@Marenz
hmm alright. But I suppose I don't actually need lubeck and just use mir-glas directly
btw, I don't know when opBinary was implemented, but it is soooo nice to be able to write m[] = m1 + m2 (it wasn't possible last time I used it)
me gusta
Mathias L. Baumann
@Marenz
I assume there is no libary that offers something like a lazy gemm abstraction so I could write things like m[] = m1.mtimes(m2) + m3;
It seems not trivial to write something like that myself as I discovered
at least if you want to avoid temporary allocations
Ilya Yaroshenko
@9il
m[] = m1.mtimes(m2) + m3; should be possible with lubeck
I will fix the mtimes bug
Thank you for the report!
Mathias L. Baumann
@Marenz
Yeah, it is with lubeck, but as I understood, lubeck doesn't use mir-glas, right?
Ilya Yaroshenko
@9il
Yes, lubeck does not
Mathias L. Baumann
@Marenz
another question: what exactly does the universal() function do? It doesn't take the slice as a ref-argument so I am wondering if it modifies the original slice in any way or if it just returns a new slice that has a different "view" on the same data? Or would it be a mistake to use the original slice after I called universal() on it?
I mean, a Slice is a struct referencing some external data. Is that data modified by universal()? the docu isn't very clear here
My use case is when using gemm from mir-glas. It requires the SliceKind.universal but all I have is contiguous, so my solution so far was to just do gemm(1.0f, m1.universal, m2.universal, 0.0f, tmp_result.universal);
but i am not very faithful in my solution
especially when using m1 afterwards
Ilya Yaroshenko
@9il
Hi @Marenz , universal as well as other contents of topology does not modify the data. universal just returns a slice of Universal kind with the same strides and shapes. The difference is only in kind.
Mathias L. Baumann
@Marenz
thank you for that info :)
I still haven't figured out all those details
Mind if I create PRs that add what you just told me?
for the docu
Ilya Yaroshenko
@9il
Sure, hope you will improve English