- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi all,
I installed VS 2017 community with parallel_studio_xe_2018_update3_cluster_edition, student.
I use Fortran compiler for my programming. I successfully link MKL with my code and there is no problem in compiling and running. OpenMP part of my code with OpenMP flags is parallelized with no problem. But, my problem is the MKL part of the code which runs in a single thread. I have these options in the "configuration properties" of the project as seen in the attached pictures:
In Capture 3, I added the MKL library and parent compiler library:
C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.3.210\windows\mkl\lib\intel64_win and C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.3.210\windows\compiler\lib\intel64_win
In Capture 4, I have these additional dependencies:
libiomp5md.lib mkl_intel_lp64.lib mkl_blas95_lp64.lib mkl_core.lib mkl_intel_lp64.lib mkl_lapack95_lp64.lib mkl_intel_thread.lib mkl_tbb_thread.lib
I played a lot with these options to see any difference, but it was not successful. I should also mention that I have no problem in MKL parallelization in my Linux machine.
Any help is appreciated.
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
If you call MKL in a parallel region, you are subject to the usual rules for nested OpenMP. Then the default for MKL is 1 thread, on the assumption that you mean to run multiple MKL instances in parallel.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Tim P. wrote:
If you call MKL in a parallel region, you are subject to the usual rules for nested OpenMP. Then the default for MKL is 1 thread, on the assumption that you mean to run multiple MKL instances in parallel.
Thanks for the response. My MKL part is not in the parallel region. for example,:
call heev(H,val,jobz='V')
I call this heev routine from MKL Lapack. But this part runs in a single thread. I have exact the same code runs in my Linux machine in parallel mode. I have the following makefile that I created for complilation in Linux:
I assume changing the options in VS for mkl parallel should do the exact function as -mkl=parallel flag in my makefile in the Linux system.