- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi all,
I'm looking to update an old code that currently uses the Thomas algorithm to solve large tridiagonal matrices. I'm considering using MKL to achieve this but am a little unclear on which is the appropriate solver to use if I want to move towards massive parallelisation. Based on the documentation for the latest release, 2023.1, it looks like the ?dttrsb solver would be a natural choice for replacing the existing implementation, but I don't believe that this can be run with multiple threads (or offloaded to GPU). An alternative appears to be PARDISO, which I believe can offload to GPU, but I appreciate that this solver may be less than optimal for tridiagonal matrices.
Any thoughts on which way to go with this? Is PARDISO the sensible choice if I want to replace the Thomas algorithm with something that can be run in parallel?
As an aside, I couldn't see the well-known ?gtsrv solver in the current documentation. Has this effectively been replaced by ?dttrsb?
Thanks in advance!
Link copiado
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi,
Thanks for posting in Intel Communities.
Could you please let us know which MKL solver/routines along with the Intel MKL version you had used for your old code?
>>?gtsrv solver in the current documentation
And also, is it ?gtsrv solver or ?gtsv solver? As ?gtsv solver which will compute the tridiagonal matrix. Please find the below link for more information:
https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-1/gtsv.html
Thanks & Regards,
Varsha
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi Varsha,
Thanks for your response. The existing code uses its own implementation of the Thomas algorithm - nothing from MKL is currently used. The hope is that MKL can be used to help accelerate the code and the current aim is to try and establish which routines are available that will allow running in parallel (be it oacross multiple CPUs or, ideally, on GPUs).
It seems that the parallel options would be either PARDISO, which is probably not the optimal choice for tridiaginal matrices, or perhaps something from ScaLAPACK such as p?dtsv - any recommendations on this front?
In response to your second question - my apologies, yes, I meant to refer to ?gtsv. However, if my understanding is correct, that one cannot be run in parallel. Is this indeed the case?
Many thanks.
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi,
We are working on your issue. We will get back to you soon.
Thanks & Regards,
Varsha
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi,
Could you please provide us with the details on the problem size and number of right-hand sides? Also, could you please let us know if your matrix is diagonally dominant? Or is it partial pivoting?
Thanks & Regards,
Varsha
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hi,
Thanks for providing the details internally.
Thanks for helping us improve our products! We’ve submitted the feature request to the dev team, they will consider it based on multiple factors including, but not limited to priority and criticality of the feature. Once it is included in an upcoming release, it would be documented in release notes
Thanks & Regards,
Varsha
- Subscrever fonte RSS
- Marcar tópico como novo
- Marcar tópico como lido
- Flutuar este Tópico para o utilizador atual
- Marcador
- Subscrever
- Página amigável para impressora