diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 05217e81..9af14c6a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ variables: CI_IMAGE_TAG: 'cuda' include: - - 'https://raw.githubusercontent.com/JuliaGPU/gitlab-ci/master/templates/v3/common.yml' + - 'https://raw.githubusercontent.com/JuliaGPU/gitlab-ci/master/templates/v4/common.yml' .flux: extends: .test @@ -13,25 +13,39 @@ include: - julia -e 'using InteractiveUtils; versioninfo()' - mkdir $JULIA_DEPOT_PATH # Pkg3.jl#325 - - julia -e 'using Pkg; - Pkg.add("CuArrays");' - julia --project -e 'using Pkg; Pkg.instantiate(); Pkg.build(); Pkg.test(; coverage=true);' test:v1.0: - extends: .flux - variables: - CI_VERSION_TAG: 'v1.0' - only: - - staging - - trying + extends: .flux + variables: + CI_VERSION_TAG: 'v1.0' test:v1.1: + extends: .flux + variables: + CI_VERSION_TAG: 'v1.1' + +test:v1.2: + extends: .flux + variables: + CI_VERSION_TAG: 'v1.2' + +test:v1.3: + extends: .flux + variables: + CI_VERSION_TAG: 'v1.3' + +test:v1.0: + extends: .flux + variables: + CI_VERSION_TAG: 'v1.0' + +test:dev: extends: .flux variables: - CI_VERSION_TAG: 'v1.1' - only: - - staging - - trying + CI_VERSION_TAG: 'dev' + + allow_failure: true diff --git a/Project.toml b/Project.toml index a55d1385..609af949 100644 --- a/Project.toml +++ b/Project.toml @@ -31,7 +31,7 @@ CUDAapi = "1.1" CuArrays = "1.2" NNlib = "0.6" Zygote = "0.3" -julia = "1.1" +julia = "1" [extras] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" diff --git a/src/cuda/curnn.jl b/src/cuda/curnn.jl index 616f8327..17896775 100644 --- a/src/cuda/curnn.jl +++ b/src/cuda/curnn.jl @@ -83,12 +83,14 @@ function rnnWorkspaceSize(r::RNNDesc, seqlen, xdesc) return Int(size[]) end -const workspace = [CuVector{UInt8}(undef, 1)] +const workspace = Ref{Union{Nothing,CuVector{UInt8}}}(nothing) -getworkspace(bytes) = - length(workspace[]) ≥ bytes ? - workspace[] : - (workspace[] = CuVector{UInt8}(undef, bytes)) +function getworkspace(bytes) + if workspace[] === nothing || length(workspace[]) < bytes + workspace[] = CuVector{UInt8}(undef, bytes) + end + workspace[] +end getworkspace(r::RNNDesc, seqlen, xdesc) = getworkspace(rnnWorkspaceSize(r, seqlen, xdesc)) diff --git a/test/cuda/cuda.jl b/test/cuda/cuda.jl index 3508e561..0bb7b2ef 100644 --- a/test/cuda/cuda.jl +++ b/test/cuda/cuda.jl @@ -1,4 +1,5 @@ -using Flux, CuArrays, Test +using Flux, Test +using Flux.CuArrays using Flux: gpu @info "Testing GPU Support"