You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_dgemm_f90.f 618 B

1234567891011121314151617181920212223
  1. SUBROUTINE tester(i)
  2. REAL_8, DIMENSION(:), ALLOCATABLE :: A,B,C
  3. REAL_8 :: rnd(3)
  4. INTEGER :: i
  5. INTEGER :: M,N,K
  6. ! test random sizes
  7. CALL RANDOM_NUMBER(rnd)
  8. M=rnd(1)_37+1 ; N=rnd(2)_37+1 ; K=rnd(3)_37+1
  9. ALLOCATE(C(M_N),A(M_K),B(K_N))
  10. A=0 ; B=0 ; C=0
  11. CALL DGEMM("N","N",M,N,K,1.0D0,A,M,B,K,0.0D0,C,M)
  12. CALL DGEMM("T","N",M,N,K,1.0D0,A,K,B,K,0.0D0,C,M)
  13. CALL DGEMM("N","T",M,N,K,1.0D0,A,M,B,N,0.0D0,C,M)
  14. CALL DGEMM("T","T",M,N,K,1.0D0,A,K,B,N,0.0D0,C,M)
  15. END SUBROUTINE tester
  16. PROGRAM TEST_THREAD_SAFE
  17. !$OMP PARALLEL DO
  18. DO i=1,30
  19. CALL tester(i)
  20. ENDDO
  21. END PROGRAM