Is there any parallel version of sstein? if so, how?

Is there any parallel version of sstein? if so, how?

publicaciones de 2 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

If you look at sstein.f (http://www.netlib.org/lapack/lapack-3.1.1/html/sstein.f.html) it would appear that you could do some parallization. As to the overall effect for your application I could not venture to guess. The listed subroutine is not parallel however some of the library functions called (in MKL equivilent) may be parallel. Some of the statements in this routine can be parallized. I won't list the routine here but I will make some comments if you care to look at the listing:

On cursory look the DO 160 loop (main loop) cannot be parallized because this is an iterative convergence type of loop.

The section of code that computes ONENRM could be lifted out of the DO 160 loop and create an array of ONENRM(I) in a parallel DO I=1,IBLOCK(M). Then inside the DO 160 loop use new arreayONENRM(NBLK) instead of the scalar ONENRM

Depending on BLKSIZ and memory controllerthe four calls to SLARNV, SCOPY, SCOPY, SCOPY could be performed in parallel (SECTIONS).

The DO 130 loop should be made into two loops to avoid ZEROing Z(B1:B1+BLKSIZ-1)

As to what is inside the MKL sstein I cannot say.

Jim Dempsey

www.quickthreadprogramming.com

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya