Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
46fbe29
Rely on on-device synchronization
pxl-th Apr 29, 2023
9570fc3
Finish
pxl-th Apr 30, 2023
e969e1f
Add scratch limiter back
pxl-th May 1, 2023
a1859aa
Avoid duplication in SyncState
pxl-th May 2, 2023
3f15a55
Cleanup
pxl-th May 2, 2023
aefd824
Synchronize on HIPEvents instead of streams
pxl-th May 3, 2023
fa3d770
Cleanup
pxl-th May 3, 2023
8992e5f
Comment out tests
pxl-th May 3, 2023
6295a80
Migrate to stream-ordered allocator for ROCArray
pxl-th May 4, 2023
a19cb4b
Add allocation limiter
pxl-th May 7, 2023
c25df61
Add HIP memory pool
pxl-th May 8, 2023
52cc14d
Fix HIP enums
pxl-th May 8, 2023
9b58a5c
Mark pool
pxl-th May 8, 2023
ef90a8d
Add allocation limiter
pxl-th May 10, 2023
ee44ecd
Add debug info
pxl-th May 11, 2023
435cffc
Initial HIP kernel support
pxl-th May 16, 2023
550f38e
Add HostBuffer
pxl-th May 18, 2023
01c1301
Use KernelState
pxl-th May 19, 2023
3b19edc
Support exceptions
pxl-th May 19, 2023
5345456
Convert at-roc macro to HIPKernel
pxl-th May 23, 2023
29628b7
Revert to previous compilation method
pxl-th May 23, 2023
fda15df
Use KernelState for OUtputContext
pxl-th May 24, 2023
5d04554
yield() or else!
pxl-th May 24, 2023
759e333
Add device at-printf support
pxl-th May 24, 2023
b407aa8
Refactor output context
pxl-th May 25, 2023
d6b14cb
Report exception frames
pxl-th May 25, 2023
fb3fc31
Cleanup
pxl-th May 25, 2023
4752773
Minor changes
pxl-th May 25, 2023
ce0ac94
Remove syncstate
pxl-th May 26, 2023
a313bb2
Cleanup
pxl-th May 26, 2023
8d52217
fix DEFAULT_HOSTCALL_TIMEOUT
vchuravy May 26, 2023
38ae5a9
make LLD_jll work
vchuravy May 26, 2023
5060146
Go back to GPUCompiler@0.19
vchuravy May 26, 2023
556407b
Do not rethrow in exception signaling
pxl-th May 26, 2023
bc31307
Use HIP occupancy API & do not specialize on shmem size in reduce ker…
pxl-th May 27, 2023
9b50a29
Up
pxl-th May 27, 2023
15656b2
Fix tests
pxl-th May 27, 2023
788a2e3
Update KA
pxl-th May 27, 2023
b330a84
Use Mem.HostBuffer instead of Mem.Buffer
pxl-th May 29, 2023
31711ca
Cleanup
pxl-th May 29, 2023
375cea8
Remove ROCQueue from TLS state
pxl-th May 29, 2023
407f92a
Add definitely_free method
pxl-th May 29, 2023
9640170
Handle HostCall at exit
pxl-th May 30, 2023
09ac9a4
Add profiling docs
pxl-th May 31, 2023
e3a32a5
Fix typo
pxl-th May 31, 2023
4ecfef0
Store ROCDeviceArray length in its struct
pxl-th May 31, 2023
7e2d6af
Do not cache bindeps config, do runtime discovery
pxl-th Jun 1, 2023
fda9d19
Add device_id! and use blocking synchronization
pxl-th Jun 2, 2023
0d7b21c
Escape device local array eltype
Jun 7, 2023
cf1a20f
Minor change
Jun 7, 2023
8e91462
Shrink memory pool if it overgrows hard limit
Jun 15, 2023
5d7534e
Fix zeroinit LDS
Jun 15, 2023
86cc64d
Cleanup
Jun 15, 2023
7d578cb
Remove unused HSA stuff
Jun 16, 2023
33158ca
[MIOpen] Use ROCArray instead of Workspace
Jun 20, 2023
6a1becd
[ROCKernels] Re-use compiled kernel when launching
Jun 20, 2023
5ab6784
Use 32-bit indices in mapreduce
Jun 20, 2023
d78ed6d
Store device in HIPModule
Jun 20, 2023
ae38e2c
Do not use HostCalls for exception reporting
Jun 20, 2023
2960fc3
Add notes
Jun 20, 2023
cecd050
Add notes
Jun 20, 2023
8baca6f
Rework exception reporting. Add exec-once gate
Jun 21, 2023
adcda44
More robust exception reporting
Jun 23, 2023
b96dcdb
Lock on unsafe_wrap
Jun 23, 2023
1fd3c4f
Comment-out exception reporting for now
Jun 25, 2023
6277e4b
Do not throw exceptions
Jun 25, 2023
b3862bc
Totally comment-out exceptions
Jun 25, 2023
f8ff40e
Signal exception
Jun 26, 2023
7d98e33
Revert
Jun 26, 2023
30a9e93
Minor change
pxl-th Jun 27, 2023
559e548
Update to GPUCompiler 0.21 & LLVM 6 (#437)
pxl-th Jun 28, 2023
3cfacaa
Cleanup
pxl-th Jun 28, 2023
70f2c7b
Fix device name
pxl-th Jun 28, 2023
ff70f57
Clarify memory limit error message
pxl-th Jun 28, 2023
c397a56
Update CI to Julia 1.9
pxl-th Jun 28, 2023
448d7ef
Force-inline exception-related functions
pxl-th Jun 28, 2023
34f9efb
Update tests
pxl-th Jun 29, 2023
bfd8612
Update docs
pxl-th Jun 29, 2023
fae3737
Update docs
pxl-th Jun 30, 2023
f2ea8bb
Introduce HostCallHolder & detect, start & pause global hostcalls
pxl-th Jun 30, 2023
6864493
Link device libraries in 'finish_ir!' stage
pxl-th Jul 1, 2023
6a9634d
Destroy global hostcall
pxl-th Jul 1, 2023
83af2a3
Cleanup
pxl-th Jul 1, 2023
b25cc54
Disable global hostcalls in tests
pxl-th Jul 3, 2023
d2e3d70
Fix compilation params
pxl-th Jul 3, 2023
d2dd762
Update docs
pxl-th Jul 4, 2023
08d58b4
Minor correction
pxl-th Jul 4, 2023
9e57629
Adapt printing hostcall to new interface
pxl-th Jul 5, 2023
f25cf1d
Trigger CI
pxl-th Jul 5, 2023
48d28c4
Trigger CI
pxl-th Jul 5, 2023
682222a
Trigger CI
pxl-th Jul 5, 2023
a5bf7ee
Trigger CI
pxl-th Jul 5, 2023
51e29c3
Use auto threads in CI
pxl-th Jul 5, 2023
63aae51
Use 8 threads in CI
pxl-th Jul 5, 2023
3a52f2e
Fix typo
pxl-th Jul 5, 2023
e869fec
Restrict CI to Navi 2 for now
pxl-th Jul 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 22 additions & 117 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,65 +18,28 @@ steps:
agents:
queue: "juliagpu"
rocm: "*"
rocmgpu: "gfx1031"
if: build.message !~ /\[skip docs\]/
timeout_in_minutes: 10
# - label: "Julia 1.8 - GPUArrays 8"
# plugins:
# - JuliaCI/julia#v1:
# version: 1.8
# - JuliaCI/julia-test#v1:
# - JuliaCI/julia-coverage#v1:
# codecov: true
# agents:
# queue: "juliagpu"
# rocm: "*"
# rocmgpu: "*"
# if: build.message !~ /\[skip tests\]/
# command: "julia --project -e 'using Pkg; Pkg.update()'"
# soft_fail: true
# timeout_in_minutes: 180
# env:
# JULIA_AMDGPU_CORE_MUST_LOAD: "1"
# JULIA_AMDGPU_HIP_MUST_LOAD: "1"
#
# - label: "Julia 1.8 - GPUArrays 8 - No artifacts"
# plugins:
# - JuliaCI/julia#v1:
# version: 1.8
# - JuliaCI/julia-test#v1:
# - JuliaCI/julia-coverage#v1:
# codecov: true
# agents:
# queue: "juliagpu"
# rocm: "*"
# rocmgpu: "*"
# if: build.message !~ /\[skip tests\]/
# command: "julia --project -e 'using Pkg; Pkg.update()'"
# soft_fail: true
# timeout_in_minutes: 180
# env:
# JULIA_AMDGPU_CORE_MUST_LOAD: "1"
# JULIA_AMDGPU_HIP_MUST_LOAD: "1"
# JULIA_AMDGPU_DISABLE_ARTIFACTS: "1"
#
- label: "Julia 1.9 - GPUArrays 8"
plugins:
- JuliaCI/julia#v1:
version: 1.9-nightly
- JuliaCI/julia-test#v1:
- JuliaCI/julia-coverage#v1:
codecov: true
agents:
queue: "juliagpu"
julia_1.9: "*"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/
command: "julia --project -e 'using Pkg; Pkg.update()'"
timeout_in_minutes: 180
env:
JULIA_AMDGPU_CORE_MUST_LOAD: "1"
JULIA_AMDGPU_HIP_MUST_LOAD: "1"

# - label: "Julia 1.9 - GPUArrays 8"
# plugins:
# - JuliaCI/julia#v1:
# version: 1.9-nightly
# - JuliaCI/julia-test#v1:
# - JuliaCI/julia-coverage#v1:
# codecov: true
# agents:
# queue: "juliagpu"
# julia_1.9: "*"
# rocm: "*"
# rocmgpu: "*"
# if: build.message !~ /\[skip tests\]/
# command: "julia --project -e 'using Pkg; Pkg.update()'"
# timeout_in_minutes: 180
# env:
# JULIA_AMDGPU_CORE_MUST_LOAD: "1"
# JULIA_AMDGPU_HIP_MUST_LOAD: "1"

- label: "Julia 1.9 - GPUArrays 8 - No Artifacts"
plugins:
Expand All @@ -89,74 +52,16 @@ steps:
queue: "juliagpu"
julia_1.9: "*"
rocm: "*"
rocmgpu: "*"
rocmgpu: "gfx1031"
if: build.message !~ /\[skip tests\]/
command: "julia --project -e 'using Pkg; Pkg.update()'"
timeout_in_minutes: 180
env:
JULIA_NUM_THREADS: 8
JULIA_AMDGPU_CORE_MUST_LOAD: "1"
JULIA_AMDGPU_HIP_MUST_LOAD: "1"
JULIA_AMDGPU_DISABLE_ARTIFACTS: "1"

- label: "Julia 1.9 - GPUArrays 8 - HIP Malloc"
plugins:
- JuliaCI/julia#v1:
version: 1.9-nightly
- JuliaCI/julia-test#v1:
- JuliaCI/julia-coverage#v1:
codecov: true
agents:
queue: "juliagpu"
julia_1.9: "*"
rocm: "*"
rocmgpu: "*"
if: build.message !~ /\[skip tests\]/
command: "julia --project -e 'using Pkg; Pkg.update()'"
timeout_in_minutes: 180
env:
JULIA_AMDGPU_CORE_MUST_LOAD: "1"
JULIA_AMDGPU_HIP_MUST_LOAD: "1"
JULIA_AMDGPU_USE_HIP_MALLOC_OVERRIDE: "1"

# - label: "Julia nightly - GPUArrays 8"
# plugins:
# - JuliaCI/julia#v1:
# version: nightly
# - JuliaCI/julia-test#v1:
# - JuliaCI/julia-coverage#v1:
# codecov: true
# agents:
# queue: "juliagpu"
# rocm: "*"
# rocmgpu: "*"
# if: build.message !~ /\[skip tests\]/
# command: "julia --project -e 'using Pkg; Pkg.update()'"
# soft_fail: true
# timeout_in_minutes: 180
# env:
# JULIA_AMDGPU_CORE_MUST_LOAD: "1"
# JULIA_AMDGPU_HIP_MUST_LOAD: "1"

# - label: "Julia nightly - GPUArrays 8 - No Artifacts"
# plugins:
# - JuliaCI/julia#v1:
# version: nightly
# - JuliaCI/julia-test#v1:
# - JuliaCI/julia-coverage#v1:
# codecov: true
# agents:
# queue: "juliagpu"
# rocm: "*"
# rocmgpu: "*"
# if: build.message !~ /\[skip tests\]/
# command: "julia --project -e 'using Pkg; Pkg.update()'"
# soft_fail: true
# timeout_in_minutes: 180
# env:
# JULIA_AMDGPU_CORE_MUST_LOAD: "1"
# JULIA_AMDGPU_HIP_MUST_LOAD: "1"
# JULIA_AMDGPU_DISABLE_ARTIFACTS: "1"

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=="
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- uses: julia-actions/setup-julia@v1
with:
# version: ${{ steps.julia_compat.outputs.version }}
version: "1.7-nightly"
version: "1.9"
- name: Pkg.add("CompatHelper")
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
- name: CompatHelper.main()
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci-julia-1.7.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: CI (Julia 1.7)
name: CI (Julia 1.9)
on:
push:
branches:
Expand All @@ -9,14 +9,14 @@ defaults:
run:
shell: bash
jobs:
CI-julia-1-7:
name: CI-julia-1-7
CI-julia-1-0:
name: CI-julia-1-9
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.7'
- '1.9'
os:
- ubuntu-latest
- macOS-latest
Expand Down
38 changes: 16 additions & 22 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "AMDGPU"
uuid = "21141c5a-9bdb-4563-92ae-f87d6854732e"
authors = ["Julian P Samaroo <jpsamaroo@jpsamaroo.me>", "Valentin Churavy <v.churavy@gmail.com>", "Anton Smirnov <tonysmn97@gmail.com>"]
version = "0.4.15"
version = "0.5.0"

[deps]
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"
Expand All @@ -19,14 +19,11 @@ LLVM_jll = "86de99a1-58d6-5da7-8064-bd56ce2e322c"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
MsgPack = "99f44e22-a591-53d1-9472-aa23ef4bd671"
ObjectFile = "d8793406-e978-5875-9003-1fc021f44a92"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Preferences = "21216c6a-2e73-6563-6e65-726566657250"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
ROCmDeviceLibs_jll = "873c0968-716b-5aa7-bb8d-d1e2e2aeff2d"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
TimespanLogging = "a526e669-04d3-4846-9525-c66122c55f63"
Expand All @@ -37,29 +34,26 @@ rocRAND_jll = "a6151927-a32b-54c0-bc8c-bbd7b3f1a996"
rocSPARSE_jll = "8c6ce2ba-659c-5ec7-ba4c-37596cf1f22a"

[compat]
AbstractFFTs = "0.5, 1.0"
AbstractFFTs = "1.0"
Adapt = "3.0"
BinaryProvider = "0.5"
CEnum = "0.2, 0.3, 0.4"
CEnum = "0.4"
ExprTools = "0.1"
GPUArrays = "6, 7, 8"
GPUCompiler = "0.19"
HIP_jll = "4, 5"
GPUArrays = "8"
GPUCompiler = "0.21"
HIP_jll = "5"
KernelAbstractions = "0.9.2"
LLD_jll = "12, 13, 14, 15"
LLVM = "5"
LLVM_jll = "12, 13, 14, 15"
LLD_jll = "14, 15"
LLVM = "6"
LLVM_jll = "14, 15"
MacroTools = "0.5"
MsgPack = "1"
ObjectFile = "0.3"
Preferences = "1"
ROCmDeviceLibs_jll = "4, 5"
Setfield = "0.5, 0.6, 0.7, 1.0"
SpecialFunctions = "1, 2"
ROCmDeviceLibs_jll = "5"
SpecialFunctions = "2"
TimespanLogging = "0.1"
UnsafeAtomicsLLVM = "0.1"
hsa_rocr_jll = "4, 5"
julia = "1.7"
rocBLAS_jll = "4, 5"
rocRAND_jll = "4, 5"
rocSPARSE_jll = "4, 5"
hsa_rocr_jll = "5"
julia = "1.9"
rocBLAS_jll = "5"
rocRAND_jll = "5"
rocSPARSE_jll = "5"
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
[docs-dev-url]: https://amdgpu.juliagpu.org/dev



## Quick start

AMDGPU.jl can be installed with the Julia package manager.
Expand All @@ -38,7 +37,7 @@ julia> import Pkg; Pkg.add("AMDGPU")

## Project Status

The package is tested against, and being developed for, Julia 1.7, 1.9, and above.
The package is tested against and being developed for Julia 1.9, and above.
*Julia 1.8 is not supported and should not be used with AMDGPU.jl, as Julia 1.8
cannot properly handle the code generated by AMDGPU.jl.*

Expand Down
6 changes: 0 additions & 6 deletions deps/.gitignore

This file was deleted.

Loading