From 9af7c72568a37d2f4b863244e8454fe6c8e140bf Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 21:59:57 +0530 Subject: [PATCH 1/8] CuArrays -> CUDA --- .gitlab-ci.yml | 4 +-- .travis.yml | 1 + Manifest.toml | 62 +++++++++++------------------------------ Project.toml | 3 +- src/Flux.jl | 10 +++---- src/cuda/cuda.jl | 6 ++-- src/cuda/cudnn.jl | 2 +- src/cuda/curnn.jl | 4 +-- src/functor.jl | 2 +- src/layers/stateless.jl | 12 ++++---- src/onehot.jl | 2 +- 11 files changed, 39 insertions(+), 69 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cf9c6013dd..a00589db9c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,9 +25,9 @@ image: nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 # tags: # - nvidia -julia:1.3: +julia:1.4: extends: - - .julia:1.3 + - .julia:1.4 - .test tags: - nvidia diff --git a/.travis.yml b/.travis.yml index ed951c004d..e41e3c96fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ os: julia: - 1.3 + - 1.4 - 1 - nightly diff --git a/Manifest.toml b/Manifest.toml index eafe1a6966..824b236500 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -34,33 +34,15 @@ uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" version = "0.5.9" [[CEnum]] -git-tree-sha1 = "1b77a77c3b28e0b3f413f7567c9bb8dd9bdccd14" +git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.3.0" +version = "0.4.1" -[[CUDAapi]] -deps = ["Libdl", "Logging"] -git-tree-sha1 = "831b825d10104bd29e28f6da93312a976830717b" -uuid = "3895d2a7-ec45-59b8-82bb-cfc6a382f9b3" -version = "4.0.0" - -[[CUDAdrv]] -deps = ["CEnum", "CUDAapi", "Printf"] -git-tree-sha1 = "f56bbf18c86bcff7a961a32a4947a5abb2963a29" -uuid = "c5f51814-7f29-56b8-a69c-e4d8f6be1fde" -version = "6.3.0" - -[[CUDAnative]] -deps = ["Adapt", "BinaryProvider", "CEnum", "CUDAapi", "CUDAdrv", "ExprTools", "GPUCompiler", "LLVM", "Libdl", "Pkg", "Printf"] -git-tree-sha1 = "ac86db2b05fdfec96b011e25a504ffe7476e8a68" -uuid = "be33ccc6-a3ff-5ff2-a52e-74243cff1e17" -version = "3.1.0" - -[[CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "cab4da992adc0a64f63fa30d2db2fd8bec40cab4" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "0.5.11" +[[CUDA]] +deps = ["AbstractFFTs", "Adapt", "BinaryProvider", "CEnum", "DataStructures", "ExprTools", "GPUArrays", "GPUCompiler", "LLVM", "Libdl", "LinearAlgebra", "Logging", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "Requires", "SparseArrays", "Statistics", "TimerOutputs"] +git-tree-sha1 = "3d247bd2260259f86853e52584169ddeca648ebc" +uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" +version = "0.1.0" [[CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] @@ -92,18 +74,6 @@ git-tree-sha1 = "7c4f882c41faa72118841185afc58a2eb00ef612" uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "0.3.3+0" -[[Cthulhu]] -deps = ["CodeTracking", "InteractiveUtils", "REPL", "Unicode"] -git-tree-sha1 = "a4849ec61df9659423cc63b298ed895904ee9743" -uuid = "f68482b8-f384-11e8-15f7-abe071a5a75f" -version = "1.0.2" - -[[CuArrays]] -deps = ["AbstractFFTs", "Adapt", "CEnum", "CUDAapi", "CUDAdrv", "CUDAnative", "DataStructures", "GPUArrays", "Libdl", "LinearAlgebra", "MacroTools", "NNlib", "Pkg", "Printf", "Random", "Reexport", "Requires", "SparseArrays", "Statistics", "TimerOutputs"] -git-tree-sha1 = "870a4ac61e99c36f42d15e496fd290c841541d90" -uuid = "3a865a2d-5b23-5a0f-bc46-62713ec82fae" -version = "2.2.0" - [[DataAPI]] git-tree-sha1 = "176e23402d80e7743fc26c19c681bfb11246af32" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" @@ -173,15 +143,15 @@ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[GPUArrays]] deps = ["AbstractFFTs", "Adapt", "LinearAlgebra", "Printf", "Random", "Serialization"] -git-tree-sha1 = "ce4579ebffef43e07318e9544ffeb6532c95d04d" +git-tree-sha1 = "5f90fd4385ae86ab56cdd9bd4717f7bd2ff2acdf" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "3.3.0" +version = "3.4.0" [[GPUCompiler]] -deps = ["Cthulhu", "DataStructures", "InteractiveUtils", "LLVM", "Libdl", "TimerOutputs"] -git-tree-sha1 = "5275aa268ecd09640b32560e1eae90c78816e4d1" +deps = ["DataStructures", "InteractiveUtils", "LLVM", "Libdl", "TimerOutputs", "UUIDs"] +git-tree-sha1 = "7ed10d9c41b7bb392f3e645233e45ecf93217130" uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.2.0" +version = "0.3.0" [[IRTools]] deps = ["InteractiveUtils", "MacroTools", "Test"] @@ -201,9 +171,9 @@ version = "0.8.1" [[LLVM]] deps = ["CEnum", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "93d2e1e960fe47db1a9015e86fad1d47cf67cf59" +git-tree-sha1 = "dd3f584c3dbefe39b2a8fbafa1a3b77e31e21255" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "1.4.1" +version = "1.5.1" [[LibGit2]] deps = ["Printf"] @@ -370,9 +340,9 @@ version = "0.9.1" [[Zlib_jll]] deps = ["Libdl", "Pkg"] -git-tree-sha1 = "2f6c3e15e20e036ee0a0965879b31442b7ec50fa" +git-tree-sha1 = "a2e0d558f6031002e380a90613b199e37a8565bf" uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.11+9" +version = "1.2.11+10" [[Zygote]] deps = ["AbstractFFTs", "ArrayLayouts", "DiffRules", "FillArrays", "ForwardDiff", "Future", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NNlib", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"] diff --git a/Project.toml b/Project.toml index a9af31da01..9efe165ce3 100644 --- a/Project.toml +++ b/Project.toml @@ -5,9 +5,9 @@ version = "0.10.5" [deps] AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" CodecZlib = "944b1d66-785c-5afd-91f1-9de20f533193" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" -CuArrays = "3a865a2d-5b23-5a0f-bc46-62713ec82fae" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" Functors = "d9f16b24-f501-4c13-a1f2-28368ffc5196" Juno = "e5e0dc1b-0480-54bc-9374-aad01c23163d" @@ -30,7 +30,6 @@ AbstractTrees = "0.2, 0.3" Adapt = "1" CodecZlib = "0.5, 0.6, 0.7" Colors = "0.8, 0.9, 0.10, 0.11, 0.12" -CuArrays = "2" Functors = "0.1" Juno = "0.5, 0.6, 0.7, 0.8" MacroTools = "0.3, 0.4, 0.5" diff --git a/src/Flux.jl b/src/Flux.jl index c28a7d3637..3451300814 100644 --- a/src/Flux.jl +++ b/src/Flux.jl @@ -25,7 +25,7 @@ export Descent, ADAM, Momentum, Nesterov, RMSProp, ClipValue, ClipNorm -using CuArrays +using CUDA const use_cuda = Ref(false) include("utils.jl") @@ -46,10 +46,10 @@ include("deprecations.jl") include("cuda/cuda.jl") function __init__() - use_cuda[] = CuArrays.functional() # Can be overridden after load with `Flux.use_cuda[] = false` - if CuArrays.functional() - if !CuArrays.has_cudnn() - @warn "CuArrays.jl found cuda, but did not find libcudnn. Some functionality will not be available." + use_cuda[] = CUDA.functional() # Can be overridden after load with `Flux.use_cuda[] = false` + if CUDA.functional() + if !CUDA.has_cudnn() + @warn "CUDA.jl found cuda, but did not find libcudnn. Some functionality will not be available." end end end diff --git a/src/cuda/cuda.jl b/src/cuda/cuda.jl index 20aae69cbf..7be752a1dd 100644 --- a/src/cuda/cuda.jl +++ b/src/cuda/cuda.jl @@ -1,8 +1,8 @@ -module CUDA +module CUDAint -using ..CuArrays +using ..CUDA -using CuArrays: CUDNN +using CUDA: CUDNN include("curnn.jl") include("cudnn.jl") diff --git a/src/cuda/cudnn.jl b/src/cuda/cudnn.jl index d394182e8f..3a740ad513 100644 --- a/src/cuda/cudnn.jl +++ b/src/cuda/cudnn.jl @@ -1,5 +1,5 @@ import ..Flux: data -import CuArrays.CUDNN: batchnorm, ∇batchnorm +import CUDA.CUDNN: batchnorm, ∇batchnorm (BN::Flux.BatchNorm)(x::Union{CuArray{T,2},CuArray{T,4},CuArray{T,5}}, cache = nothing) where T<:Union{Float32, Float64} = BN.λ.(batchnorm(BN.γ, BN.β, x, BN.μ, BN.σ², BN.momentum; cache = cache, alpha = 1, beta = 0, eps = BN.ϵ, training = Flux.istraining())) diff --git a/src/cuda/curnn.jl b/src/cuda/curnn.jl index 51e26a3eba..bd0c1f7193 100644 --- a/src/cuda/curnn.jl +++ b/src/cuda/curnn.jl @@ -1,5 +1,5 @@ import ..Flux: Flux, relu -using CuArrays.CUDAnative +using CUDA.CUDAnative CuRNN{T} = Flux.RNNCell{<:Union{typeof(tanh),typeof(relu)},<:CuArray{T,2},<:CuArray{T,1}} CuGRU{T} = Flux.GRUCell{<:CuArray{T,2},<:CuArray{T,1}} @@ -55,7 +55,7 @@ unbroadcast(x::AbstractArray, Δ) = coerce_cuda(x::Union{CuArray,Nothing}) = x coerce_cuda(x::Tuple) = coerce_cuda.(x) -coerce_cuda(x::AbstractArray) = x .+ CuArrays.fill(0) +coerce_cuda(x::AbstractArray) = x .+ CUDA.fill(0) function struct_grad!(cx::Zygote.Context, x, x̄) for f in fieldnames(typeof(x)) diff --git a/src/functor.jl b/src/functor.jl index c97fd737f1..2233ee9001 100644 --- a/src/functor.jl +++ b/src/functor.jl @@ -70,7 +70,7 @@ end cpu(m) = fmap(x -> adapt(Array, x), m) -gpu(x) = use_cuda[] ? fmap(CuArrays.cu, x) : x +gpu(x) = use_cuda[] ? fmap(CUDA.cu, x) : x # Precision diff --git a/src/layers/stateless.jl b/src/layers/stateless.jl index 80ebacaa1d..8c4936cd3b 100644 --- a/src/layers/stateless.jl +++ b/src/layers/stateless.jl @@ -125,8 +125,8 @@ julia> Flux.binarycrossentropy.(σ.([-1.1491, 0.8619, 0.3127]), [1, 1, 0]) """ binarycrossentropy(ŷ, y; ϵ=eps(ŷ)) = -xlogy(y, ŷ + ϵ) - xlogy(1 - y, 1 - ŷ + ϵ) -# Re-definition to fix interaction with CuArrays. -CuArrays.@cufunc binarycrossentropy(ŷ, y; ϵ=eps(ŷ)) = -y*log(ŷ + ϵ) - (1 - y)*log(1 - ŷ + ϵ) +# Re-definition to fix interaction with CUDA. +CUDA.@cufunc binarycrossentropy(ŷ, y; ϵ=eps(ŷ)) = -y*log(ŷ + ϵ) - (1 - y)*log(1 - ŷ + ϵ) """ logitbinarycrossentropy(ŷ, y) @@ -147,8 +147,8 @@ julia> Flux.logitbinarycrossentropy.([-1.1491, 0.8619, 0.3127], [1, 1, 0]) """ logitbinarycrossentropy(ŷ, y) = (1 - y)*ŷ - logσ(ŷ) -# Re-definition to fix interaction with CuArrays. -CuArrays.@cufunc logitbinarycrossentropy(ŷ, y) = (1 - y)*ŷ - logσ(ŷ) +# Re-definition to fix interaction with CUDA. +CUDA.@cufunc logitbinarycrossentropy(ŷ, y) = (1 - y)*ŷ - logσ(ŷ) """ normalise(x; dims=1) @@ -271,7 +271,7 @@ function xlogx(x) result = x * log(x) ifelse(iszero(x), zero(result), result) end -CuArrays.@cufunc function xlogx(x) +CUDA.@cufunc function xlogx(x) result = x * log(x) ifelse(iszero(x), zero(result), result) end @@ -284,7 +284,7 @@ function xlogy(x, y) result = x * log(y) ifelse(iszero(x), zero(result), result) end -CuArrays.@cufunc function xlogy(x, y) +CUDA.@cufunc function xlogy(x, y) result = x * log(y) ifelse(iszero(x), zero(result), result) end diff --git a/src/onehot.jl b/src/onehot.jl index 4b7e5e3638..349360bbc1 100644 --- a/src/onehot.jl +++ b/src/onehot.jl @@ -37,7 +37,7 @@ import Adapt: adapt, adapt_structure adapt_structure(T, xs::OneHotMatrix) = OneHotMatrix(xs.height, adapt(T, xs.data)) -import .CuArrays: CuArray, CuArrayStyle, cudaconvert +import .CUDA: CuArray, CuArrayStyle, cudaconvert import Base.Broadcast: BroadcastStyle, ArrayStyle BroadcastStyle(::Type{<:OneHotMatrix{<:CuArray}}) = CuArrayStyle{2}() cudaconvert(x::OneHotMatrix{<:CuArray}) = OneHotMatrix(x.height, cudaconvert(x.data)) From f9768a17fb2bf665a2a0b73d68d4991e6dcd32c3 Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 22:01:12 +0530 Subject: [PATCH 2/8] bump julia compat --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 9efe165ce3..692841d1e8 100644 --- a/Project.toml +++ b/Project.toml @@ -38,7 +38,7 @@ Reexport = "0.2" StatsBase = "0" ZipFile = "0.7, 0.8, 0.9" Zygote = "0.4.13" -julia = "1.3" +julia = "1.4" [extras] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" From 8e3f70545a9788323ff902748409d44d7bb3b013 Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 22:06:58 +0530 Subject: [PATCH 3/8] move tests --- test/cuda/cuda.jl | 8 ++++---- test/cuda/cudnn.jl | 2 +- test/cuda/curnn.jl | 2 +- test/cuda/layers.jl | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/cuda/cuda.jl b/test/cuda/cuda.jl index 5bcfb3e7b4..e57ba887ab 100644 --- a/test/cuda/cuda.jl +++ b/test/cuda/cuda.jl @@ -1,12 +1,12 @@ using Flux, Test -using Flux.CuArrays +using Flux.CUDA using Flux: gpu @info "Testing GPU Support" -@testset "CuArrays" begin +@testset "CUDA" begin -CuArrays.allowscalar(false) +CUDA.allowscalar(false) x = randn(5, 5) cx = gpu(x) @@ -65,7 +65,7 @@ end @test gradient(foo, cu(rand(1)))[1] isa CuArray end -if CuArrays.has_cudnn() +if CUDA.has_cudnn() @info "Testing Flux/CUDNN" include("cudnn.jl") include("curnn.jl") diff --git a/test/cuda/cudnn.jl b/test/cuda/cudnn.jl index 881e0b3910..37a409a2a2 100644 --- a/test/cuda/cudnn.jl +++ b/test/cuda/cudnn.jl @@ -1,4 +1,4 @@ -using Flux, CuArrays, Test +using Flux, CUDA, Test using Flux: pullback @testset "CUDNN BatchNorm" begin diff --git a/test/cuda/curnn.jl b/test/cuda/curnn.jl index 7753837a60..452329d8fa 100644 --- a/test/cuda/curnn.jl +++ b/test/cuda/curnn.jl @@ -1,4 +1,4 @@ -using Flux, CuArrays, Test +using Flux, CUDA, Test using Flux: pullback @testset for R in [RNN, GRU, LSTM] diff --git a/test/cuda/layers.jl b/test/cuda/layers.jl index e48a464280..822ecc4974 100644 --- a/test/cuda/layers.jl +++ b/test/cuda/layers.jl @@ -35,7 +35,7 @@ function gradtest(name::String, layers::Vector, xs = nothing, args...) # Handle pooling layers if !isempty(ps) - @test gs[first(ps)] isa Flux.CuArrays.CuArray + @test gs[first(ps)] isa Flux.CUDA.CuArray end end end From 3264106abc4c81f45d85eb7879202752d8e5f69d Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 22:08:07 +0530 Subject: [PATCH 4/8] add CUDA compat --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index 692841d1e8..b6556942e3 100644 --- a/Project.toml +++ b/Project.toml @@ -30,6 +30,7 @@ AbstractTrees = "0.2, 0.3" Adapt = "1" CodecZlib = "0.5, 0.6, 0.7" Colors = "0.8, 0.9, 0.10, 0.11, 0.12" +CUDA = "0" Functors = "0.1" Juno = "0.5, 0.6, 0.7, 0.8" MacroTools = "0.3, 0.4, 0.5" From dd4a220da2a36f01308bc1074589bb112aab3ccd Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 22:11:33 +0530 Subject: [PATCH 5/8] add NEWS --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index c9b2188db0..0481d986e7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,5 @@ # v0.10.5 +* Moved CUDA compatibility to use [CUDA.jl instead of CuArrays.jl](https://github.com/FluxML/Flux.jl/pull/1204) * Add option for [same padding](https://github.com/FluxML/Flux.jl/pull/901) to conv and pooling layers by setting `pad=SamePad()`. * Added option to set `bias` to [Flux.Zeros](https://github.com/FluxML/Flux.jl/pull/873) to eliminating `bias` from being trained. * Added `GlobalMaxPool` and `GlobalMeanPool` [layers](https://github.com/FluxML/Flux.jl/pull/950) for performing global pooling operations. From 39e6a70d1f32f6002720de37d693e17893a4e767 Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 22:31:23 +0530 Subject: [PATCH 6/8] rm CUDAnative mention --- src/cuda/curnn.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/cuda/curnn.jl b/src/cuda/curnn.jl index bd0c1f7193..f4f9cb4f97 100644 --- a/src/cuda/curnn.jl +++ b/src/cuda/curnn.jl @@ -1,5 +1,4 @@ import ..Flux: Flux, relu -using CUDA.CUDAnative CuRNN{T} = Flux.RNNCell{<:Union{typeof(tanh),typeof(relu)},<:CuArray{T,2},<:CuArray{T,1}} CuGRU{T} = Flux.GRUCell{<:CuArray{T,2},<:CuArray{T,1}} From 7b4a9944c552d77439e2ac703d76dec5f40317b7 Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Mon, 1 Jun 2020 22:31:54 +0530 Subject: [PATCH 7/8] rm 1.3 tests on travis --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e41e3c96fe..42f7a79b28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ os: # - osx julia: - - 1.3 - 1.4 - 1 - nightly From 50d503c1d87f046665315be72bab4559a24ed3b1 Mon Sep 17 00:00:00 2001 From: Dhairya Gandhi Date: Wed, 3 Jun 2020 13:30:15 +0530 Subject: [PATCH 8/8] use Zygote branch for testing --- Manifest.toml | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 824b236500..6ac52eddec 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -29,9 +29,9 @@ uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[BinaryProvider]] deps = ["Libdl", "Logging", "SHA"] -git-tree-sha1 = "428e9106b1ff27593cbd979afac9b45b82372b8c" +git-tree-sha1 = "ecdec412a9abc8db54c0efc5548c64dfce072058" uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" -version = "0.5.9" +version = "0.5.10" [[CEnum]] git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" @@ -44,6 +44,18 @@ git-tree-sha1 = "3d247bd2260259f86853e52584169ddeca648ebc" uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" version = "0.1.0" +[[ChainRules]] +deps = ["ChainRulesCore", "LinearAlgebra", "Reexport", "Requires", "Statistics"] +git-tree-sha1 = "1886302d65c81cee7fd35cff67f33721db4ae88e" +uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" +version = "0.6.3" + +[[ChainRulesCore]] +deps = ["MuladdMacro"] +git-tree-sha1 = "32e2c6e44d4fdd985b5688b5e85c1f6892cf3d15" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "0.8.0" + [[CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da" @@ -81,9 +93,9 @@ version = "1.3.0" [[DataStructures]] deps = ["InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "6166ecfaf2b8bbf2b68d791bc1d54501f345d314" +git-tree-sha1 = "af6d9c86e191c917c2276fbede1137e8ea20157f" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.17.15" +version = "0.17.17" [[Dates]] deps = ["Printf"] @@ -116,9 +128,9 @@ version = "0.1.1" [[FillArrays]] deps = ["LinearAlgebra", "Random", "SparseArrays"] -git-tree-sha1 = "6c89d5b673e59b8173c546c84127e5f623d865f6" +git-tree-sha1 = "44f561e293987ffc84272cd3d2b14b0b93123d63" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.8.9" +version = "0.8.10" [[FixedPointNumbers]] git-tree-sha1 = "3ba9ea634d4c8b289d590403b4a06f8e227a6238" @@ -155,9 +167,9 @@ version = "0.3.0" [[IRTools]] deps = ["InteractiveUtils", "MacroTools", "Test"] -git-tree-sha1 = "8845400bd2d9815d37720251f1b53d27a335e1f4" +git-tree-sha1 = "1a4355e4b5b50be2311ebb644f34f3306dbd0410" uuid = "7869d1d1-7146-5819-86e3-90919afe41df" -version = "0.3.2" +version = "0.3.1" [[InteractiveUtils]] deps = ["Markdown"] @@ -214,6 +226,11 @@ version = "0.4.3" [[Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[MuladdMacro]] +git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68" +uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" +version = "0.2.2" + [[NNlib]] deps = ["BinaryProvider", "Libdl", "LinearAlgebra", "Requires", "Statistics"] git-tree-sha1 = "d9f196d911f55aeaff11b11f681b135980783824" @@ -289,9 +306,9 @@ uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[SpecialFunctions]] deps = ["OpenSpecFun_jll"] -git-tree-sha1 = "e19b98acb182567bcb7b75bb5d9eedf3a3b5ec6c" +git-tree-sha1 = "d8d8b8a9f4119829410ecd706da4cc8594a1e020" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "0.10.0" +version = "0.10.3" [[StaticArrays]] deps = ["LinearAlgebra", "Random", "Statistics"] @@ -345,8 +362,10 @@ uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.11+10" [[Zygote]] -deps = ["AbstractFFTs", "ArrayLayouts", "DiffRules", "FillArrays", "ForwardDiff", "Future", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NNlib", "NaNMath", "Random", "Requires", "SpecialFunctions", "Statistics", "ZygoteRules"] -git-tree-sha1 = "707ceea58e2bd0ff3077ab13a92f8355181d3ee4" +deps = ["AbstractFFTs", "ArrayLayouts", "ChainRules", "FillArrays", "ForwardDiff", "Future", "IRTools", "InteractiveUtils", "LinearAlgebra", "MacroTools", "NNlib", "Random", "Requires", "Statistics", "ZygoteRules"] +git-tree-sha1 = "df4392bb922b6aacc36b131835dd54e65782f15a" +repo-rev = "dg/cuda" +repo-url = "https://github.com/FluxML/Zygote.jl.git" uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" version = "0.4.20"