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

[Lang] Support sparse matrix on GPU #5185

Merged
merged 34 commits into from
Aug 17, 2022
Merged

Conversation

FantasyVR
Copy link
Collaborator

Related issue = #2906
Related PR = #4904

The sparse matrix on GPU is based on the cuSparse library.
In this pr, the user can only build the sparse matrix with CSR format. And the input of the sparse matrix builder is ti.ndarray.
To check the useability, Spmv operation is implemented. More arithmetic operations like (+, -, *) need to be added in the future.

@netlify
Copy link

netlify bot commented Jun 16, 2022

Deploy Preview for docsite-preview ready!

Name Link
🔨 Latest commit 2dc766a
🔍 Latest deploy log https://app.netlify.com/sites/docsite-preview/deploys/62fb9b5d29aea90008b30577
😎 Deploy Preview https://deploy-preview-5185--docsite-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@FantasyVR FantasyVR marked this pull request as ready for review June 19, 2022 08:13
Copy link
Contributor

@strongoier strongoier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for my late response. Could you first fix the conflicts due to recent refactoring on backends? Thanks!

Copy link
Contributor

@Hanke98 Hanke98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much! So sorry for my late response. I have been swamped in the last few months.
Most changes LGTM! My suggestion is add some test cases against building spm and the computation of spmv.

taichi/backends/cuda/cuda_types.h Outdated Show resolved Hide resolved
Copy link
Contributor

@Hanke98 Hanke98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you very much! You can merge this pr after resolving my following comments.

python/taichi/linalg/sparse_matrix.py Outdated Show resolved Hide resolved
taichi/program/sparse_matrix.cpp Show resolved Hide resolved
Copy link
Contributor

@strongoier strongoier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! You can merge this PR after solving the comments.

taichi/rhi/arch.cpp Outdated Show resolved Hide resolved
taichi/rhi/cuda/cuda_driver.cpp Outdated Show resolved Hide resolved
taichi/rhi/cuda/cuda_driver.cpp Outdated Show resolved Hide resolved
python/taichi/linalg/sparse_matrix.py Outdated Show resolved Hide resolved
python/taichi/linalg/sparse_matrix.py Outdated Show resolved Hide resolved
python/taichi/linalg/sparse_matrix.py Outdated Show resolved Hide resolved
taichi/program/sparse_matrix.h Outdated Show resolved Hide resolved
taichi/program/sparse_matrix.h Outdated Show resolved Hide resolved
@FantasyVR FantasyVR merged commit 1dad79f into taichi-dev:master Aug 17, 2022
@FantasyVR FantasyVR deleted the gpu_sm branch August 24, 2022 15:11
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

Successfully merging this pull request may close these issues.

3 participants