Skip to content

Commit 5ecfdbe

Browse files
committed
add deprecation notes
1 parent ba186da commit 5ecfdbe

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "KernelAbstractions"
22
uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
33
authors = ["Valentin Churavy <[email protected]> and contributors"]
4-
version = "0.9.33"
4+
version = "0.10.0-dev"
55

66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"

src/KernelAbstractions.jl

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ This allows for two different configurations:
6565
6666
!!! warn
6767
This is an experimental feature.
68+
69+
!!! note
70+
`cpu={true, false}` is deprecated for KernelAbstractions 1.0
6871
"""
6972
macro kernel(ex...)
7073
if length(ex) == 1
@@ -248,6 +251,9 @@ For storage that only persists between `@synchronize` statements, an `MArray` ca
248251
instead.
249252
250253
See also [`@uniform`](@ref).
254+
255+
!!! note
256+
`@private` is deprecated for KernelAbstractions 1.0
251257
"""
252258
macro private(T, dims)
253259
if dims isa Integer
@@ -263,6 +269,9 @@ end
263269
264270
Creates a private local of `mem` per item in the workgroup. This can be safely used
265271
across [`@synchronize`](@ref) statements.
272+
273+
!!! note
274+
`@private` is deprecated for KernelAbstractions 1.0
266275
"""
267276
macro private(expr)
268277
return esc(expr)
@@ -273,6 +282,9 @@ end
273282
274283
`expr` is evaluated outside the workitem scope. This is useful for variable declarations
275284
that span workitems, or are reused across `@synchronize` statements.
285+
286+
!!! note
287+
`@uniform` is deprecated for KernelAbstractions 1.0
276288
"""
277289
macro uniform(value)
278290
return esc(value)
@@ -316,6 +328,8 @@ Access the hidden context object used by KernelAbstractions.
316328
!!! warn
317329
Only valid to be used from a kernel with `cpu=false`.
318330
331+
!!! note
332+
`@context` will be supported on all backends in KernelAbstractions 1.0
319333
```
320334
function f(@context, a)
321335
I = @index(Global, Linear)
@@ -464,6 +478,9 @@ Abstract type for all GPU based KernelAbstractions backends.
464478
465479
!!! note
466480
New backend implementations **must** sub-type this abstract type.
481+
482+
!!! note
483+
`GPU` will be removed in KernelAbstractions v1.0
467484
"""
468485
abstract type GPU <: Backend end
469486

@@ -475,6 +492,9 @@ Instantiate a CPU (multi-threaded) backend.
475492
## Options:
476493
- `static`: Uses a static thread assignment, this can be beneficial for NUMA aware code.
477494
Defaults to false.
495+
496+
!!! note
497+
`CPU` will be aliased to `POCLBackend()` on KernelAbstractions v1.0
478498
"""
479499
struct CPU <: Backend
480500
static::Bool
@@ -485,6 +505,9 @@ end
485505
isgpu(::Backend)::Bool
486506
487507
Returns true for all [`GPU`](@ref) backends.
508+
509+
!!! note
510+
`isgpu` will be removed in KernelAbstractions v1.0
488511
"""
489512
isgpu(::GPU) = true
490513
isgpu(::CPU) = false
@@ -504,8 +527,6 @@ function get_backend end
504527
# Should cover SubArray, ReshapedArray, ReinterpretArray, Hermitian, AbstractTriangular, etc.:
505528
get_backend(A::AbstractArray) = get_backend(parent(A))
506529

507-
get_backend(::Array) = CPU()
508-
509530
# Define:
510531
# adapt_storage(::Backend, a::Array) = adapt(BackendArray, a)
511532
# adapt_storage(::Backend, a::BackendArray) = a

src/pocl/pocl.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,9 @@ include("backend.jl")
6666
import .POCLKernels: POCLBackend
6767
export POCLBackend
6868

69+
import KernelAbstractions as KA
70+
KA.get_backend(::Array) = POCLBackend()
71+
72+
Adapt.adapt_storage(::POCLBackend, a::Array) = a
73+
6974
end

0 commit comments

Comments
 (0)