- 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 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

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)

***_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 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