- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ifort -openmp -fast .. program.f90 .. -L/export/mathlib/cmkl90/lib/em64t/ -lmkl_em64t -lguide -lpthread -lm
And four threads areused to run the program(I have set ipar(23)=4). However, the result shows that the cpu time used by MKL poisson solver only decrease to 0.09,as a comparation,when only one threadis used, the time is 0.12.
It seems that the accelerating speed is tiny.
Is this ordinary to the MKL poisson library(or where could I find the PARALLEL PERFORMANCE of MKL Poisson solver) ?
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
call d_init_Helmholtz_3D(ax,bx,...,...,BCtype,q,ipar,dpar,stat)
ipar(23)=4 !OpenMP number of threads
call d_commit_Helmholtz_3D(ff,bd_ax,bd_bx,...,...,dpar,stat)
call d_Helmholtz_3D(ff,bd_ax,,...,...,ipar,dpar,stat)
call free_Helmholtz_3D(xhandle,yhandle,ipar,stat)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The goal of OpenMP parallelism is not to reduce CPU time, but to reduce elapsed time. You are lucky if the total CPU time is reduced; more often it would increase somewhat.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maybe I didn't give an clear account of the problem.
The exact command is as follows:
ifort -openmp -fast mkl_dfti.f90 mkl_poisson.f90 MyProgram.f90 -L/export/mathlib/cmkl90/lib/em64t/ -lmkl_em64t -lguide -lpthread -lm
And the code where I invoked Poisson library isin MyProgram.f90:
call cpu_time(t2)
call d_init_Helmholtz_3D(ax,bx,...,...,BCtype,q,ipar,dpar,stat)
call d_commit_Helmholtz_3D(ff,bd_ax,bd_bx,...,...,dpar,stat)
ipar(23)=4 !OpenMP number of threads
call d_Helmholtz_3D(ff,bd_ax,,...,...,ipar,dpar,stat)
call free_Helmholtz_3D(xhandle,yhandle,ipar,stat)
call cpu_time(t1)
I supposed t1-t2 is the elapsed time of all the *_Helmholtz_3D functions.
The program is submitted and run on cluster, and 4 threads are used(setin *.sh file as"nodes=1:ppn=4").
So, if I'm wrong. How can I get the right usage? You didn't mean the CMKL9.0 doesn't support OpenMP, did you?
Anywhere can I find the usage of Poisson library with OpenMP?
With best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
call d_init_Helmholtz_3D(ax,bx,...,...,BCtype,q,ipar,dpar,stat)
ipar(23)=4 !OpenMP number of threads
call d_commit_Helmholtz_3D(ff,bd_ax,bd_bx,...,...,dpar,stat)
call d_Helmholtz_3D(ff,bd_ax,,...,...,ipar,dpar,stat)
call free_Helmholtz_3D(xhandle,yhandle,ipar,stat)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have rewrote as you said anddecreased the elapsed time from about 0.17 to 0.06.
That seems to be very good accelerating speed.
Here I have another question. Can MKL poisson library be used in cylindrical coordinate (r,z,thelta)? Especially for the axisymmetrical coordinate (r,z). (I'm holding my breath...)
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page