ВУЗ:
Рубрика:
38
C(i,j)=C(i,j) + A(i,k) * B(k,j)
end do
end do
end do
!$omp end do
! конец области распараллеливания
!$omp end parallel
! фиксируется время завершения счета omp-блока
!$ tm1=omp_get_wtime()
!$ write(*,*) tm1-tm0
End
Использование библиотеки OpenMP Для вычисления определен-
ного интеграла.
Данный пример идентичен первому примеру из раздела (3.6.3
Вычисление определенного интеграла). Различие заключается толь-
ко в числе разбиений области интегрирования.
Program example3aOMP
implicit none
integer i, n, s
double precision sum, a, b, f, x
parameter (a=0.d0, b=1.d0)
! подынтегральная функция
f(x)=dlog(1/x)
!
!$ integer omp_get_num_threads
!$ double precision omp_get_wtime, tm0
! фиксируется время начала счета
!$ tm0=omp_get_wtime()
! отключение выбора количества нитей по умолчанию
!$ call omp_set_dynamic(.false.)
! заданние числа используемых нитей
!$ call omp_set_num_threads(2)
! вывод на экран количества используемых нитей
!$omp parallel
!$ write(*,*) 'openmp-parallel with', omp_get_num_threads()
!$omp end parallel
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »
