Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3D and 4D support for Linear Algebra functions #483

Open
6 of 18 tasks
pavanky opened this issue Mar 10, 2015 · 10 comments
Open
6 of 18 tasks

3D and 4D support for Linear Algebra functions #483

pavanky opened this issue Mar 10, 2015 · 10 comments
Assignees
Labels
Milestone

Comments

@pavanky
Copy link
Member

pavanky commented Mar 10, 2015

Do this inside a for loop with offsets. This will be needed for GFOR

CUDA

  • matmul
  • [ ] dot
  • lu
  • qr
  • cholesky
  • solve
  • inverse

OpenCL

  • matmul
  • [ ] dot
  • lu
  • qr
  • cholesky
  • solve
  • inverse

CPU

  • matmul
  • [ ] dot
  • lu
  • qr
  • cholesky
  • solve
  • inverse

The first draft can be done inside a for loop using multiple queues / streams.

Note: dot product function has been removed from the above list since a batch dot product can be easily done using matmul function.

@pavanky pavanky added the bug label Mar 10, 2015
@pavanky pavanky added this to the 3.0 milestone Mar 10, 2015
@pavanky pavanky assigned pavanky and unassigned umar456 Apr 22, 2015
@pavanky
Copy link
Member Author

pavanky commented May 27, 2015

These functions error out in 3.0. Pushing the feature request for a later release.

@pavanky pavanky removed this from the 3.0 milestone May 27, 2015
@ckeitz
Copy link

ckeitz commented May 28, 2015

Pavan, can you clarify explicitly whether this means that matrix multiply is not available within gfor? I am currently getting incorrect results when I use it inside gfor for batch sizes larger than ~5 (small matricies on the order of [40,20] x [20, 40]) - interestingly it seems to work correctly in small batches and I'm nowhere near out of memory.

An aside - is there a registry of functions that are and are not supported in gfor that's available somewhere? Maybe we could put something together for easy reference.

Thanks!

@pavanky
Copy link
Member Author

pavanky commented May 28, 2015

It is most definitely not supported in the open source version. We were not throwing errors before. I changed this behavior couple of days ago. We will add support for it before next release.

@ckeitz
Copy link

ckeitz commented May 29, 2015

Thanks for the quick reply! Glad to know the issue 👍

@pavanky pavanky added this to the 3.1.0 milestone Jun 4, 2015
@pavanky pavanky changed the title 3D and 4D support for matmul and dot 3D and 4D support for Linear Algebra functions Jun 4, 2015
@9prady9 9prady9 removed this from the 3.1.0 milestone Aug 3, 2015
@pavanky pavanky added this to the 3.2.0 milestone Aug 3, 2015
@mchandra
Copy link
Contributor

Will release 3.2 allow for solve() inside a gfor() loop?

Thanks,
Mani

@botev
Copy link

botev commented Dec 18, 2015

Maybe adding and batched version of gaussian kernel would be good as well. Again by batch I mean having 3D tensor inputs, where one dimension is the same.

@pavanky pavanky modified the milestones: 3.3.0, 3.4.0 Feb 1, 2016
@pavanky pavanky modified the milestones: 3.5.0, 3.4.0 Sep 8, 2016
@InBetweenNames
Copy link

What would it take to get this implemented? I could really use this feature in my code. Right now I'm using a workaround that involves tiling out matrices (and transposing one) and doing:

af::sum(A * B)

followed by a moddims to get the proper shape. It does work, although memory usage is a concern and I know this probably isn't the most efficient method.

@Thormidable
Copy link

Could I also request this feature

@WilliamTambellini
Copy link
Contributor

CPU matmul seems now to be done from 3.6.2, right ?

@umar456
Copy link
Member

umar456 commented Nov 20, 2018

Yes, Updated the list

@9prady9 9prady9 removed this from the v3.7.0 milestone Dec 12, 2019
@9prady9 9prady9 assigned 9prady9 and unassigned pavanky Apr 23, 2020
@9prady9 9prady9 added this to the 3.8.2 milestone Mar 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests