- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I have a symmetric sparse matrix and I would like to keep only the upper triangle.
I was thinking this is possible using:
descr.type=SPARSE_MATRIX_TYPE_SYMMETRIC; //keep only upper triangle
descr.mode=SPARSE_FILL_MODE_UPPER;
descr.diag=SPARSE_DIAG_NON_UNIT;
sparse_status_t ok=mkl_sparse_copy(matrix,descr,&upper_Triangle_csr);
I am exporting the resulting matrix (for using in PARDISO) and it looks that the full matrix is exported. Am I understanding the documentation wrong and the full matrix is copied? Am I doing it the wrong way?
Thanks for helping.
Marc
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Marc,
You are right, at the current moment mkl_sparse_copy is copying the full matrixes.
The MKL’s documentation has to be updated. We will do that asap.
Regarding copying upper triangle part of the matrix, we would recommend You submitting the Feature Request query to the Intel online Service Center
Lien copié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Hi,
Thanks for reaching out to us.
>>Am I understanding the documentation wrong
Could you please let us know which documentation you are referring to ?
>>I am exporting the resulting matrix (for using in PARDISO) and it looks that the full matrix is exported
Could you please provide us the sample reproducer and command used to compile the code so that we can work on it from our end.
And also provide us your environment details on which you are working.
OS & version
MKL version
Regards,
Vidya.
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
I am using version 2019.5.281 of parallel studio on linux. It is true I looked in the online documentation which should be a different version. Could you please at least confirm I am understanding this right? I am aiming to keep only the upper triangle. Am I doing this right? If the answer is yes, I will try to generate a smaller example I can share. Thanks for helping.
Marc
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
This is a small code example I generated. It is supposed to copy only the upper triangle but everything is copied. This looks like a bug, or I did not understand how mkl_sparse_copy is working. Please let me know if I am right.
Thanks for helping.
Marc
Results:
Intel(R) Math Kernel Library Version 2019.0.5 Product Build 20190808 for Intel(R) 64 architecture applications
===Generating symmetric csr sparse matrix
(1,5)
(2,3)
(3,4)
(3,6)
OPENMP DISPLAY ENVIRONMENT BEGIN
_OPENMP='201611'
[host] OMP_AFFINITY_FORMAT='OMP: pid %P tid %i thread %n bound to OS proc set {%A}'
[host] OMP_ALLOCATOR='omp_default_mem_alloc'
[host] OMP_CANCELLATION='FALSE'
[host] OMP_DEBUG='disabled'
[host] OMP_DEFAULT_DEVICE='0'
[host] OMP_DISPLAY_AFFINITY='FALSE'
[host] OMP_DISPLAY_ENV='TRUE'
[host] OMP_DYNAMIC='FALSE'
[host] OMP_MAX_ACTIVE_LEVELS='2'
[host] OMP_MAX_TASK_PRIORITY='0'
[host] OMP_NESTED='FALSE'
[host] OMP_NUM_THREADS='40'
[host] OMP_PLACES='cores'
[host] OMP_PROC_BIND='spread,close'
[host] OMP_SCHEDULE='static'
[host] OMP_STACKSIZE='32000k'
[host] OMP_TARGET_OFFLOAD=DEFAULT
[host] OMP_THREAD_LIMIT='2147483647'
[host] OMP_TOOL='enabled'
[host] OMP_TOOL_LIBRARIES: value is not defined
[host] OMP_WAIT_POLICY='PASSIVE'
OPENMP DISPLAY ENVIRONMENT END
=====Result after copy
(1,1) (1,5)
(2,2) (2,3)
(3,2) (3,3) (3,4) (3,6)
(4,3) (4,4)
(5,1) (5,5)
(6,3) (6,6)
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Here is a small example showing that the copy routine is copying the full matrix. I did not understand how this is working or this looks like a bug in the library.
Thanks for looking ad helping.
Marc
Intel(R) Math Kernel Library Version 2019.0.5 Product Build 20190808 for Intel(R) 64 architecture applications
===Generating symmetric csr sparse matrix
(1,5)
(2,3)
(3,4)
(3,6)
OPENMP DISPLAY ENVIRONMENT BEGIN
_OPENMP='201611'
[host] OMP_AFFINITY_FORMAT='OMP: pid %P tid %i thread %n bound to OS proc set {%A}'
[host] OMP_ALLOCATOR='omp_default_mem_alloc'
[host] OMP_CANCELLATION='FALSE'
[host] OMP_DEBUG='disabled'
[host] OMP_DEFAULT_DEVICE='0'
[host] OMP_DISPLAY_AFFINITY='FALSE'
[host] OMP_DISPLAY_ENV='TRUE'
[host] OMP_DYNAMIC='FALSE'
[host] OMP_MAX_ACTIVE_LEVELS='2'
[host] OMP_MAX_TASK_PRIORITY='0'
[host] OMP_NESTED='FALSE'
[host] OMP_NUM_THREADS='40'
[host] OMP_PLACES='cores'
[host] OMP_PROC_BIND='spread,close'
[host] OMP_SCHEDULE='static'
[host] OMP_STACKSIZE='32000k'
[host] OMP_TARGET_OFFLOAD=DEFAULT
[host] OMP_THREAD_LIMIT='2147483647'
[host] OMP_TOOL='enabled'
[host] OMP_TOOL_LIBRARIES: value is not defined
[host] OMP_WAIT_POLICY='PASSIVE'
OPENMP DISPLAY ENVIRONMENT END
=====Result after copy
(1,1) (1,5)
(2,2) (2,3)
(3,2) (3,3) (3,4) (3,6)
(4,3) (4,4)
(5,1) (5,5)
(6,3) (6,6)
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Marc,
You are right, at the current moment mkl_sparse_copy is copying the full matrixes.
The MKL’s documentation has to be updated. We will do that asap.
Regarding copying upper triangle part of the matrix, we would recommend You submitting the Feature Request query to the Intel online Service Center
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
The issue is closing and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.
- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable