From 9ce5f7ff8e4c31d1393948f74254446739c821a6 Mon Sep 17 00:00:00 2001 From: Thomas Faingnaert Date: Thu, 19 Oct 2023 16:43:50 +0200 Subject: [PATCH] Add test --- test/core/cudadrv.jl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/core/cudadrv.jl b/test/core/cudadrv.jl index 1c734e3582..7dc93b4e19 100644 --- a/test/core/cudadrv.jl +++ b/test/core/cudadrv.jl @@ -200,6 +200,34 @@ end @test (CUDA.@elapsed identity(nothing)) > 0 @test (CUDA.@elapsed blocking=true identity(nothing)) > 0 +let + function simple_matmul(C, A, B, N) + for i = 1:N + for j = 1:N + elem = C[i, j] + + for k = 1:N + elem += A[i, k] * B[k, j] + end + + C[i, j] = elem + end + end + + nothing + end + + A = CuArray(rand(Float32, (1000, 1000))) + B = CuArray(rand(Float32, (1000, 1000))) + C = similar(A) + + N1 = (CUDA.@elapsed @cuda simple_matmul(C, A, B, 500)) + N2 = (CUDA.@elapsed @cuda simple_matmul(C, A, B, 1000)) + + @test 16 * N1 > N2 + @test N2 > 4 * N1 +end + CuEvent(CUDA.EVENT_BLOCKING_SYNC) CuEvent(CUDA.EVENT_BLOCKING_SYNC | CUDA.EVENT_DISABLE_TIMING)