Replies: 2 comments
-
|
I'll try to answer your questions:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
If you are interested in an example on how to use the |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hey,
I've been working on my performance testing since my last post and a few more questions came up:
device_matrix_data:In my previous post you suggested using the
device_matrix_datato assemble the matrix on the GPU. I was unable to figure out a way to utilize it with significant speedup. As the access to thearraysof thedevice_matrix_datastrucutre come with a performance warning the only way to use it at all I could come up with was by copying amatrix_datausing.create_from_host()right before creating the matrix:Is there a better way to use
device_matrix_dataI missed or was it intended for different usecases?Compared to DUNE-ISTL Ginkgo shows significant overhead when comparing SpMV.
Average time per SpMV of a 1x1 Matrix:
DUNE: 1.6ns
Ginkgo ref: 2600ns
Ginkgo 1omp: 3200ns (1omp being the omp executor with to
OMP_NUM_THREADS=1).The only explanation I could come up with is the runtime kernel and operator selection mentioned here (slide 2&6).
I am using the follwowing lambda which gets executed a set amount of time (until it runs for at least 0.25 seconds):
Is there a way to further optimize this? Maybe by converting to LinOp beforehand and save some overhead or maybe set a fixed amount of times to run the SpMV for better performance?
matrix_dataIn the documentation it says to make sure the stored values are sorted in row major order.
My results (SpMV as well as jacobi and ILU0 preconditioned CG solvers) are correct.
The print out of the Matrix Market format however when using
matrix_datais still unsorted.It doesn't really matter too much as my results are correct, but I was still wondering as to why that is because I would assume the
.mtxdata would be (re)constructed from the matrix - is thematrix_datastill stored together with the matrix itself somehow?Any hint and help is highly appreciated
Thanks in advance
Ben
Beta Was this translation helpful? Give feedback.
All reactions