GPU matrix inversion
- Dominant language
- C++
- Stars
- 3.4k
- Forks
- 701
- PR merge metrics
- No merged PRs in 30d
Description
Hi all,
the matrix inversion operation is only available on CPU right now: https://dynet.readthedocs.io/en/latest/operations.html#_CPPv4N5dynet7inverseERK10Expression
The proposed solution is to compute this operation on CPU.
However, this is extremely slow, meaning that I have this weird behavior in my network: structured attention using the matrix tree theorem is 4 times slower than using marginals from the inside/outside for projective parsing.
Unfortunately, I have no idea how to implement that on GPU myself.
I could probably try, but I would need some guidance...
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the inverse operation entry in the DyNet operations documentation at the linked inverse reference. Investigate how matrix inversion is currently executed on CPU and what GPU support would require. Done means the operation can run on GPU and avoids the reported CPU slowdown for structured attention.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- machine-learning, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100