clab / clab/dynet

GPU matrix inversion

Open
#1,552 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.