Skip to content

Commit

Permalink
Merge pull request #374 from JuliaGPU/jps/tls-queue
Browse files Browse the repository at this point in the history
Switch to task-focused synchronization model
  • Loading branch information
pxl-th authored Apr 3, 2023
2 parents 9f7a182 + 6ba1613 commit ed61beb
Show file tree
Hide file tree
Showing 62 changed files with 4,681 additions and 1,555 deletions.
48 changes: 25 additions & 23 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
steps:
- label: "Documentation"
plugins:
- JuliaCI/julia#v1:
version: 1.9-nightly
command: |
julia --project -e '
println("--- :julia: Instantiating project")
using Pkg
Pkg.instantiate()
Pkg.build()
Pkg.activate("docs")
Pkg.instantiate()
push!(LOAD_PATH, @__DIR__)
println("+++ :julia: Building documentation")
include("docs/make.jl")'
agents:
queue: "juliagpu"
rocm: "*"
if: build.message !~ /\[skip docs\]/
timeout_in_minutes: 10
# - label: "Julia 1.8 - GPUArrays 8"
# plugins:
# - JuliaCI/julia#v1:
Expand Down Expand Up @@ -47,6 +68,7 @@ steps:
codecov: true
agents:
queue: "juliagpu"
julia_1.9: "*"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/
Expand All @@ -65,6 +87,7 @@ steps:
codecov: true
agents:
queue: "juliagpu"
julia_1.9: "*"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/
Expand All @@ -84,6 +107,7 @@ steps:
codecov: true
agents:
queue: "juliagpu"
julia_1.9: "*"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/
Expand Down Expand Up @@ -133,29 +157,7 @@ steps:
# JULIA_AMDGPU_HIP_MUST_LOAD: "1"
# JULIA_AMDGPU_DISABLE_ARTIFACTS: "1"

- label: "Documentation"
plugins:
- JuliaCI/julia#v1:
version: 1.9-nightly
command: |
julia --project -e '
println("--- :julia: Instantiating project")
using Pkg
Pkg.instantiate()
Pkg.build()
Pkg.activate("docs")
Pkg.instantiate()
push!(LOAD_PATH, @__DIR__)
println("+++ :julia: Building documentation")
include("docs/make.jl")'
agents:
queue: "juliagpu"
rocm: "*"
if: build.message !~ /\[skip docs\]/
timeout_in_minutes: 10

env:
JULIA_AMDGPU_LOGGING_ENABLED: true
SECRET_CODECOV_TOKEN: "lVqFGgrywYmQrILXBcP8i6TosP+q/W2oTDVLIdkWFWscd/a61oSVb8Tycq3qvngsrdmKU9EevdQo+1x+w7cu4IuTq63ahQc0RFgi4Q29hC52OgN2wFql984Cqq3T96P3jyV0ZljaRT+a+9AY0oWmmCph55amvvQ4DOMq3tfGDbp7gdueQvJmSYQGVT3/9Sjn4/esYppcKBGltQqQX2E7WrHLpnqRmsmjcSeZ/S/+PgPRb4ZnpBecAUP2d/MlPgKfP0ZUGbDlcbGu+ZDZNksxKIYuAlNrWPhpNAro7hACfEk4T5RRpNiwmJyXJZ8LUD8zNYIUKSmHjUtmqhNXgujWXA==;U2FsdGVkX1/v/P2Y7KZsvC55Au6eET37uDE6M5I6J275maix+SMD0EoJQ19cFp/lae+G8V7dvpPGfrh4hj2nOg=="
SECRET_DOCUMENTER_KEY: "U6oVBq1PrD/sdhH7ux++hQbZ4369GzmoHJpdsMEGnyGaM7peCwlHRO/Q81ZOHpg5Z3V/x5wtN2+NMW3+IfU/7pmUIdX61CjQ7INKBOCmPGz/i9LqW2TDFOK6fpTtqHYNz1nFjVXv7QRzr69/uZMTUM4Rou7vRlMYEJjEfCPDA/JyOK5983BZHgPiEv17WcY7ZilhylkHShkKzcuAF6D39huJiXLWxOWt+qFj8uA6SjDZddt4I0wmwKOBamiTMnxDvsnyzcMj21hm8/pIzZQK/C5DBPjtiayswJ7sYf0V335cak1yql/w0G8iI5hQgvteme09sPCXIvG5w1NPVpLgGw==;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"
SECRET_DOCUMENTER_KEY: "Z7qQ0/fkPqZNdY/CiipllaxOo9DeuS3PDmeQ+cnnvaNxv7WseZ+xzWZQw8qp9tVmCb5iTpf0Rr6TTUxCb4a6lxCyQxx3Qewmnl/KJOHFIB4OtBAYIm7trCK3IDL28snHdpN3w7+O4tcLPhRr0rSHy7/hKuACR5q2aC2liz6SbJhZzwpHPVdFxZS4xEG9R4tS4UThkwMR9vwBdi5mqrXip6sl0XXJYe1BTqaIKdr+FyGw8Rv9EIzrIb3wETH/7aZlJWRn7mHGKe+ZMp3EtVJvxCE6B8Mk8377H/wK+p+SL+QN01EjisxINemZLCCu3d0Bf0du72paldq9nMJspPAd/w==;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"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
*.jl.mem

docs/build
docs/Manifest.toml
Manifest.toml
LocalPreferences.toml
143 changes: 0 additions & 143 deletions docs/Manifest.toml

This file was deleted.

4 changes: 2 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Documenter, AMDGPU

using AMDGPU
using Documenter

function main()
ci = get(ENV, "CI", "") == "true"
Expand Down
58 changes: 38 additions & 20 deletions docs/src/devices.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,52 @@
# Devices/Agents

In AMDGPU, all GPU devices (also known as "agents" in HSA parlance) are
auto-detected by the runtime, if they're supported. There are three classes of
devices: CPU, GPU, and DSP. In AMDGPU, we only support compilation and
execution on GPU devices, so we will henceforth limit discussion to those;
auto-detected by the runtime, if they're supported.
There are three classes of devices:
- CPU
- GPU
- DSP

In AMDGPU, we only support compilation and execution on **GPU** devices,
so we will henceforth limit discussion to those;
however, you may see a `kind` `Symbol` available in the APIs of many device
access functions, which defaults to `:gpu`, but could also be `:cpu` or `:dsp`.

AMDGPU maintains a global default device. The default device is relevant for
all kernel and GPUArray operations; if one is not specified via `@roc` or an
equivalent interface, then the default device is used for those operations,
AMDGPU maintains a global default device.
The default device is relevant for all kernel and GPUArray operations;
if one is not specified via `@roc` or an equivalent interface,
then the default device is used for those operations,
which affects compilation and kernel launch.

The default device is accessible via `AMDGPU.get_default_agent()`. This
function returns an `ROCDevice`, which is a handle that references the device.
The list of available devices can be queried with `AMDGPU.get_agents()` to get
a list of all known and potentially usable devices. If you have an `ROCDevice`
object, you can also switch the default device via
`AMDGPU.set_default_agent!(agent)`.
!!! note "Task-Local Storage"
Since AMDGPU.jl relies on Task-Local Storage, this means that
default devices are default only within a given task.
Other tasks migh have different default devices if the user switched them.

The default device is accessible via [`AMDGPU.device()`](@ref).
This function returns a [`ROCDevice`](@ref), which is a handle that references the device.
The list of available devices can be queried with [`AMDGPU.devices`](@ref) to get
a list of all known and potentially usable devices.

If you have a [`ROCDevice`](@ref) object, you can also switch
the default device via [`AMDGPU.device!`](@ref).
This will switch it only within the task it is called from.

To select default device for newly created tasks,
use [`AMDGPU.default_device!`](@ref).

Additionally, devices have an associated numeric ID. The default device ID can
be queried with `AMDGPU.device()`, which returns an `Int`. This value is
bounded between `1` and `length(AMDGPU.get_agents())`, and device `1` is the
default device when AMDGPU is first loaded. The default device may be switched
with `AMDGPU.device!(idx)`.
Additionally, devices have an associated numeric ID.
The default device ID can be queried with [`AMDGPU.default_device_id`](@ref),
which returns an `Int`.
This value is bounded between `1` and `length(AMDGPU.devices())`,
and device `1` is the default device when AMDGPU is first loaded.

```@docs
AMDGPU.get_agents
AMDGPU.get_default_agent
AMDGPU.set_default_agent!
AMDGPU.devices
AMDGPU.device
AMDGPU.device!
AMDGPU.default_device
AMDGPU.default_device!
AMDGPU.default_device_id
AMDGPU.default_device_id!
```
Loading

0 comments on commit ed61beb

Please sign in to comment.