You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/index.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,28 @@ CurrentModule = ArrayInterface
6
6
7
7
Designs for new Base array interface primitives, used widely through scientific machine learning (SciML) and other organizations
8
8
9
+
## ArrayInterfaceCore
10
+
11
+
ArrayInterfaceCore is a smaller set of the ArrayInterface setup which defines the subset which has no compile time impact.
12
+
This for example includes simple functions like `ArrayInterfaceCore.zeromatrix` which have simple few dispatch definitions
13
+
and no dependency on other libraries such as Static.jl. Notably, Static.jl currently has issues with invalidations
14
+
(https://github.com/SciML/Static.jl/issues/52), and thus anything with static outputs are in the domain of ArrayInterface.jl
15
+
proprer.
16
+
17
+
## Subpackages
18
+
19
+
In order to remove the runtime impact of Requires.jl, ArrayInterface.jl uses a subpackaging system for defining interface support
20
+
for potential dependencies. These packages are:
21
+
22
+
- ArrayInterfaceBandedMatrices.jl
23
+
- ArrayInterfaceBlockBandedMatrices.jl
24
+
- ArrayInterfaceCUDA.jl
25
+
- ArrayInterfaceOffsetArrays.jl
26
+
- ArrayInterfaceTracker.jl
27
+
28
+
In order for ArrayInterface traits to be properly defined on these types, it is required that the downstream package depends on
29
+
and imports the correct subpackages.
30
+
9
31
## Inheriting Array Traits
10
32
11
33
Creating an array type with unique behavior in Julia is often accomplished by creating a lazy wrapper around previously defined array types (e.g. [composition by inheritance](https://en.wikipedia.org/wiki/Composition_over_inheritance)).
0 commit comments