| 利用OpenMP进行并行运算2个矩阵P与Q的值,并利用reduction进行归约处理; 先尝试了一个简单算例,计算没有问题;但是移至到另外一个大程序中时,出现了stack overflow问题。
 以下是简单算例的程序部分:
 
 [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode     ! 主程序段
    matrix = 0.d0
    vector = 0.d0
    !$omp parallel private(i, tmp_vector) &
    !$omp          reduction(+:matrix, vector)
    !$omp do              
            do i =1, 48
            call gemm(a, b, matrix, 'n', 'n', 1.d0, 1.d0)
            call gemm(a, c, tmp_vector)
            call gemm(b, tmp_vector, vector, 'n', 'n', 1.d0, 1.d0)
            end do
   !$omp end do 
    !$omp end parallel
 在上述简单算例中运行正确,但移至到大型程序中出现以下问题:
 
 
 
 |