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: README.md
+4-12Lines changed: 4 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ Julia offers countless advantages for a GPU array package.
15
15
E.g., we can use Julia's JIT to generate optimized kernels for map/broadcast operations.
16
16
17
17
This works even for things like complex arithmetic, since we can compile what's already in Julia Base.
18
+
This isn't restricted to Julia Base, GPUArrays works with all kind of user defined types and functions!
18
19
19
20
GPUArrays relies heavily on Julia's dot broadcasting.
20
21
The great thing about dot broadcasting in Julia is, that it
@@ -40,6 +41,7 @@ Checkout the examples, to see how this can be used to emit specialized code whil
40
41
41
42
In theory, we could go as far as inspecting user defined callbacks (we can get the complete AST), count operations and estimate register usage and use those numbers to optimize our kernels!
42
43
44
+
43
45
### Automatic Differentiation
44
46
45
47
Because of neuronal netorks, automatic differentiation is super hyped right now!
@@ -49,17 +51,7 @@ Making this work with GPUArrays will be a bit more involved, but the
49
51
first [prototype](https://github.com/JuliaGPU/GPUArrays.jl/blob/master/examples/logreg.jl) looks already promising!
50
52
There is also [ReverseDiffSource](https://github.com/JuliaDiff/ReverseDiffSource.jl), which should already work for simple functions.
51
53
52
-
#### Main type:
53
-
54
-
```Julia
55
-
type GPUArray{T, N, B, C} <:DenseArray{T, N}
56
-
buffer::B# GPU buffer, allocated by context
57
-
size::NTuple{N, Int}# size of the array
58
-
context::C# GPU context
59
-
end
60
-
```
61
-
62
-
#### Scope
54
+
# Scope
63
55
64
56
Current backends: OpenCL, CUDA, Julia Threaded
65
57
@@ -123,7 +115,7 @@ So please treat these numbers with care!
0 commit comments