
C   Allen, ADVANCED COMPILING FOR HIGH PERFORMANCE, p.46 

	PROGRAM DGEMM_BLOCKING

	USE OMP_LIB

	PARAMETER (N = SIZE)
	PARAMETER (L = BLOCKSIZE)
	REAL*8 A(N,N)
	REAL*8 B(N,N)
	REAL*8 C(N,N)
	REAL*8 START

C   Esto se necesita o si no supone en 0 y hace "cosas"
	DO I=1,N
		DO J=1,N
			A(I,J) = I*J
			B(I,J) = I+J
		ENDDO
	ENDDO

	START = OMP_get_wtime()

	DO II = 1, N, L
		DO JJ = 1, N, L
C			DO i = II, II+L-1
C				DO j = JJ, JJ+L-1
C					C(j,i) = 0.0
C				ENDDO
C			ENDDO
			DO KK = 1, N , L
				DO i = II, II+L-1
					DO j = JJ, JJ+L-1
						DO k = KK, KK+L-1
							C(j,i) = C(j,i) + A(j,k) * B(k,i)
						ENDDO
					ENDDO
				ENDDO
			ENDDO
		ENDDO
	ENDDO

	PRINT *, 'GFLOPS ', 2.0d0*N*N*N/((2**30)*(OMP_get_wtime()-start))
	END