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

Current NOT_IMPLEMENTED kernels #286

Open
31 of 65 tasks
thoasm opened this issue Apr 2, 2019 · 6 comments
Open
31 of 65 tasks

Current NOT_IMPLEMENTED kernels #286

thoasm opened this issue Apr 2, 2019 · 6 comments
Labels
is:good-first-issue Good for newcomers. is:help-wanted Need ideas on how to solve this. mod:cuda This is related to the CUDA module. mod:openmp This is related to the OpenMP module. mod:reference This is related to the reference module. type:matrix-format This is related to the Matrix formats

Comments

@thoasm
Copy link
Member

thoasm commented Apr 2, 2019

We should discuss what kernels we should implement before the release. Since I lost the overview, I looked in the code and searched for kernels which are marked as GKO_NOT_IMPLEMENTED.

Interestingly, we do not support Coo::transpose and Coo::conj_transpose anywhere, which should be fairly trivial to implement (swapping col_idxs_ and row_idxs_ with std::move, sorting, followed by complex conjugation for conj_transpose).

The following are lists of GKO_NOT_IMPLEMENTED kernels (which are actually not implemented and not just have a case which is not implemented):

CUDA

  • index_set
  • csr
    • convert_to_fbcsr
  • dense
  • fbcsr
    • fill_in_dense
    • sort_by_column_index
    • extract_diagonal
  • sparsity_csr
  • jacobi
    • convert_to_dense

DPC++

HIP

  • index_set
  • csr
    • convert_to_fbcsr
  • dense
  • fbcsr
    • spmv
    • advanced_spmv
    • fill_in_dense
    • transpose
    • conj_transpose
    • sort_by_column_index
    • is_sorted_by_column_index
    • extract_diagonal
  • sparsity_csr
  • jacobi
    • convert_to_dense

OpenMP

  • ic
  • ilu
  • fbcsr
    • convert_to_csr

Current conversions supported (maybe not fully implemented)

Everything -> Csr
Everything -> Dense
Csr -> Everything
Dense -> Everything

Effective: 14.10.2019

Updated: 01.02.2022

@thoasm thoasm added is:help-wanted Need ideas on how to solve this. mod:cuda This is related to the CUDA module. mod:openmp This is related to the OpenMP module. mod:reference This is related to the reference module. type:matrix-format This is related to the Matrix formats labels Apr 2, 2019
@thoasm thoasm added this to the Ginkgo 1.0.0 release milestone Apr 2, 2019
@thoasm
Copy link
Member Author

thoasm commented Apr 2, 2019

I will definitively take care of the move_to_XXX replacements, but for the others, we should discuss what is necessary.
I can also take care of the COO::transpose, it should also be pretty straight forward.

@hartwiganzt
Copy link
Collaborator

I think the reference transpose and conjugate transpose should be easy. No need for the other executors.
I don't have a strong opinion on the others - I think they are all optional.

@thoasm
Copy link
Member Author

thoasm commented Apr 3, 2019

transpose in general is easy, I don't even have to implement any kernels (since I just swap the col and row index arrays).
Additionally, I think we should also implement at least the OMP kernels, so we actually support everything with OMP that we do with CUDA.

@tcojean
Copy link
Member

tcojean commented Apr 5, 2019

I tried to check everything that is "taken care of". Overall, what is left I think is:

  • CUDA Dense <-> Hybrid conversions (hard to implement AFAIK)
  • OpenMP CSR <-> Ell, Sellp
  • Everywhere CSR <-> Hybrid

I believe none are that much required for the release.

@thoasm thoasm removed this from the Ginkgo 1.0.0 release milestone Apr 5, 2019
@thoasm
Copy link
Member Author

thoasm commented Apr 5, 2019

That is true, I removed the dependency to the Release. We also said previously that we do not require the OpenMP kernels since we have the reference version.

@tcojean
Copy link
Member

tcojean commented Oct 14, 2019

Note: this was updated to the last status.

@tcojean tcojean mentioned this issue Oct 14, 2019
26 tasks
@pratikvn pratikvn added the is:good-first-issue Good for newcomers. label Mar 2, 2020
@upsj upsj added this to the Ginkgo 1.5.0 milestone May 7, 2021
@tcojean tcojean pinned this issue Feb 1, 2022
@upsj upsj mentioned this issue Sep 23, 2022
1 task
@upsj upsj removed this from the Ginkgo 1.5.0 milestone Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is:good-first-issue Good for newcomers. is:help-wanted Need ideas on how to solve this. mod:cuda This is related to the CUDA module. mod:openmp This is related to the OpenMP module. mod:reference This is related to the reference module. type:matrix-format This is related to the Matrix formats
Projects
None yet
Development

No branches or pull requests

5 participants