diff --git a/cpp_thread_test/test_dgemm_f90.f b/cpp_thread_test/test_dgemm_f90.f index 8b1378917..9a34c7b1b 100644 --- a/cpp_thread_test/test_dgemm_f90.f +++ b/cpp_thread_test/test_dgemm_f90.f @@ -1 +1,23 @@ + SUBROUTINE tester(i) + REAL_8, DIMENSION(:), ALLOCATABLE :: A,B,C + REAL_8 :: rnd(3) + INTEGER :: i + INTEGER :: M,N,K + ! test random sizes + CALL RANDOM_NUMBER(rnd) + M=rnd(1)_37+1 ; N=rnd(2)_37+1 ; K=rnd(3)_37+1 + ALLOCATE(C(M_N),A(M_K),B(K_N)) + A=0 ; B=0 ; C=0 + CALL DGEMM("N","N",M,N,K,1.0D0,A,M,B,K,0.0D0,C,M) + CALL DGEMM("T","N",M,N,K,1.0D0,A,K,B,K,0.0D0,C,M) + CALL DGEMM("N","T",M,N,K,1.0D0,A,M,B,N,0.0D0,C,M) + CALL DGEMM("T","T",M,N,K,1.0D0,A,K,B,N,0.0D0,C,M) + END SUBROUTINE tester + +PROGRAM TEST_THREAD_SAFE +!$OMP PARALLEL DO +DO i=1,30 +CALL tester(i) +ENDDO +END PROGRAM