- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Im running ifort 12.0 with command:
ifort -r8 main.f90 -lmkl_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_lapack95_lp64
and all is ok with a fortran95 call to the lapack routine gesv. However, if I replace gesv by calls to getrf and getri, it tells me these are "Undefined symbols". Why does it recognise gesv but not getrf or getri?Link copiado
3 Respostas
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Do you have the
USE mkl95_lapack
at the top of the calling subroutine? It should result in getrf and getri being translated to other functions, eventually down to the f77 ?getrf and ?getri which are provided in libmkl_lapack95_lp64.
You may need to assure that you have the include path (-I) for the mkl/include/lp64 in your installation.
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Oh dear, it's an old code, so I only just noticed it has at the top "use lapack95, only: gesv", how embarrassing... In any case, is there a difference between "use lapack95" and "usemkl95_lapac"?
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
That's a good point. USE lapack95 and mkl95_lapack should work interchangeably in this case.
Responder
Opções do tópico
- 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