Last active
February 27, 2023 23:55
-
-
Save staticfloat/445f0d6bc999fda0f8a40dadf1dc49fe to your computer and use it in GitHub Desktop.
Diffractor Performance Comparison
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
┌ Warning: Skipping Enzyme tests, as they're broken on v1.10+ | |
└ @ Main ~/src/problems/ad_performance/test.jl:43 | |
┌ Info: ForwardDiff | |
│ t = | |
│ BenchmarkTools.Trial: 4903 samples with 1 evaluation. | |
│ Range (min … max): 934.749 μs … 1.232 ms ┊ GC (min … max): 0.00% … 0.00% | |
│ Time (median): 1.022 ms ┊ GC (median): 0.00% | |
│ Time (mean ± σ): 1.019 ms ± 10.320 μs ┊ GC (mean ± σ): 0.00% ± 0.00% | |
│ | |
│ ▄▇█▄ | |
│ ▂▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▁▁▂▁▁▂▂▂▂▁▂▂▂▂▂▂▂▂▃▃▂▂▂▂▃▃▄▄▃▄▄▅▄▄▅▇████▇▄▃▂ ▃ | |
│ 935 μs Histogram: frequency by time 1.03 ms < | |
│ | |
│ Memory estimate: 0 bytes, allocs estimate: 0. | |
└ N = 10000 | |
┌ Info: Zygote | |
│ t = | |
│ BenchmarkTools.Trial: 683 samples with 1 evaluation. | |
│ Range (min … max): 6.054 ms … 13.115 ms ┊ GC (min … max): 0.00% … 50.77% | |
│ Time (median): 6.465 ms ┊ GC (median): 0.00% | |
│ Time (mean ± σ): 7.324 ms ± 2.011 ms ┊ GC (mean ± σ): 13.03% ± 17.46% | |
│ | |
│ ▄▆▆██ ▁▂▂▁ | |
│ █████▆▅▁▅▁▁▁▄▁▁▁▁▁▁▁▁▁▁▁▁▁▄▆▁▁▇▄▁▁▄▁▆▇▄▄▁▆▁▄▁▁▄▅▄▅██▄▄████ ▇ | |
│ 6.05 ms Histogram: log(frequency) by time 12.2 ms < | |
│ | |
│ Memory estimate: 8.18 MiB, allocs estimate: 250104. | |
└ N = 10000 | |
┌ Info: Diffractor | |
│ t = | |
│ BenchmarkTools.Trial: 15 samples with 1 evaluation. | |
│ Range (min … max): 316.526 ms … 346.247 ms ┊ GC (min … max): 22.23% … 25.40% | |
│ Time (median): 338.646 ms ┊ GC (median): 24.26% | |
│ Time (mean ± σ): 335.550 ms ± 9.403 ms ┊ GC (mean ± σ): 24.35% ± 0.86% | |
│ | |
│ ▁ ▁ ▁▁ ▁ ▁ ▁ ▁▁ ▁ █ ▁▁▁ | |
│ █▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁██▁█▁▁▁▁█▁▁▁▁▁▁█▁▁▁▁▁▁▁██▁▁▁█▁▁▁▁▁█▁███ ▁ | |
│ 317 ms Histogram: frequency by time 346 ms < | |
│ | |
│ Memory estimate: 983.86 MiB, allocs estimate: 1444408. | |
└ N = 10000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
┌ Info: Enzyme (forward) | |
│ t = | |
│ BenchmarkTools.Trial: 6307 samples with 1 evaluation. | |
│ Range (min … max): 760.612 μs … 1.624 ms ┊ GC (min … max): 0.00% … 0.00% | |
│ Time (median): 788.214 μs ┊ GC (median): 0.00% | |
│ Time (mean ± σ): 791.884 μs ± 19.220 μs ┊ GC (mean ± σ): 0.00% ± 0.00% | |
│ | |
│ ▂▅▆▇█▆▅▄▃▃ | |
│ ▂▁▁▁▁▁▁▁▁▁▁▁▁▂▂▂▃▃▄▅▆▇████████████▇▆▆▄▄▄▄▄▄▅▅▆▆▇▇▇▇▅▅▅▄▄▃▃▃▃ ▄ | |
│ 761 μs Histogram: frequency by time 816 μs < | |
│ | |
│ Memory estimate: 0 bytes, allocs estimate: 0. | |
└ N = 10000 | |
┌ Info: Enzyme (reverse) | |
│ t = | |
│ BenchmarkTools.Trial: 6300 samples with 1 evaluation. | |
│ Range (min … max): 779.057 μs … 837.286 μs ┊ GC (min … max): 0.00% … 0.00% | |
│ Time (median): 791.580 μs ┊ GC (median): 0.00% | |
│ Time (mean ± σ): 792.636 μs ± 6.175 μs ┊ GC (mean ± σ): 0.00% ± 0.00% | |
│ | |
│ ▁▃▅▆█▇▆▅▅▃▅▄▅▄▄▁▁ | |
│ ▁▁▁▂▂▂▃▄▃▄▆██████████████████▇▇▇▇▇▆▅▅▆▅▅▅▃▄▃▂▂▂▂▂▂▂▂▂▂▂▁▂▁▁▂▁ ▄ | |
│ 779 μs Histogram: frequency by time 813 μs < | |
│ | |
│ Memory estimate: 0 bytes, allocs estimate: 0. | |
└ N = 10000 | |
┌ Info: ForwardDiff | |
│ t = | |
│ BenchmarkTools.Trial: 4956 samples with 1 evaluation. | |
│ Range (min … max): 991.266 μs … 1.031 ms ┊ GC (min … max): 0.00% … 0.00% | |
│ Time (median): 1.008 ms ┊ GC (median): 0.00% | |
│ Time (mean ± σ): 1.008 ms ± 4.404 μs ┊ GC (mean ± σ): 0.00% ± 0.00% | |
│ | |
│ ▂▃▄▄▅▇█▇▇█▇▅▅▆▅▄▃▁▂▂▁▁ | |
│ ▂▁▁▁▁▁▂▂▁▂▂▃▃▂▃▃▃▃▃▅▆▆▇███████████████████████▆▆▅▅▄▃▄▄▃▃▂▃▃ ▅ | |
│ 991 μs Histogram: frequency by time 1.02 ms < | |
│ | |
│ Memory estimate: 0 bytes, allocs estimate: 0. | |
└ N = 10000 | |
┌ Info: Zygote | |
│ t = | |
│ BenchmarkTools.Trial: 573 samples with 1 evaluation. | |
│ Range (min … max): 5.955 ms … 14.482 ms ┊ GC (min … max): 0.00% … 42.30% | |
│ Time (median): 7.771 ms ┊ GC (median): 0.00% | |
│ Time (mean ± σ): 8.743 ms ± 2.239 ms ┊ GC (mean ± σ): 11.93% ± 16.34% | |
│ | |
│ ▇▇█ ▂▃ | |
│ ▆▄▅▁▁▁▄▁▁▁▅███▄▁▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▅▅▄▆▄▄▁▅▇▅▆▄▄▁▄▆▁█▇▆██ ▇ | |
│ 5.95 ms Histogram: log(frequency) by time 14 ms < | |
│ | |
│ Memory estimate: 8.18 MiB, allocs estimate: 250104. | |
└ N = 10000 | |
┌ Warning: Skipping Diffractor tests, as they're broken on v1.9- | |
└ @ Main ~/src/problems/ad_performance/test.jl:50 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file is machine-generated - editing it directly is not advised | |
julia_version = "1.10.0-DEV" | |
manifest_format = "2.0" | |
project_hash = "6985a7b33b28c6ef7f7c6220f3b93174d59aec37" | |
[[deps.AbstractFFTs]] | |
deps = ["ChainRulesCore", "LinearAlgebra"] | |
git-tree-sha1 = "69f7020bd72f069c219b5e8c236c1fa90d2cb409" | |
uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" | |
version = "1.2.1" | |
[[deps.AbstractTrees]] | |
git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" | |
uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" | |
version = "0.4.4" | |
[[deps.Adapt]] | |
deps = ["LinearAlgebra", "Requires"] | |
git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" | |
uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" | |
version = "3.6.1" | |
weakdeps = ["StaticArrays"] | |
[deps.Adapt.extensions] | |
AdaptStaticArraysExt = "StaticArrays" | |
[[deps.ArgTools]] | |
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" | |
version = "1.1.1" | |
[[deps.Artifacts]] | |
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" | |
[[deps.Base64]] | |
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" | |
[[deps.BenchmarkTools]] | |
deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] | |
git-tree-sha1 = "d9a9701b899b30332bbcb3e1679c41cce81fb0e8" | |
uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" | |
version = "1.3.2" | |
[[deps.CEnum]] | |
git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" | |
uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" | |
version = "0.4.2" | |
[[deps.ChainRules]] | |
deps = ["Adapt", "ChainRulesCore", "Compat", "Distributed", "GPUArraysCore", "IrrationalConstants", "LinearAlgebra", "Random", "RealDot", "SparseArrays", "Statistics", "StructArrays"] | |
git-tree-sha1 = "7d20c2fb8ab838e41069398685e7b6b5f89ed85b" | |
uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2" | |
version = "1.48.0" | |
[[deps.ChainRulesCore]] | |
deps = ["Compat", "LinearAlgebra", "SparseArrays"] | |
git-tree-sha1 = "c6d890a52d2c4d55d326439580c3b8d0875a77d9" | |
uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" | |
version = "1.15.7" | |
[[deps.CodeTracking]] | |
deps = ["InteractiveUtils", "UUIDs"] | |
git-tree-sha1 = "4f619d394ac521dc59cb80a2cd8f78578e483a9d" | |
uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" | |
version = "1.2.1" | |
[[deps.Combinatorics]] | |
git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" | |
uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" | |
version = "1.0.2" | |
[[deps.CommonSubexpressions]] | |
deps = ["MacroTools", "Test"] | |
git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" | |
uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" | |
version = "0.3.0" | |
[[deps.Compat]] | |
deps = ["Dates", "LinearAlgebra", "UUIDs"] | |
git-tree-sha1 = "61fdd77467a5c3ad071ef8277ac6bd6af7dd4c04" | |
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" | |
version = "4.6.0" | |
[[deps.CompilerSupportLibraries_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" | |
version = "1.0.2+0" | |
[[deps.Cthulhu]] | |
deps = ["CodeTracking", "FoldingTrees", "InteractiveUtils", "Preferences", "REPL", "SnoopPrecompile", "UUIDs", "Unicode"] | |
git-tree-sha1 = "95fa11adb01776d098a7cd49ae91ac4394e1fd26" | |
uuid = "f68482b8-f384-11e8-15f7-abe071a5a75f" | |
version = "2.7.9" | |
[[deps.DataAPI]] | |
git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" | |
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" | |
version = "1.14.0" | |
[[deps.DataStructures]] | |
deps = ["Compat", "InteractiveUtils", "OrderedCollections"] | |
git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" | |
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" | |
version = "0.18.13" | |
[[deps.DataValueInterfaces]] | |
git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" | |
uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" | |
version = "1.0.0" | |
[[deps.Dates]] | |
deps = ["Printf"] | |
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" | |
[[deps.DiffResults]] | |
deps = ["StaticArraysCore"] | |
git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" | |
uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" | |
version = "1.1.0" | |
[[deps.DiffRules]] | |
deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] | |
git-tree-sha1 = "a4ad7ef19d2cdc2eff57abbbe68032b1cd0bd8f8" | |
uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" | |
version = "1.13.0" | |
[[deps.Diffractor]] | |
deps = ["ChainRules", "ChainRulesCore", "Combinatorics", "Cthulhu", "InteractiveUtils", "OffsetArrays", "StaticArrays", "StatsBase", "StructArrays"] | |
git-tree-sha1 = "0df6b11cc268beaa17d4e393105516a30af79844" | |
repo-rev = "main" | |
repo-url = "https://github.com/JuliaDiff/Diffractor.jl" | |
uuid = "9f5e2b26-1114-432f-b630-d3fe2085c51c" | |
version = "0.1.1" | |
[[deps.Distributed]] | |
deps = ["Random", "Serialization", "Sockets"] | |
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" | |
[[deps.DocStringExtensions]] | |
deps = ["LibGit2"] | |
git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" | |
uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" | |
version = "0.9.3" | |
[[deps.Downloads]] | |
deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] | |
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" | |
version = "1.6.0" | |
[[deps.Enzyme]] | |
deps = ["CEnum", "EnzymeCore", "Enzyme_jll", "GPUCompiler", "LLVM", "Libdl", "LinearAlgebra", "ObjectFile", "Printf", "Random"] | |
git-tree-sha1 = "6249c3e023101edeb71e5c476c8945bd078e29e2" | |
uuid = "7da242da-08ed-463a-9acd-ee780be4f1d9" | |
version = "0.10.18" | |
[[deps.EnzymeCore]] | |
deps = ["Adapt"] | |
git-tree-sha1 = "238032b8e2a02e06bc8e257ff9484a96db8fea1b" | |
uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" | |
version = "0.1.0" | |
[[deps.Enzyme_jll]] | |
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg", "TOML"] | |
git-tree-sha1 = "ab56cf1c49ca27bce4e4f7cc91889cedfe83bd03" | |
uuid = "7cc45869-7501-5eee-bdea-0790c847d4ef" | |
version = "0.0.48+1" | |
[[deps.ExprTools]] | |
git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" | |
uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" | |
version = "0.1.8" | |
[[deps.FileWatching]] | |
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" | |
[[deps.FillArrays]] | |
deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] | |
git-tree-sha1 = "d3ba08ab64bdfd27234d3f61956c966266757fe6" | |
uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" | |
version = "0.13.7" | |
[[deps.FoldingTrees]] | |
deps = ["AbstractTrees", "REPL"] | |
git-tree-sha1 = "d94efd85f2fe192cdf664aa8b7c431592faed59e" | |
uuid = "1eca21be-9b9b-4ed8-839a-6d8ae26b1781" | |
version = "1.2.1" | |
[[deps.ForwardDiff]] | |
deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] | |
git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" | |
uuid = "f6369f11-7733-5829-9624-2563aa707210" | |
version = "0.10.35" | |
weakdeps = ["StaticArrays"] | |
[deps.ForwardDiff.extensions] | |
ForwardDiffStaticArraysExt = "StaticArrays" | |
[[deps.GPUArrays]] | |
deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] | |
git-tree-sha1 = "a28f752ffab0ccd6660fc7af5ad1c9ad176f45f7" | |
uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" | |
version = "8.6.3" | |
[[deps.GPUArraysCore]] | |
deps = ["Adapt"] | |
git-tree-sha1 = "1cd7f0af1aa58abc02ea1d872953a97359cb87fa" | |
uuid = "46192b85-c4d5-4398-a991-12ede77f4527" | |
version = "0.1.4" | |
[[deps.GPUCompiler]] | |
deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "TimerOutputs", "UUIDs"] | |
git-tree-sha1 = "95185985a5d2388c6d0fedb06181ad4ddd40e0cb" | |
uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" | |
version = "0.17.2" | |
[[deps.IRTools]] | |
deps = ["InteractiveUtils", "MacroTools", "Test"] | |
git-tree-sha1 = "2af2fe19f0d5799311a6491267a14817ad9fbd20" | |
uuid = "7869d1d1-7146-5819-86e3-90919afe41df" | |
version = "0.4.8" | |
[[deps.InteractiveUtils]] | |
deps = ["Markdown"] | |
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" | |
[[deps.IrrationalConstants]] | |
git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" | |
uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" | |
version = "0.2.2" | |
[[deps.IteratorInterfaceExtensions]] | |
git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" | |
uuid = "82899510-4779-5014-852e-03e436cf321d" | |
version = "1.0.0" | |
[[deps.JLLWrappers]] | |
deps = ["Preferences"] | |
git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" | |
uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" | |
version = "1.4.1" | |
[[deps.JSON]] | |
deps = ["Dates", "Mmap", "Parsers", "Unicode"] | |
git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" | |
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" | |
version = "0.21.3" | |
[[deps.LLVM]] | |
deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] | |
git-tree-sha1 = "df115c31f5c163697eede495918d8e85045c8f04" | |
uuid = "929cbde3-209d-540e-8aea-75f648917ca0" | |
version = "4.16.0" | |
[[deps.LLVMExtra_jll]] | |
deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg", "TOML"] | |
git-tree-sha1 = "7718cf44439c676bc0ec66a87099f41015a522d6" | |
uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" | |
version = "0.0.16+2" | |
[[deps.LazyArtifacts]] | |
deps = ["Artifacts", "Pkg"] | |
uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" | |
[[deps.LibCURL]] | |
deps = ["LibCURL_jll", "MozillaCACerts_jll"] | |
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" | |
version = "0.6.3" | |
[[deps.LibCURL_jll]] | |
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] | |
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" | |
version = "7.84.0+0" | |
[[deps.LibGit2]] | |
deps = ["Base64", "NetworkOptions", "Printf", "SHA"] | |
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" | |
[[deps.LibSSH2_jll]] | |
deps = ["Artifacts", "Libdl", "MbedTLS_jll"] | |
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" | |
version = "1.10.2+0" | |
[[deps.Libdl]] | |
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" | |
[[deps.LinearAlgebra]] | |
deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] | |
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" | |
[[deps.LogExpFunctions]] | |
deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] | |
git-tree-sha1 = "0a1b7c2863e44523180fdb3146534e265a91870b" | |
uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" | |
version = "0.3.23" | |
[deps.LogExpFunctions.extensions] | |
LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" | |
LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" | |
LogExpFunctionsInverseFunctionsExt = "InverseFunctions" | |
[deps.LogExpFunctions.weakdeps] | |
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" | |
ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" | |
InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" | |
[[deps.Logging]] | |
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" | |
[[deps.MacroTools]] | |
deps = ["Markdown", "Random"] | |
git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" | |
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" | |
version = "0.5.10" | |
[[deps.Markdown]] | |
deps = ["Base64"] | |
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" | |
[[deps.MbedTLS_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" | |
version = "2.28.0+0" | |
[[deps.Missings]] | |
deps = ["DataAPI"] | |
git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" | |
uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" | |
version = "1.1.0" | |
[[deps.Mmap]] | |
uuid = "a63ad114-7e13-5084-954f-fe012c677804" | |
[[deps.MozillaCACerts_jll]] | |
uuid = "14a3606d-f60d-562e-9121-12d972cd8159" | |
version = "2023.1.10" | |
[[deps.NaNMath]] | |
deps = ["OpenLibm_jll"] | |
git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" | |
uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" | |
version = "1.0.2" | |
[[deps.NetworkOptions]] | |
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" | |
version = "1.2.0" | |
[[deps.ObjectFile]] | |
deps = ["Reexport", "StructIO"] | |
git-tree-sha1 = "55ce61d43409b1fb0279d1781bf3b0f22c83ab3b" | |
uuid = "d8793406-e978-5875-9003-1fc021f44a92" | |
version = "0.3.7" | |
[[deps.OffsetArrays]] | |
deps = ["Adapt"] | |
git-tree-sha1 = "82d7c9e310fe55aa54996e6f7f94674e2a38fcb4" | |
uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" | |
version = "1.12.9" | |
[[deps.OpenBLAS_jll]] | |
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] | |
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" | |
version = "0.3.21+4" | |
[[deps.OpenLibm_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "05823500-19ac-5b8b-9628-191a04bc5112" | |
version = "0.8.1+0" | |
[[deps.OpenSpecFun_jll]] | |
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] | |
git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" | |
uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" | |
version = "0.5.5+0" | |
[[deps.OrderedCollections]] | |
git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" | |
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" | |
version = "1.4.1" | |
[[deps.Parsers]] | |
deps = ["Dates", "SnoopPrecompile"] | |
git-tree-sha1 = "6f4fbcd1ad45905a5dee3f4256fabb49aa2110c6" | |
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" | |
version = "2.5.7" | |
[[deps.Pkg]] | |
deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] | |
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" | |
version = "1.10.0" | |
[[deps.Preferences]] | |
deps = ["TOML"] | |
git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" | |
uuid = "21216c6a-2e73-6563-6e65-726566657250" | |
version = "1.3.0" | |
[[deps.Printf]] | |
deps = ["Unicode"] | |
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" | |
[[deps.Profile]] | |
deps = ["Printf"] | |
uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" | |
[[deps.REPL]] | |
deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] | |
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" | |
[[deps.Random]] | |
deps = ["SHA", "Serialization"] | |
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" | |
[[deps.RealDot]] | |
deps = ["LinearAlgebra"] | |
git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" | |
uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" | |
version = "0.1.0" | |
[[deps.Reexport]] | |
git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" | |
uuid = "189a3867-3050-52da-a836-e630ba90ab69" | |
version = "1.2.2" | |
[[deps.Requires]] | |
deps = ["UUIDs"] | |
git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" | |
uuid = "ae029012-a4dd-5104-9daa-d747884805df" | |
version = "1.3.0" | |
[[deps.SHA]] | |
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" | |
version = "0.7.0" | |
[[deps.Serialization]] | |
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" | |
[[deps.SnoopPrecompile]] | |
deps = ["Preferences"] | |
git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" | |
uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" | |
version = "1.0.3" | |
[[deps.Sockets]] | |
uuid = "6462fe0b-24de-5631-8697-dd941f90decc" | |
[[deps.SortingAlgorithms]] | |
deps = ["DataStructures"] | |
git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" | |
uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" | |
version = "1.1.0" | |
[[deps.SparseArrays]] | |
deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] | |
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" | |
version = "1.10.0" | |
[[deps.SpecialFunctions]] | |
deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] | |
git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880" | |
uuid = "276daf66-3868-5448-9aa4-cd146d93841b" | |
version = "2.2.0" | |
weakdeps = ["ChainRulesCore"] | |
[deps.SpecialFunctions.extensions] | |
SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" | |
[[deps.StaticArrays]] | |
deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] | |
git-tree-sha1 = "2d7d9e1ddadc8407ffd460e24218e37ef52dd9a3" | |
uuid = "90137ffa-7385-5640-81b9-e52037218182" | |
version = "1.5.16" | |
[[deps.StaticArraysCore]] | |
git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" | |
uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" | |
version = "1.4.0" | |
[[deps.Statistics]] | |
deps = ["LinearAlgebra", "SparseArrays"] | |
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" | |
version = "1.9.0" | |
[[deps.StatsAPI]] | |
deps = ["LinearAlgebra"] | |
git-tree-sha1 = "f9af7f195fb13589dd2e2d57fdb401717d2eb1f6" | |
uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" | |
version = "1.5.0" | |
[[deps.StatsBase]] | |
deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] | |
git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" | |
uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" | |
version = "0.33.21" | |
[[deps.StructArrays]] | |
deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] | |
git-tree-sha1 = "b03a3b745aa49b566f128977a7dd1be8711c5e71" | |
uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" | |
version = "0.6.14" | |
[[deps.StructIO]] | |
deps = ["Test"] | |
git-tree-sha1 = "010dc73c7146869c042b49adcdb6bf528c12e859" | |
uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" | |
version = "0.3.0" | |
[[deps.SuiteSparse_jll]] | |
deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] | |
uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" | |
version = "5.10.1+6" | |
[[deps.TOML]] | |
deps = ["Dates"] | |
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" | |
version = "1.0.3" | |
[[deps.TableTraits]] | |
deps = ["IteratorInterfaceExtensions"] | |
git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" | |
uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" | |
version = "1.0.1" | |
[[deps.Tables]] | |
deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] | |
git-tree-sha1 = "c79322d36826aa2f4fd8ecfa96ddb47b174ac78d" | |
uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" | |
version = "1.10.0" | |
[[deps.Tar]] | |
deps = ["ArgTools", "SHA"] | |
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" | |
version = "1.10.0" | |
[[deps.Test]] | |
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] | |
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" | |
[[deps.TimerOutputs]] | |
deps = ["ExprTools", "Printf"] | |
git-tree-sha1 = "f2fd3f288dfc6f507b0c3a2eb3bac009251e548b" | |
uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" | |
version = "0.5.22" | |
[[deps.UUIDs]] | |
deps = ["Random", "SHA"] | |
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" | |
[[deps.Unicode]] | |
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" | |
[[deps.Zlib_jll]] | |
deps = ["Libdl"] | |
uuid = "83775a58-1f1d-513f-b197-d71354ab007a" | |
version = "1.2.13+0" | |
[[deps.Zygote]] | |
deps = ["AbstractFFTs", "ChainRules", "ChainRulesCore", "DiffRules", "Distributed", "FillArrays", "ForwardDiff", "GPUArrays", "GPUArraysCore", "IRTools", "InteractiveUtils", "LinearAlgebra", "LogExpFunctions", "MacroTools", "NaNMath", "Random", "Requires", "SparseArrays", "SpecialFunctions", "Statistics", "ZygoteRules"] | |
git-tree-sha1 = "e1af683167eea952684188f5e1e29b9cabc2e5f9" | |
uuid = "e88e6eb3-aa80-5325-afca-941959d7151f" | |
version = "0.6.55" | |
[[deps.ZygoteRules]] | |
deps = ["MacroTools"] | |
git-tree-sha1 = "8c1a8e4dfacb1fd631745552c8db35d0deb09ea0" | |
uuid = "700de1a5-db45-46bc-99cf-38207098b444" | |
version = "0.2.2" | |
[[deps.libblastrampoline_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" | |
version = "5.4.0+0" | |
[[deps.nghttp2_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" | |
version = "1.52.0+0" | |
[[deps.p7zip_jll]] | |
deps = ["Artifacts", "Libdl"] | |
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" | |
version = "17.4.0+0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[deps] | |
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" | |
Diffractor = "9f5e2b26-1114-432f-b630-d3fe2085c51c" | |
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" | |
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" | |
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Enzyme, Zygote, ForwardDiff, Diffractor, BenchmarkTools | |
function taylor(x, N) | |
sum = 0 * x | |
for i = 1:N | |
sum += x^i / i | |
end | |
return sum | |
end | |
const N = 10^4 | |
function test_enzyme_forward() | |
t = @benchmark Enzyme.autodiff(Forward, taylor, Duplicated(0.5, 1.0), N) | |
@info("Enzyme (forward)", t, N) | |
end | |
function test_enzyme_reverse() | |
t = @benchmark Enzyme.autodiff(Reverse, taylor, Active(0.5), N) | |
@info("Enzyme (reverse)", t, N) | |
end | |
function test_forwarddiff() | |
t = @benchmark ForwardDiff.derivative(x -> taylor(x, N), 0.5) | |
@info("ForwardDiff", t, N) | |
end | |
function test_zygote() | |
t = @benchmark Zygote.gradient(taylor, 0.5, N) | |
@info("Zygote", t, N) | |
end | |
function test_diffractor() | |
t = @benchmark Diffractor.gradient(taylor, 0.5, N) | |
@info("Diffractor", t, N) | |
end | |
if VERSION <= v"1.9" | |
test_enzyme_forward() | |
test_enzyme_reverse() | |
else | |
@warn("Skipping Enzyme tests, as they're broken on v1.10+") | |
end | |
test_forwarddiff() | |
test_zygote() | |
if VERSION > v"1.9" | |
test_diffractor() | |
else | |
@warn("Skipping Diffractor tests, as they're broken on v1.9-") | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment