Accelerate DirectLiNGAM by parallelising causal ordering on GPUs with CUDA#169
Open
aknvictor wants to merge 2 commits intopy-why:mainfrom
Open
Accelerate DirectLiNGAM by parallelising causal ordering on GPUs with CUDA#169aknvictor wants to merge 2 commits intopy-why:mainfrom
aknvictor wants to merge 2 commits intopy-why:mainfrom
Conversation
Signed-off-by: Victor <viktour19@gmail.com>
Signed-off-by: Victor <viktour19@gmail.com>
Collaborator
|
Thanks, Victor. It looks great!
|
Author
|
Hi Yujia: Directly incorporating it will introduce CUDA dependencies that are not needed for other algorithms, and potentially make the installation of causal-learn more complex. While it's possible to do so I'm not sure its the best option. Yes, the discussion in that PR are relevant so we may want to wait for that to be resolved before proceeding with this PR although since the issues are related to variance in setup - it may be useful for you to also test on your own setup as well. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR includes the implementation drastically speed-up (up to 32x on consumer GPU) DirectLiNGAM and its variants e.g VarLiNGAM.
The details are to allow for an optional dependency: https://github.com/Viktour19/culingam which implements custom CUDA kernels for the pairwise likelihood ratio causal ordering method.
The implementation has been tested locally on an NVIDIA RTX 6000 on a Linux machine - but tests on other setups are needed.