Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 28 2019 21:53

    drahnr on master

    chore/archive: add archive note (compare)

  • Dec 28 2019 21:52

    drahnr on master

    chore/archive: archive this rep… (compare)

  • Dec 28 2019 21:51

    drahnr on master

    chore/archive: closing this repo (compare)

  • Jun 18 2019 16:15
    drahnr commented #16
  • Jun 18 2019 09:44
    andreytkachenko commented #16
  • Apr 04 2019 01:41
    vadixidav opened #18
  • Dec 16 2018 13:44
    Xoronic closed #17
  • Dec 16 2018 13:44
    Xoronic commented #17
  • Dec 11 2018 17:32

    drahnr on master

    fix/README.md: remove link to s… (compare)

  • Dec 11 2018 17:16
    Xoronic edited #17
  • Dec 11 2018 17:16
    Xoronic edited #17
  • Dec 11 2018 17:15
    Xoronic opened #17
  • Aug 31 2018 16:45

    drahnr on master

    chore/version: release 0.2.1 (compare)

  • Apr 07 2018 06:19

    drahnr on master

    doc/badge: adjust path again (compare)

  • Apr 07 2018 06:17

    drahnr on master

    doc/badge: adjust path (compare)

  • Apr 06 2018 22:06

    sirmergealot on gh-pages

    doc/automatic: update (compare)

  • Apr 06 2018 22:04

    sirmergealot on gh-pages

    doc/automatic: update (compare)

  • Apr 06 2018 21:56
    drahnr commented #5
  • Apr 06 2018 21:56
    drahnr commented #5
  • Apr 06 2018 21:53

    drahnr on master

    fix/backends: prevent impl of :… (compare)

Geordon Worley
@vadixidav
@drahnr would you be interested in me refactoring coaster to use const generics once const generics are in nightly?
specifically, if tensors could have typed dimensions
like Tensor2<Const<2>, Dynamic>
so each dimension could be a dynamic or constant dimension
then all operations which reshape tensors in in ways where the output size can be determined statically we could have statically verified
Bernhard Schuster
@drahnr
Sounds pretty sweet to me :)
I'd wait another week before you start so I can actually get the one-repo integration done
Do you have a link to the const generics RFC?
Bernhard Schuster
@drahnr
@vadixidav ^^
The only issue that might pop up, is the fact that the backends tend to work with fixed dimensions, as such it might be nice from the interface pov, but not necessarily make it any easier to implement any layer on top of an existing backend
Geordon Worley
@vadixidav
@drahnr I think that anything that builds on top of an underlying interface that uses const generics will be better from a type system perspective
I am more interested in the user improvements than the backend improvements
from that perspective, wrapping coaster in an a const generics api might be sufficient as well
tracking RFC for const generics: rust-lang/rust#44580
unfortunately, it still doesnt look ready enough for something like this, even for initial implementation
when its ready I might also have other interests at the time, but I definitely put this as a high priority because having a pure-rust data-parallelism abstraction over CUDA, opencl, and native is important
and extending the API to support things like knowing the output dimensions of matrix multiplications at compile time is critical
Bernhard Schuster
@drahnr
@vadixidav I understand your point and I for sure would prefer it from an end user API perspective :) I am just trying to convey that this is some heavy lifting and that the internal representation on a per backend basis is and will not be statically determined - CPU based execution might be the exception here
*be able to be determined
Geordon Worley
@vadixidav
thats perfectly fine, but I dont think that we need to enforce in the backend that it is static or anything
it can continue to be dynamic
Bernhard Schuster
@drahnr
understood
Geordon Worley
@vadixidav
for me its less about the performance improvements since most people are going to be working with large computations
so it wont affect it much
Bernhard Schuster
@drahnr
typesafety wins, if things break during compile time, I'd prefer that anytime
Geordon Worley
@vadixidav
awesome
unfortunately what landed in nightly is very buggy
so I dont think its useful enough yet for me to attempt a refactor
Bernhard Schuster
@drahnr
I'll read through the RFC but I'd still recommend to hold off until it's semi-stabilizing at least a little in nightly
Geordon Worley
@vadixidav
well, I can always start the effort before its completely implemented
Bernhard Schuster
@drahnr
You'll just risk burning your motivation running into language level issues
I have some limited time to review things starting June :)
Geordon Worley
@vadixidav
yeah, I already tried using it some and quickly found that it results in too many ICEs
awesome :thumbsup:
Paul Kassianik
@paulkass
Hey guys, quick question. Say I multiplied a (3,3) matrix by a (3, 1) vector. The result with the native version of gemm would be a (3, 3) matrix where the fist column is the vector result. If i resize that, however, I'll get "uninitialized memory" errors if I try to read or copy that shared tensor. Is this by design, and if yes, what should I do differently?