Use GPUArraysCore - #213
Merged
Merged
Conversation
Before:
julia> @time_imports using RecursiveArrayTools
18.3 ms ┌ MacroTools
35.6 ms ┌ ZygoteRules
2.3 ms ┌ Compat
318.7 ms ┌ FillArrays
1320.3 ms ┌ StaticArrays
80.1 ms ┌ Preferences
86.5 ms ┌ JLLWrappers
373.9 ms ┌ LLVMExtra_jll
17.1 ms ┌ CEnum
485.5 ms ┌ LLVM
3.2 ms ┌ Adapt
2731.4 ms ┌ GPUArrays
11.8 ms ┌ DocStringExtensions
2.1 ms ┌ IfElse
72.5 ms ┌ RecipesBase
100.5 ms ┌ Static
6.0 ms ┌ ArrayInterfaceCore
164.4 ms ┌ ArrayInterface
13.0 ms ┌ ArrayInterfaceStaticArrays
208.8 ms ┌ ChainRulesCore
5503.5 ms RecursiveArrayTools
julia> @time_imports using RecursiveArrayTools
28.2 ms ┌ MacroTools
53.8 ms ┌ ZygoteRules
3.2 ms ┌ Compat
503.4 ms ┌ FillArrays
1715.4 ms ┌ StaticArrays
69.1 ms ┌ Preferences
103.9 ms ┌ JLLWrappers
500.3 ms ┌ LLVMExtra_jll
7.0 ms ┌ CEnum
265.1 ms ┌ LLVM
3.1 ms ┌ Adapt
2544.7 ms ┌ GPUArrays
16.1 ms ┌ DocStringExtensions
3.1 ms ┌ IfElse
265.8 ms ┌ RecipesBase
175.6 ms ┌ Static
8.1 ms ┌ ArrayInterfaceCore
222.9 ms ┌ ArrayInterface
3.6 ms ┌ ArrayInterfaceStaticArrays
175.3 ms ┌ ChainRulesCore
6228.5 ms RecursiveArrayTools
After:
julia> @time_imports using RecursiveArrayTools
30.9 ms ┌ MacroTools
54.5 ms ┌ ZygoteRules
2.3 ms ┌ Compat
299.2 ms ┌ FillArrays
1240.2 ms ┌ StaticArrays
7.3 ms ┌ DocStringExtensions
1.5 ms ┌ IfElse
43.5 ms ┌ RecipesBase
149.6 ms ┌ Static
5.2 ms ┌ ArrayInterfaceCore
195.5 ms ┌ ArrayInterface
3.3 ms ┌ Adapt
5.7 ms ┌ ArrayInterfaceStaticArrays
185.8 ms ┌ ChainRulesCore
10.2 ms ┌ GPUArraysCore
2169.1 ms RecursiveArrayTools
julia> @time_imports using RecursiveArrayTools
23.3 ms ┌ MacroTools
44.2 ms ┌ ZygoteRules
2.4 ms ┌ Compat
305.4 ms ┌ FillArrays
1015.0 ms ┌ StaticArrays
12.3 ms ┌ DocStringExtensions
2.0 ms ┌ IfElse
108.6 ms ┌ RecipesBase
134.0 ms ┌ Static
5.8 ms ┌ ArrayInterfaceCore
190.5 ms ┌ ArrayInterface
3.4 ms ┌ Adapt
5.2 ms ┌ ArrayInterfaceStaticArrays
273.1 ms ┌ ChainRulesCore
13.3 ms ┌ GPUArraysCore
2111.9 ms RecursiveArrayTools
ChrisRackauckas
added a commit
to JuliaArrays/ArrayInterface.jl
that referenced
this pull request
Jun 22, 2022
See the load time difference in SciML/RecursiveArrayTools.jl#213
This was referenced Jun 22, 2022
ChrisRackauckas
added a commit
that referenced
this pull request
Jun 25, 2022
Requires JuliaArrays/ArrayInterface.jl#325 ```julia @time_imports using SciMLBase 10.4 ms ┌ MacroTools 19.0 ms ┌ ZygoteRules 3.8 ms ┌ Compat 1.5 ms ┌ Adapt 3.7 ms ┌ ArrayInterfaceCore 2.0 ms ┌ StaticArraysCore 9.7 ms ┌ ArrayInterfaceStaticArraysCore 123.1 ms ┌ FillArrays 5.0 ms ┌ DocStringExtensions 18.2 ms ┌ RecipesBase 51.3 ms ┌ ChainRulesCore 4.0 ms ┌ GPUArraysCore 292.7 ms RecursiveArrayTools ``` Compare that to #213
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before:
julia> @time_imports using RecursiveArrayTools
18.3 ms ┌ MacroTools
35.6 ms ┌ ZygoteRules
2.3 ms ┌ Compat
318.7 ms ┌ FillArrays
1320.3 ms ┌ StaticArrays
80.1 ms ┌ Preferences
86.5 ms ┌ JLLWrappers
373.9 ms ┌ LLVMExtra_jll
17.1 ms ┌ CEnum
485.5 ms ┌ LLVM
3.2 ms ┌ Adapt
2731.4 ms ┌ GPUArrays
11.8 ms ┌ DocStringExtensions
2.1 ms ┌ IfElse
72.5 ms ┌ RecipesBase
100.5 ms ┌ Static
6.0 ms ┌ ArrayInterfaceCore
164.4 ms ┌ ArrayInterface
13.0 ms ┌ ArrayInterfaceStaticArrays
208.8 ms ┌ ChainRulesCore
5503.5 ms RecursiveArrayTools
julia> @time_imports using RecursiveArrayTools
28.2 ms ┌ MacroTools
53.8 ms ┌ ZygoteRules
3.2 ms ┌ Compat
503.4 ms ┌ FillArrays
1715.4 ms ┌ StaticArrays
69.1 ms ┌ Preferences
103.9 ms ┌ JLLWrappers
500.3 ms ┌ LLVMExtra_jll
7.0 ms ┌ CEnum
265.1 ms ┌ LLVM
3.1 ms ┌ Adapt
2544.7 ms ┌ GPUArrays
16.1 ms ┌ DocStringExtensions
3.1 ms ┌ IfElse
265.8 ms ┌ RecipesBase
175.6 ms ┌ Static
8.1 ms ┌ ArrayInterfaceCore
222.9 ms ┌ ArrayInterface
3.6 ms ┌ ArrayInterfaceStaticArrays
175.3 ms ┌ ChainRulesCore
6228.5 ms RecursiveArrayTools
After:
julia> @time_imports using RecursiveArrayTools
30.9 ms ┌ MacroTools
54.5 ms ┌ ZygoteRules
2.3 ms ┌ Compat
299.2 ms ┌ FillArrays
1240.2 ms ┌ StaticArrays
7.3 ms ┌ DocStringExtensions
1.5 ms ┌ IfElse
43.5 ms ┌ RecipesBase
149.6 ms ┌ Static
5.2 ms ┌ ArrayInterfaceCore
195.5 ms ┌ ArrayInterface
3.3 ms ┌ Adapt
5.7 ms ┌ ArrayInterfaceStaticArrays
185.8 ms ┌ ChainRulesCore
10.2 ms ┌ GPUArraysCore
2169.1 ms RecursiveArrayTools
julia> @time_imports using RecursiveArrayTools
23.3 ms ┌ MacroTools
44.2 ms ┌ ZygoteRules
2.4 ms ┌ Compat
305.4 ms ┌ FillArrays
1015.0 ms ┌ StaticArrays
12.3 ms ┌ DocStringExtensions
2.0 ms ┌ IfElse
108.6 ms ┌ RecipesBase
134.0 ms ┌ Static
5.8 ms ┌ ArrayInterfaceCore
190.5 ms ┌ ArrayInterface
3.4 ms ┌ Adapt
5.2 ms ┌ ArrayInterfaceStaticArrays
273.1 ms ┌ ChainRulesCore
13.3 ms ┌ GPUArraysCore
2111.9 ms RecursiveArrayTools