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
-
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_data
to assemble the matrix on the GPU. I was unable to figure out a way to utilize it with significant speedup. As the access to thearrays
of thedevice_matrix_data
strucutre come with a performance warning the only way to use it at all I could come up with was by copying amatrix_data
using.create_from_host()
right before creating the matrix:Is there a better way to use
device_matrix_data
I 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_data
In 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_data
is 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
.mtx
data would be (re)constructed from the matrix - is thematrix_data
still 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