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

GPU acceleration? 'Live' training? #571

Open
kevindarby opened this issue Jul 24, 2023 · 1 comment
Open

GPU acceleration? 'Live' training? #571

kevindarby opened this issue Jul 24, 2023 · 1 comment

Comments

@kevindarby
Copy link

Hi,

I recently tried some simple examples on 400k x 4 and 400k x 61 data sets, and it took several hours to complete.

Is there a way or plan to enable GPU acceleration?

Alternatively, it may be easier for my data set to sort of build up the copula over time. Does your api support any sort of 'live training'?

Thanks

Kevin

@tvatter
Copy link
Collaborator

tvatter commented Oct 3, 2023

Hi,

Sorry for never answering this, I just notice it now.

While we have plans to enable GPU acceleration, it's not going to be released in (at least) a few months. The library is currently header only and heavily relies on Eigen for the linear algebra. We have started discussing a large refactoring project to allow for different linear algebra backends in order to support GPU acceleration, but it is at the initial stage.

For your datasets:

  • I would try subsampling. I was faced with a similar problem (200k x 50) and got really good results by just picking 5-10k observations. You can even fit multiple models and average them. In my experience, the current implementation unfortunately doesn't scale well beyond 5-10k observations.
  • For the 61 columns dataset, I would also set the trunc_lvl to a fairly low value, maybe 5 initially, and see if increasing it really improves your results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants